{ JSDev.KR + React Korea : "The 1st Meetup" }
이종은
나는 자바스크립트를 개발자다.
한 가지 언어로 개발한다면 본인은 자바스크립트로 한다!사랑
자바스크립트를 안다고 생각하면 안된다 호기심을 가지고 자바스크립트를 아려고 이해해야한다Kyle Simpson => you don't know JS? / 자바스크립트 완벽가이드 6판
JS커뮤니티는 그 전부터 존재했다고 한다.
|
커뮤니티
같은 관심과 의식으로 환경을 공유하는 사회 집단이다 or 광장같은 관심사를 가진 누구나 묻고 답하고 나누는 공간이 되었으면 한다.
나는 커뮤니티를 통해
- 질문을 해본 적이 있다
- 답변을 해준 적이 있다
- 다른 사람이 내가 궁금한 질문을 하는 것을 본적이 있다.
질문 또한 다른 사람에게 도움을 주는 행동
- 질문은 자세한 정보로 정중하게
- 답변은 친절하게
- 질문에 답변을 받고 글을 지우지말자
신정규
리액트의 JSX에 분노하여 폴리머를 선택하였다.문제의식
문서? 런타임?충돌 : 종교 전쟁의 시작
W3CWHATWG
2007~2012
HTML5로 양 집단의 정의현재
기업이 개발하는 브라우저
- 크롬 / 엣지
기업 외 브라우저
- 파이어폭스
IOS
- 자기의 길을 걷는다
런타임 플랫폼의 현재
- HTML Import
- Shadow DOM
- Custom Elements
- Templates
Post-mobile era
모바일의 미래
- 후진국형 모바일 시장
런타임 플랫폼적 요소 (미래)
- WebUSB / WebBluetooth / WebMIDI
- Native Clients
- WebGL
- WebAssembly
-
WebPayments
-
Streams
-
RequestldleCallback
-
Passive event listener
-
ResourceHints
-
ImageBitmap
-
MediaRecorder
-
CSS Variaible
모두 크롬북을 만들다 만들어진것이다.
WebComponents
- HTML Import
- Shadow DOM
- Custom Element
- Templates
WebComponent.js
- polyfill 지원
- Lite 버전도 있다.
Polymer library
- HTML5 Component Library
- Web component기민함
- 재사용가능
- 구글의 모든 부분에 담겨있다
요약
- Polyfil 브라우저가 안되는 부분을 도와준다
- 양방향 바인딩
- 템플릿 + 스타일 + 코드정컴포넌트 상속지원(정확하게말하면 메서드 바인딩)
- 컴포넌트 상속지원(정확하게말하면 메서드 바인딩)
- 직관적인 구조
장점
- 올인원 솔루션
- WebComponent.js에 공헌
- Component-driven
- 크롬 부라우저에서는 네이티브지원
단점
- 크고 무겁다
- DOM Element 의존성 체크 오버헤드
- 불안정 (버전업으로 인한 컴포넌트 변화가 심하다)
관련 접근
-
Progressive Web App
- 웹을 앱처럼
- NodeJS에서 Service Worker 오프라인 지원
-
PRPL 패턴
- 초기에는 중요한 컴포넌트들만 푸시
- 첫 루트를 그림
김종광
Ext JS
- Angular나 React와는 다르게 Web Component가 하나 더 있다.
- Grid가 강력하다 (다양한 적용가능)
- 유행이 지난 기술은 분명하다 하지만 유용한 부분이 아직 존재한다.
김동우
스타트업 시작
- 비전공으로 시작한 개발자 누군가의 설득에 스타트업을 시작해버렸다..
- 스타트업이 잘 되지 않았다
스타트업은 모바일앱
-
앱을 만들기 시작
-
네이티브 역량이 되지 않아 JS모바일 앱 만들기 시작
-
Titanium & nodeJS & ParseServer를 시작
- 3개월만에 앱 제작 성공 (학원 어디가)
-
Web 시작 => React로 시작
JS확장성
- 데스크탑 : 일렉트론
- 게임 : 유니티
- IoT & Robot : NodeBots101, Cylon.JS
질의응답시간
-
리액트 네이티브로 IOS & Android 빌드 및 확장성?
-> 이종은 : 웹이 리액트로 되어있다면 무조건 리액트 네이티브가 좋다. 리액트 개발자가 있다면 더 좋다.
-> 게스트 : 충분히 상관없다. 속도도 괜찮다. 하지만 네이티브 코드가 늘어난다면 리액트 네이티브를 사용할 이유가 없다.
-
동적인 기능이나 페이지수가 많아지면 퍼포먼스가 어떤지 JS코드에 무리가 갈 것 같다.
-> 게스트 : 페이지가 70개고 D3를 사용했지만 성능적인 이슈를 겪은 적이 없다.
-> 이종은 : 리액트는 가상DOM에서 바뀐 부분만 변하기때문에 크게 걱정할 필요는 없다.
-
리액트 네이티브 팀원 구성이 어떤지 (이종은)
-> JS와 ES6를 알면 React를 배울때 어려운 점이 없다. 구조도 쉬우며 만드는 데 어려움을 느끼지 못했다.
-
모든 걸 자바스크립트로할때 김동우님이 뉴비와 단둘히 개발하면서 어떻게 관리해야할지
-> 뉴비는 Java 국비지원에 안드로이드 조금 배운 수준으로 JS활용하여 아주 작은 TodoList 만들 수 있는 수준이였다.
하지만 서로의 위치를 알려주는 어플을 타이타늄을 활용하여 스터디 차원에서 만들어보았다.
개인 스터디 2주 시간 부여 / 코드 기여 50%
결론적으로 뉴비도 할 수 있지만 IOS & Android에 대한 러닝커브가 심하다
(김종광)
-
리액트 네이티브의 JSX문법을 포기하고 ngJS해왔기때문에 ng를 해보려는 데 괜찮은 게 생각하는 지 확인받고 싶다
-> 게스트 : 장단점 명확하다!
앵귤러는 코드가 잘 분리되어있다(로직자체가 백엔드개발자가 접하기 좋다)
리액트는 그렇지 않다.
뷰에 초점을 둔다면 리액트 / 로직이 중요하다면 앵귤러
-> 게스트2 : JSX가 싫은 개발자들이 앵귤러로 넘어가는 데 폴리머를 보고 JSX도 중요하다 생각한다 꾹 참고 써보자
-> 이종은 : 앵귤러 경험은 없지만 백본 경험은 있다. 결국 의식의 흐름에 대한 차이라고 생각한다.
백본은 데이터를 고민하며 리액트는 화면에 어떻게 뿌리는 지가 생각한다.
이렇게 단순하게 생각하니 생각하기 좋다.
-
JS개발자분들 중 테스트 코드 작성하시는 분이 얼마나 되는 지 궁금하다
-> 1 / 10 정도였다.
-
리액트의 UI테스트는 어떻게 하나
-> 이종은 : NodeJS에서 서버사이드렌더링 후 비교해주는 테스트를 본 적이 있다.
UI 테스트는 명확하지가 않으며 너무나 변수가 많다.
-> 게스트 : 제스트라는 것이 있다고 들었다.
-> 게스트2 : UI단은 컴포넌트레벨에서만 할 수 있는 것 같다. 엔드투엔드는 힘들 것 같다. 테스트 코드 작성 시간이 굉장히 오래걸린다
하지만 그 테스트 코드로 데모를 하기는 굉장히 좋다.
-
리액트로 개편을 준비 중인데 SEO서비스가 중요한 서비스이라 고민이 많다.
-> 김동우 : 검색엔진에 대한 고민을 많이 해봤지만 결론적으로 서버사이드렌더링이 중요하다
검색엔진은 결국 스트링이다. 헬멧 라이브러리를 이용해서 세팅해놓으면 다 도와준다.
구글은 화면까지 읽어주고 네이버는 메타태그까지 읽어주더라.
핼멧만 이용하면 고민이 없다.
-
리액트 라우터 3->4 넘어가면서 변화가 너무 많은 데 서버사이드 렌더링을 어떻게 하는 것이 좋은지
-> 게스트 : 리액트코리아에 팁을 올렸었는데 리덕스를 사용해서 Ajax의 Promise를 담았다가
스토어에 넣은 다음에 렌더링에 전달해주는 방식을 사용했었다.
-> 김동우 : 리덕스 커넥트를 사용하였다.
맛있었던 샌드위치
## 자바스크립트 개발자 포럼 (JSDev.KR) ##자바스크립트 개발자 포럼은 JS, Parse, React, Titanium 등 다양한 주제로 포럼을
운영하고 있습니다. 자바스크립트에 관심 있는 개발자라면 누구나 참여 가능합니다.## React Korea (Facebook Group) ##React Korea는 국내외 React 소식과 팁을 공유할뿐만 아니라 질의응답도 가능한 자유로운 공간입니다.
Lucky Club - Lucky Club
답글삭제The Lucky Club casino was established in 2004. luckyclub.live In 2004, the casino was launched in Boca Raton, Florida. Casino Review: · No Rating · 7/10 · Review by Lucky Club · Lucky Club VIP