웹앱 개발은 언제나 결정장애가...

Diary 2017. 10. 9. 00:13 by 빠재

이번 게임 운영툴에 사용할 웹 개발환경을 확정지었다.

저번 게임에는 웹프레임워크를 다루는 것도 처음이고 해서 대충 go의 템플릿 기능과 jQuery, AngularJS를 어떻게 버무려서 만들어 놨었다. 대충 만들다보니 코딩 표준도 엉망이고 데이터 모양새나 통신 방법도 페이지마다 다르기 일쑤였다. 심지어 AngularJS는 중첩된 반복문의 경우 심각하게 느려진다는 단점이 존재했다. 때문에 앵귤러를 힘주어 만든 페이지의 경우 엄청나게 느리게 동작했다.


이번에는 제대로 하리라 다짐하고 앵귤러는 과감히 버리고 최근 힙했다는(?) ReactJS를 한번 넣어보았다(Angular 역시 새 버전이 계속 나오고 있지만 사실 새로운 것을 쓰고싶었…). 전에 앵귤러를 붙여봤으니 비슷하게 적용할 수 있지 않을까 했던 내 생각은 틀렸다. 물론 JSX나 ES6으로 짠 코드를 직접 웹서버에 올려 브라우저에서 런타임에 변환하는 방법도 있으나 웹브라우저에서 좀 더 빠르게 동작시키려면 babel이니 webpack의 css-loader같은 것들을 이용하여 미리 컴파일/변환시켜주는 과정이 있어야 했다. 확실히 이전 AngularJS때보다는 개발과정도 명확해졌다. 하지만 학습곡선은 분명히 있다.


예전에 봤던 2016년에 자바스크립트를 배우는 기분이 다시금 생각난다. 처음 읽을 때는 거의 읽을 수가 없었는데 이제는 1/4은 뭐가 뭔지 알 수 있을 것 같다;;

이제서야 빌드 과정 정립이 끝났다. 뭐 노드 진영의 어마무시한 툴들을 파다보면 더 발전시킬 여지는 있겠지만 일단은 웹앱 빌드하고 서버 빌드하는 두단계로 정리가 됐으니 일단은 만족.


여담으로 go언어로 자바스크립트를 구현한 goja라는 것을 이용하면 지금 만들어져있는 go서버에서 React 페이지를 렌더링해주는 것도 가능하다. 하지만 라이브러리 이름이 영 좋지 않기도 하고 어차피 운영툴인데 그것까지 해서 뭐하나 싶기도 해서 일단은 패스.

'Diary' 카테고리의 다른 글

170924 - 블로그 개편 중  (0) 2017.09.24
Nav
1" /> ···" /> 18" /> 19" /> 20" /> 21" /> 22" /> 23" /> 24" /> ···" /> 76" />