React Native Monthly #3
· 8 min read
React Native 월간 미팅이 계속됩니다! 이번 달 미팅은 대부분의 팀이 출시 작업으로 바빠서 조금 짧게 진행됐습니다. 다음 달에는 폴란드 브로츠와프에서 열리는 React Native EU 컨퍼런스에 참석합니다. 티켓을 구매하고 현장에서 만나요! 그동안 우리 팀이 어떤 일을 하고 있는지 살펴보겠습니다.
팀 소개
세 번째 모임에는 다음 5개 팀이 참여했다:
노트
각 팀의 노트는 다음과 같습니다:
Callstack
- 최근 오픈소스로 공개한
react-native-material-palette
는 이미지에서 주요 색상을 추출해 시각적으로 매력적인 앱을 만들 수 있도록 도와준다. 현재는 Android만 지원하지만, 향후 iOS 지원도 추가할 계획이다. haul
에 HMR(Hot Module Replacement) 지원을 추가했고, 여러 멋진 기능도 함께 포함했다. 최신 릴리즈를 확인해 보자.- React Native EU 2017이 다가온다! 다음 달은 폴란드에서 React Native에 관한 모든 것을 다룰 예정이다. 남은 티켓을 여기에서 서둘러 구매하자.
Expo
- Snack에서 npm 패키지 설치를 지원한다. 기존 Expo 제한 사항이 적용되며, 패키지는 Expo에 포함되지 않은 커스텀 네이티브 API에 의존할 수 없다. 또한 Snack에서 여러 파일 지원과 에셋 업로드 기능을 추가하기 위해 작업 중이다. Satyajit이 React Native Europe에서 Snack에 대해 발표할 예정이다.
- SDK20을 출시했다. 카메라, 결제, 보안 스토리지, 자기계, 파일 다운로드 일시 중지/재개 기능, 그리고 스플래시/로딩 화면 개선이 포함된다.
- Krzysztof와 함께 react-native-gesture-handler 작업을 계속 진행 중이다. PanResponder나 네이티브 제스처 인식기를 사용해 이전에 구현한 제스처를 다시 만들어 보고, 문제가 발생하면 알려달라고 요청한다.
- JSC 디버깅 프로토콜을 실험 중이며, Canny에서 다양한 기능 요청을 처리하고 있다.
Facebook
- 지난달에는 GitHub 이슈 트래커 관리에 대해 논의했고, 프로젝트의 유지 보수성을 개선하기 위해 노력하겠다고 이야기했다.
- 현재 오픈된 이슈 수는 약 600개 수준으로 유지되고 있으며, 당분간 이 상태가 계속될 것으로 보인다. 지난달 동안 활동이 없는 이슈(최근 60일 동안 댓글이 없는 경우) 690개를 닫았다. 이 중 58개 이슈는 다양한 이유로 다시 열렸다(메인테이너가 수정을 약속하거나, 기여자가 이슈를 계속 열어둘 만한 타당한 이유를 제시한 경우).
- 당분간 활동이 없는 이슈를 자동으로 닫는 정책을 계속 유지할 계획이다. 이슈 트래커에 등록된 모든 중요한 이슈가 적절히 처리되는 상태를 목표로 하고 있지만, 아직 그 수준에는 이르지 못했다. 메인테이너들의 도움이 절실하다. 특히 새로 생성된 프로젝트에 영향을 미치는 회귀 버그나 주요 변경 사항을 놓치지 않도록 이슈를 분류하고 관리해야 한다. 도움을 주고 싶은 사람은 Facebook GitHub Bot을 사용해 이슈와 풀 리퀘스트를 분류할 수 있다. 새로운 메인테이너 가이드에는 이슈 분류와 GitHub Bot 사용 방법에 대한 자세한 정보가 포함되어 있다. 이슈 태스크 포스에 참여하고, 다른 활발한 커뮤니티 멤버들도 참여하도록 독려해 주길 바란다!
마이크로소프트
- 새로운 Skype 앱은 플랫폼 간 코드 공유를 최대화하기 위해 React Native를 기반으로 개발되었다. React Native 기반의 Skype 앱은 현재 Android와 iOS 앱 스토어에서 이용 가능하다.
- Skype 앱을 React Native로 개발하면서, 발견한 버그와 누락된 기능을 해결하기 위해 React Native에 풀 리퀘스트를 보냈다. 지금까지 약 70개의 풀 리퀘스트가 병합되었다.
- React Native를 통해 Android와 iOS Skype 앱을 동일한 코드베이스로 구동할 수 있었다. 이 코드베이스를 Skype 웹 앱에도 활용하고자 한다. 이를 위해 React/React Native 위에 얇은 레이어인 ReactXP를 개발하고 오픈소스로 공개했다. ReactXP는 iOS/Android를 타겟팅할 때는 React Native로, 웹을 타겟팅할 때는 react-dom으로 매핑되는 크로스 플랫폼 컴포넌트를 제공한다. ReactXP의 목표는 React Native for Web이라는 오픈소스 라이브러리와 유사하다. 두 라이브러리의 접근 방식 차이에 대한 간단한 설명은 ReactXP FAQ에서 확인할 수 있다.
Shoutem
- Shoutem을 사용해 앱을 개발할 때 개발자 경험을 개선하고 단순화하기 위한 노력을 계속하고 있다.
- 모든 앱을 react-navigation으로 마이그레이션하기 시작했지만, 더 안정적인 버전이 출시되거나 네이티브 네비게이션 솔루션 중 하나가 안정화될 때까지 이 작업을 연기하기로 결정했다.
- 모든 extensions과 대부분의 오픈소스 라이브러리(animation, theme, ui)를 React Native 0.47.1로 업데이트하고 있다.
다음 세션
다음 세션은 2017년 9월 13일 수요일에 예정되어 있다. 이번이 세 번째 모임이므로, 이 노트가 React Native 커뮤니티에 어떻게 도움이 되는지 알고 싶다. 모임 결과물을 개선할 방법에 대한 제안이 있다면 트위터를 통해 언제든지 연락해 주세요.