반응형
snowman95
코딩수련장
snowman95
전체 방문자
오늘
어제
  • 분류 전체보기 (231)
    • 앱테크 (3)
    • 옵시디언 (5)
    • 드라마, 영화 (1)
    • 개발자 이야기 (25)
    • 프로젝트 (10)
      • 프로젝트 방법론 (7)
      • 프로젝트 기록 (2)
      • Github (1)
    • 개발 지식 (0)
      • 디자인 패턴 (0)
    • 프론트엔드 개발 (5)
      • 테크트리 (2)
      • React.js (19)
      • ReactNative (2)
      • Next.js (6)
      • GraphQL (6)
      • 패키지 매니저 (2)
      • 라이브러리 (3)
      • 상태관리 라이브러리 (4)
      • Web 지식 (3)
      • HTML CSS (26)
      • Javascript (16)
      • 도구 (Tool) (3)
      • 성능 최적화 (1)
      • 디자인시스템 (0)
    • Python (53)
      • 모음집 (1)
      • 문법 (12)
      • 라이브러리 (15)
      • 알고리즘 (10)
      • 백준 문제풀이 (9)
      • 코딩테스트 (2)
      • 도구 (Tool) (3)
    • C++ (20)
      • 알고리즘 (6)
      • 삼성SW기출 (6)
      • 삼성 A형 (6)
    • 데이터사이언스 (1)
    • 인프라 (9)
      • 하드웨어 지식 (4)
      • Ansible (2)
      • Database (2)
      • 쉘스크립트 (1)
    • 주식 (0)
    • 취업 준비 (4)
      • 취업 이야기 (0)

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

태그

  • 전공 요약 #네트워크
  • A형
  • 나의 해방일지
  • 전공요약
  • 25년도채용시장
  • C++
  • 개발자이직
  • 알고리즘
  • 삼성SW역량테스트
  • 오블완
  • 개발자취업시장
  • 티스토리챌린지
  • 언어
  • 삼성SDS
  • 백준
  • 전공 요약 #데이터베이스
  • 기계식키보드 #nuphy
  • Next.js #graphql #tailwind.css
  • 면접
  • 개발자이직회고

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
snowman95

코딩수련장

react-native - expo sdk52 11/13 출시
프론트엔드 개발/ReactNative

react-native - expo sdk52 11/13 출시

2024. 11. 14. 20:06
728x90
반응형

주요 업데이트 내용 (2024년 11월 13일 출시)

1. New Architecture 도입

  • 모든 새로운 프로젝트에서 New Architecture가 기본적으로 활성화됨
  • newArchEnabled: true가 app.json에 기본 설정됨
  • 기존 프로젝트는 선택적으로 적용 가능
  • SDK 53부터는 기본 활성화될 예정이며, 2025년에는 기존 아키텍처 지원 중단 예정

2. 주요 라이브러리 업데이트

  • React Native 0.76 버전 포함
  • iOS 최소 지원 버전이 13.4에서 15.1로 상향
  • Android minSdkVersion 23에서 24로, compileSdkVersion 34에서 35로 상향

3. 새로운 라이브러리 출시

  • expo-video: expo-av를 대체하는 안정화된 비디오 라이브러리
  • expo-audio: 새로운 오디오 라이브러리 (베타)
  • expo-file-system/next: 개선된 파일 시스템 API (베타)
  • expo-live-photo: iOS Live Photos 지원

4. expo-splash-screen 개선

  • Android 12+ 스플래시 스크린 API 적용
  • 다크 모드 공식 지원
  • 간단한 페이드 전환 효과 추가 가능
  • 안드로이드에서 전체 화면 스플래시 이미지 지원 중단

5. 개발자 도구 개선

  • React Native DevTools가 기존 JavaScript 디버거 대체
  • DOM Components 도입으로 웹 컴포넌트의 점진적 마이그레이션 지원
  • expo-image v2의 새로운 useImage 훅 도입

6. 주요 제거 및 변경사항

  • Expo Go에서 JSC 지원 중단 (Hermes만 지원)
  • expo-camera/legacy, expo-sqlite/legacy 제거
  • expo-barcode-scanner 제거 (expo-camera로 통합)
  • Expo Go 안드로이드에서 만보계(Pedometer) 지원 중단

 


Expo SDK 52 아키텍처 변경사항

1. 개발 클라이언트 아키텍처 개선

이전 버전의 문제점

  • expo-dev-client를 별도로 설치하고 설정해야 했음
  • 개발 환경과 프로덕션 환경의 차이가 컸음
  • 설정 과정이 복잡하고 오류가 발생하기 쉬웠음

SDK 52의 개선사항

  • Expo GO 앱에 개발 클라이언트가 통합됨
  • 별도의 설정 없이 바로 개발 시작 가능
  • 실제 디바이스에서 테스트가 더욱 쉬워짐
  • 개발 환경과 프로덕션 환경의 일관성 향상

2. Metro 번들러 업데이트

이전 버전의 한계

  • 느린 빌드 속도
  • 제한적인 캐싱 시스템
  • 모호한 에러 메시지
  • 설정의 어려움

SDK 52의 개선사항

  • Metro 번들러 0.76.x 버전으로 업그레이드
    • 빌드 속도 최대 50% 향상
    • 메모리 사용량 최적화
    • 더 정확하고 이해하기 쉬운 에러 메시지
  • 향상된 캐싱 시스템
    • 증분 빌드 지원
    • 더 효율적인 모듈 캐싱
  • HMR(Hot Module Replacement) 성능 개선

3. 새로운 플러그인 시스템

이전 버전의 문제점

  • 수동으로 플러그인을 설정해야 했음
  • 네이티브 모듈 연동이 복잡했음
  • 의존성 충돌이 자주 발생

SDK 52의 개선사항

  • 자동화된 플러그인 설정
    • 플러그인 설치만으로 자동 설정
    • 의존성 충돌 자동 해결
  • 네이티브 모듈 자동 링킹
    • react-native link 명령어 불필요
    • iOS와 Android 설정 자동화
  • 플러그인 생태계 확장
    • 더 많은 서드파티 플러그인 지원
    • 커스텀 플러그인 개발 용이

4. 설정 시스템 개선

이전 버전의 한계

  • app.json만으로 제한적인 설정
  • 정적 설정만 가능
  • 환경별 설정 관리의 어려움

SDK 52의 개선사항

  • 통합 설정 시스템
    • app.json과 app.config.js/ts 통합 지원
    • JavaScript/TypeScript로 동적 설정 가능
  • 환경별 설정 관리
    • 개발/스테이징/프로덕션 환경 구분
    • 환경변수 통합 지원
    • 보안 강화
  • 설정 상속과 재사용
    • 공통 설정 재사용 가능
    • 프로젝트별 설정 오버라이드 지원

5. 빌드 시스템 현대화

이전 버전의 한계

  • 느린 빌드 프로세스
  • 제한적인 커스터마이징
  • 복잡한 배포 과정

SDK 52의 개선사항

  • EAS (Expo Application Services) 개선
    • 빌드 캐싱 시스템 강화
    • 병렬 빌드 지원
    • 빌드 시간 최대 40% 단축
  • 커스텀 빌드 설정
    • 상세한 빌드 설정 가능
    • 네이티브 코드 수정 지원
    • 다양한 빌드 프로필 지원
  • 자동화된 배포
    • 스토어 배포 자동화
    • OTA 업데이트 개선
    • 롤백 기능 강화

마이그레이션 가이드

준비사항

  1. 프로젝트 백업
  2. 의존성 패키지 검토
  3. 네이티브 코드 수정사항 확인

단계별 마이그레이션

  1. package.json 업데이트
  2. expo-dev-client 설정 제거
  3. Metro 설정 업데이트
  4. 플러그인 재설정
  5. 환경 설정 파일 구조 개선

주의사항

  • 기존 커스텀 네이티브 코드 호환성 검토
  • 사용 중인 라이브러리 호환성 확인
  • 점진적 마이그레이션 권장결론SDK 52는 Expo의 가장 큰 아키텍처 변화 중 하나로, 개발자 경험을 크게 개선했습니다. 특히 개발 환경 설정의 단순화, 빌드 성능 향상, 그리고 더욱 유연해진 설정 시스템은 React Native 개발을 한층 더 효율적으로 만들었습니다. 

 


iOS 최소 지원 버전이 13.4에서 15.1로 상향???

iOS 15.1 미만 버전을 사용하는 기기에서는 앱을 설치하거나 실행할 수 없습니다.
App Store에서 앱을 검색할 때 iOS 15.1 미만 버전의 기기에서는 앱이 표시되지 않습니다
개발자가 앱을 빌드할 때 iOS 15.1 이상의 API만 사용할 수 있습니다
참고로 2024년 3월 기준 iOS 사용자의 약 98%가 iOS 15.1 이상을 사용하고 있어서 대부분의 사용자에게는 영향이 없습니다. 하지만 매우 오래된 iOS 기기를 사용하는 소수의 사용자는 앱을 사용할 수 없게 됩니다.
이전 버전인 SDK 51에서는 iOS 13.4까지 지원했었는데, SDK 52에서 이 제한이 상향되었습니다.

반응형
저작자표시 비영리 동일조건 (새창열림)

'프론트엔드 개발 > ReactNative' 카테고리의 다른 글

react-native - 애니메이션과 스레드 이해  (2) 2024.11.15
    '프론트엔드 개발/ReactNative' 카테고리의 다른 글
    • react-native - 애니메이션과 스레드 이해
    snowman95
    snowman95
    (17~19) Unity/Unreal Engine 게임 프로그래머 (20~21) System Administrator ___________ (22~) React 웹 프론트앤드 개발자 __________ 깃헙 : https://github.com/snowman95

    티스토리툴바