2017-01-19 2 views
2

iOS 및 Android 용 네이티브 기본 애플리케이션 제작을 시작합니다. 나는 반응 네이티브 응용 프로그램의 설명서를 읽었지만 이해할 수없는 것이 하나 있습니다.반응 네이티브 용 코드 푸시에 대한 이해

반응 네이티브 응용 프로그램은 완전히 기본 응용 프로그램입니까?

그들은 네이티브 반응에서 말합니다. 그렇다면이 질문을하는 이유는 무엇입니까? 글쎄, 질문을하는 이유를 찾은 https://github.com/Microsoft/react-native-code-push. 코드 푸시에 따르면, 그들은 애플리케이션을 동적으로 업데이트 할 수 있습니다. 그리고 이것은 애플리케이션의 자바 스크립트 부분을 업데이트함으로써 수행됩니다. 하지만 응용 프로그램이 진짜 네이티브 응용 프로그램 인 경우 기다려야합니다. 응용 프로그램의 최종 버전에서는 자바 스크립트가 없어야합니다. 맞습니까? 그래서 그들은 그것을 어떻게하고 있습니까? 그들은 코드 푸시 서버에서 응용 프로그램을 컴파일하고 컴파일 된 응용 프로그램을 사용자에게 보내거나 무엇을 보내고 있습니까? 이것은 정말 반응 네이티브 응용 프로그램이 완전히 네이티브 응용 프로그램이 아니라는 것을 저에게 걱정합니다.

CodePush 플러그인은 CodePush 서버로 릴리스 한 업데이트와 JavaScript 및 이미지를 동기화하여 최종 사용자가 제품 개선을 즉시 얻을 수 있도록 도와줍니다. 이렇게하면 앱에 오프라인 모바일 환경의 이점과 사이드로드 업데이트가 제공되는 즉시 '웹과 같은'민첩성이 제공됩니다. 윈 - 윈!

참고 :이 코드 푸시 문서도 말 때문에

또한, 나는이 의심 해요 이유는 그들이 반응 - 네이티브 응용 프로그램의 기본 부분을 업데이트 할 수없는 것이 있습니다 : 네이티브 코드 (예 : AppDelegate.m/MainActivity.java 파일 수정, 새 플러그인 추가)와 관련된 제품 변경 사항은 CodePush를 통해 배포 할 수 없으므로 적절한 상점을 통해 업데이트해야합니다.

반응 네이티브 응용 프로그램이 완전히 네이티브 인 경우 결국 모든 코드가 네이티브 코드 여야합니다. 따라서 네이티브 네이티브 코드를 업데이트하는 것이 왜 네이티브로 컴파일 된 코드보다 더 어려운지 이해할 수 없습니다.

답변

2
  • 당신은이 CodePush 응용 프로그램을 업데이트 할 당신이 사용 네이티브 모듈을 추가하지 않고 /src/ 폴더 (JS 코드)만 코드를 변경하는 경우. 당신이 /src/ 폴더 (JS 코드) 코드를 변경하는 경우

  • 일부 원주민 모듈을 추가, 당신은 응용 프로그램을 업데이트하지 사용 CodePush 수 있습니다.

JS 코드는 네이티브 구성 요소에 의해 컴파일되고 읽혀집니다. 그래서 JS 레이어를 업데이트 할 수 있습니다.

.ipa 파일을 살펴본 후 main.jsbundle (최소화 필요 없음)을 열면 JS 코드를 볼 수 있습니다.예 :

enter image description here

+0

이 의미 않는 우리는 기본 의존성이없는 (새로운 또는 업데이트 된) 일부 NPM 패키지는 다음의 코드는 새로운/업데이트 된 패키지와 코드 푸시와 함께 자동으로 업데이트 얻을 것이다 경우 ? 네이티브 종속성이있는 npm 패키지에 대한 업데이트도 code-push를 통해 푸시되지 않으며 새로운 apk/ipa가 필요합니까? –