Vuetiful Korea 세 번째 밋업 참가 후기!

- 마루180


Virtual dom to render (우경화 @뉴링크)

- DOM and Virtual DOM 
 Document 내부의 태그에 대한 정의와 api를 규격화 한 모델.
 and
 DOM을 본따 만든 JavaScript Object.
- Virtual Dom prevents bad performance 
 Virtual DOM도 결국 DOM에 patch가 되어야 하니 DOM을 직접 제어하는 코드보다 빠를 수 없다.
- SnabbDom 
 가장 신기했던 부분이었다.
 기존에 React & Vue에서 제공하는 VirtualDOM을 더 강력하게 만든다.
 코드는 그렇게 어려워 보이지 않았으며 Hook과 patch function을 활용한 방법이 재미있었다.
| 1 | // 선택된 모듈과 함께 patch function 초기화 | 
- Vue render function 
 vnode는 유일무이해야함- 1 
 2
 3
 4
 5
 6
 7
 8- render: function (h) { 
 var vm = this // this는 현재의 component를 가리킴
 var myHi = h('p', 'hi')
 return h( 'div' , … //tag
 { … //data object class, staticClass, style, }⁰,
 [myHi, Object.assign({}, myHi)¹]) //children
 }
- patch function 
 VNode의 변화만 보기 때문에 요소에는 관심이 없다.
 OLD VNode & NEW VNode로 나뉘게 된다.
 리렌더링 => 라이브러리에서 적용한 상태값들이 사라질 수 있음
| 1 | // vnode 생성 핼퍼 함수 | 
리렌더링이 => 라이브러리에서 적용한 상태값들이 사라질 수 있음
- Vue process
 실데이이터는 get, set으로 쓰임
 watch에 설정된 경우에만 컴포넌트의 렌더링 관여하는 Watcher 객체 생성
keep alive를 주로 활용하였다는 데 Life Cycle과 관련이 있는 걸로 보인다.
마지막 한마디 => Vue is JavaScript
결과를 아는 것 < 왜 그렇게 되는 것인지 이해 === Vue를 더 잘 쓸 수 있는 방법
우경화님의 예제 : https://kellywoo.github.io/vnode
SnabbDom : https://github.com/snabbdom/snabbdom
발표자료 : https://docs.google.com/presentation/d/1CicMIDXECBg_5Y7TnAf-iF4uXW7PrDoUfAM6hpBCulI/edit?usp=sharing
Vue.js로 Unit Test하기 (박성호 @마이리얼트립)

- TDD를 도입하게 된 계기 
 웹과 앱을 통신하는 복잡한 과정을 개선하기 위해 테스트를 도입하기로 결정
- 테스트 도구 선택 
 다양한 선택 중 VueCLI의 Karma & Mocha를 선택
- 테스트의 종류 
 TDD라고 다 같은 테스트가 아니다.
 테스트의 종류는 다양하기 때문에 다 하는 게 좋다.
- 컴포넌트 테스트 
 VueCLI의 초기화면 테스트를 예를 들어 보여준 후 간단한 Todo 앱의 컴포넌트 테스트를 보여주었다
 Vue.nextTick을 활용할 것을 추천했다.
발표자료 : https://docs.google.com/presentation/d/1nOcis4xOElGXpuOTq2mSHQVxIWXzgkaIXKppXpbT5w0/edit?usp=sharing
PWA 시작하기 (최준석 @NHN 벅스)

- 지루한 pwa 설명 
 모든 브라우저 && 모든 디바이스
 오프라인 작동 가능 & 앱과 유사하다
 업데이트 프로세스 => 최신 상태 유지
 HTTPS 제공
 설치 가능
 레진코믹스나 AWS는 사용 중
- application shell 
 캐시 사용 => 빠른 로딩 속도
 컨텐츠 동적 이용
 정말 사용해야 하는 기본적인 구성(데이터, 리소스)만 넣어야 한다
참조 : https://developers.google.com/web/fundamentals/architecture/app-shell?hl=ko
- 서비스 워커
 브라우저가 백그라운드에서 실행하는 스크립트
 설치
 푸시 알림
 백그라운드 동기화
참조 : https://developers.google.com/web/fundamentals/primers/service-workers/?hl=ko
- 사용하면서 어려웠던 부분
- SWPrecacheWebpackPlugin
 기본적인 설정 내용에 따라 추가 Service Worker를 자동으로 생성
- 기본으로 앱 코드 안에 서비스워커를 등록시켜주는 register & Service Worker 파일 필요
- vue-pwa-template의 dev버전에 register 부분은 없다.
- Production register => Service Worker를 자동 생성 (설정필요)
- 튜토리얼대로만 하면 될 정도로 간단하다고 한다.
발표자료 : http://jicjjang.github.io/2017/11/30/vue-pwa-start
스폰서 광고

- 많은 프론트엔드 개발자의 지원을 기다리고 있다고 한다.
 (Vuetiful Korea 세 번째 밋업의 간식 후원)
OX 퀴즈 (Bob Lee)

- 전체적으로 문제가 너무 어려웠다…

Q&A
- Q : PWA 개발 후 패키징은 뭐로 하나요? cordova? 같은 걸까요? 요즘 핫한게 뭐가 있는지 궁금합니다. 
 A : 앱스토어 배포가 필요 없다. 레진코믹스를 예로 설명
- Q : PWA의 Push는 firebase를 이용하신 건가요? 
 A : Yes!
- Q : react native처럼 vue로도 native app을 만들수 있는 뭔가가 있다고 들었는데, 
 용어가 기억이 안납니다. 아시는 분 언급좀 부탁드려요!
 이승민 : Weex!
- Q : Vue가 Angular에 비해 낫다고 생각하는 점을 설명해주세요 
 이선협 : 당연히 좋다.
 TypeScript와 Angular는 어렵고 인기 또한 깃헙 Star까지 Vue가 높다
- Q : 저희도 Vue.js 하는 사람 뽑아요.. 
 A : 웍스모바일에서 뽑는다고 한다
- Q : 서비스에 PWA 적용하니 정말 좋나요? 실서비스 사례도 궁금해요 
 최준석 : pwa 발표자입니다. 실서비스에서 안써봤습니다 흑흑 회사에서 vue 안씁니다…
Vue 한국 사용자 모임
- Github : https://github.com/vuejs-kr
- Facebook : https://www.facebook.com/groups/1152461054807344
- 블로그 : http://vuejs.kr
- Slack : https://vuejs-korea.signup.team
