Skip to main content

React Native Monthly #6

· 7 min read
Tomislav Tenodi
Speck 창립자

리액트 네이티브 월간 미팅은 여전히 활발히 진행 중이다! 다음 세션에 대한 안내는 이 글의 하단에 있는 노트를 꼭 확인하길 바란다.

Expo

  • Devin AbbottHoussein Djirdeh가 "Full Stack React Native" 책의 프리릴리즈를 발표한 것을 축하한다! 이 책은 여러 작은 앱을 만들어가며 React Native를 배우는 과정을 안내한다. 책을 구매하기 전에 https://www.fullstackreact.com/react-native/에서 해당 앱들을 직접 시험해볼 수 있다.

  • ReasonML을 쉽게 시도해볼 수 있도록 도와주는 reason-react-native-scripts의 첫 번째(실험적) 버전을 출시했다.

  • Expo SDK 24가 출시되었다! 이번 버전은 React Native 0.51을 기반으로 하며, 여러 새로운 기능과 개선사항을 포함한다: 스탠드얼론 앱에서 이미지 번들링(첫 로드 시 캐시할 필요 없음!), 이미지 조작 API(자르기, 크기 조정, 회전, 뒤집기), 얼굴 인식 API, 새로운 릴리스 채널 기능(특정 채널에 대한 활성 릴리스 설정 및 롤백), 스탠드얼론 앱 빌드를 추적할 수 있는 웹 대시보드, OpenGL Android 구현과 Android 멀티태스커의 오랜 버그 수정 등이 있다.

  • 이번 1월부터 React Navigation에 더 많은 리소스를 할당하기로 했다. React 컴포넌트와 Animated, react-native-gesture-handler 같은 기본 요소만으로 React Native 네비게이션을 구축하는 것이 가능하고 바람직하다고 강력히 믿으며, 계획된 몇 가지 개선사항에 대해 매우 기대하고 있다. 커뮤니티에 기여하고 싶다면 react-native-mapsreact-native-svg를 확인해보길 바란다. 두 프로젝트 모두 도움이 필요하다!

Infinite Red

Microsoft

  • 풀 리퀘스트가 시작되어 React Native Windows 브릿지를 .NET Standard로 마이그레이션하는 작업이 진행 중이다. 이로 인해 OS에 구애받지 않는 구조로 변환될 전망이다. 이 작업이 완료되면 다양한 .NET Core 플랫폼에서 자체 스레딩 모델, JavaScript 런타임, 그리고 UIManager를 활용해 브릿지를 확장할 수 있게 된다. 예를 들어 JavaScriptCore, Xamarin.Mac, Linux Gtk#, 그리고 Samsung Tizen 같은 옵션들이 가능해진다.

Wix

  • Detox

    • E2E 테스트를 확장하기 위해 CI 시간을 최소화하려고 노력 중이다. 이를 위해 Detox의 병렬화 지원을 개발 중이다.
    • E2E에서 모킹을 더 잘 지원하기 위해 커스텀 플레이버 빌드를 지원하는 풀 리퀘스트를 제출했다.
  • DetoxInstruments

    • DetoxInstruments의 핵심 기능을 개발하는 것은 매우 도전적인 작업이다. 특정 시점에 JavaScript 백트레이스를 얻기 위해서는 JS 스레드 일시 중단을 지원하는 커스텀 JSCore 구현이 필요하다. Wix 앱에서 프로파일러를 테스트한 결과 JS 스레드에 대한 흥미로운 통찰을 얻었다.
    • 이 프로젝트는 아직 일반 사용에 충분히 안정적이지 않지만, 활발히 개발 중이며 곧 공개할 예정이다.
  • React Native Navigation

    • V2 개발 속도가 크게 증가했다. 지금까지는 1명의 개발자가 20%의 시간을 할애했지만, 이제는 3명의 개발자가 풀타임으로 작업 중이다.
  • Android 성능

    • RN에 번들된 구버전 JSCore를 최신 버전(webkitGTK 프로젝트의 최신 버전, 커스텀 JIT 설정 포함)으로 교체했더니 JS 스레드 성능이 40% 향상되었다. 다음 단계는 64비트 버전을 컴파일하는 것이다. 이 작업은 JSC 빌드 스크립트 for Android를 기반으로 한다. 현재 진행 상황은 여기에서 확인할 수 있다.

다음 회의 주제

이번 회의를 특정 주제에 초점을 맞춰 진행하는 방안에 대해 논의 중이다. 예를 들어 네비게이션, React Native 모듈을 별도 저장소로 분리, 문서화 등 구체적인 주제를 깊이 있게 다룰 예정이다. 이 방식을 통해 React Native 커뮤니티에 더 큰 기여를 할 수 있을 것으로 기대한다. 다음 회의에서 이 주제를 다룰 가능성이 높다. 다루고 싶은 주제가 있다면 트위터를 통해 의견을 공유해 주시기 바란다.