ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Blazor를 써봤음.
    짧은경험기 2022. 1. 7. 23:47

    프로젝트 수준

    • . net5,. net6 버전의 blazor server기준
    • 서버 관리, 모니터링, 알람 등을 위한 웹서버
    • Entity Framework Core, MySQL 사용
    • js를 이용하여 화면에 차트를 생성하고 주기적으로 갱신함.
    • authentication는 적용 중

    프로젝트 진행 중 느낀 점

    1.  js를 안 쓸 수 없다. C#으로 프론트와 백 모두 다룬다는 개념은 좋아 보였고 실제로도 많은 것이 가능했다. 그러나, 프론트에서 자주 쓰이는 chart.js 같은 라이브러리를 쓰려면 결국엔 js사용이 깊어진다. chart.js를 blazor에서 쓸 수 있도록 포팅한 오픈소스가 있지만, 업데이트가 끊긴 지 약 1년 정도 되었다.

      프론트에서 쓰기 좋은 라이브러리들은 js로 되어있고, 이것을 C#으로 가져와야 하는데, 가져오는 품보다 js를 직접 호출하는 품이 적다. js를 버리고 오로지 C#이 아니라, C#과 Razor컴포넌트를 이용하여 js만 썼을 때의 단점을 보완하는 방식으로 가는 게 좋은 방향이라고 생각한다. 

    2. Razor 컴포넌트 개념과 컴파일러가 만나서 컴파일러 수준에서 에러와 경고를 잘 띄워준다. 컴파일러가 띄워주는 에러와 경고를 다 없애는 방향으로 갈수록 런타임 안정성도 확보할 수 있었다. 

    3. 공식 문서가 좋다. 모르는 것 있으면 공식문서 보면 되고, 공식문서에 베스트 프랙티스처럼 사용법부터 주의할 점, 개념 설명까지 잘 되어있다. 특히, 비동기 처리 부분의 설명이 무척 좋았다.

    .net5 vs .net6

    .net6가 설정에 대한 압박감이 덜했다. .net5을 이용하여 블레이저 프로젝트를 만들면, 프로젝트에 꽤 많은 파일들이 생성된다. 생성된 파일들 중에서, Program.cs와 Startup.cs 파일을 이용하여 기본적인 설정들을 다루는데, 이것이 처음에도 그리고 사용하던 시기에도 복잡하게 느껴졌다. A라는 설정을 할 때는 어느 클래스의 어느 메서드 안에서 해야 하는 것인지, 특정 메서드를 오버라이딩해서 설정을 해야 하는 것인지 등등... net6는 Startup.cs가 사라지고 Program.cs 하나만 남았다. 편하게 느껴졌는데, 익숙해져 그런 것도 있지만 기본적으로 좀 편해진 감이 있다. 

    Blazor를 다른 프로젝트에서도 사용할 것인지

    현재까지 매우 긍정적이다. 이 프로젝트에서 특별한 문제점이 없다면, 다른 프로젝트에서도 계속 사용할 생각이다. 팀에서도 C#을 써왔기에 괜찮을 것으로 보인다.

     

    그리고, 다른 웹 서버 프레임워크와 비교할 수 있다면 좋겠지만, 경험이 적다. 여태 웹 서버를 다룰 땐, node.js와 php를 주로 사용해왔다. node.js는 express를 주로 썼지만, 비교해볼 만큼 알진 못하다. php는 CI, 라라벨 같은 프레임워크를 써보지 않았기에 비교할 수 없다. 경험해본 것들 중에서 웹 서버 개발 트렌드에 가장 가까운 것이 Blazor라 비교할 재료들이 하나도 없다... 

    참고

    '짧은경험기' 카테고리의 다른 글

    업무일지를 지속적으로 써본 소감  (0) 2022.06.06
    글 쓰는 시즌이 또 끝났다.  (0) 2022.01.15
    업무일지 작성 한달 소감  (0) 2021.10.03
    업무일지를 쓰기 시작했다.  (0) 2021.09.12
    IOT는 어렵다  (0) 2021.04.19

    댓글

Designed by Tistory.