비교: 네이티브 앱 개발과 네이티브 앱 개발에 대한 반응
게시 됨: 2021-10-05React Native RoR 프레임워크가 Native 앱 개발과 경쟁할 수 있습니까?
실제로 오늘날 우리가 많은 의견을 듣는 하이브리드 앱 중 하나입니다. 플랫폼 간 개발 도구는 많지만 이 글에서 주목하는 것은 React Native RoR 프레임워크입니다. React Native는 기본입니까? 그럼 문제를 조사해 봅시다.
이제 세상이 다중 선택 사항이 되면서 우리는 매일 약 3500개의 결정을 내립니다. 그리고 그것이 정점도 아닙니다. 이 다중 선택 요소는 기본 iOS(및 Android) 개발 세계에도 영향을 미쳤습니다. 애플리케이션을 구축하는 방법은 다양합니다. 웹 또는 모바일, 네이티브 또는 크로스 플랫폼 등 다양한 플랫폼에 앱을 보유할 수 있으며, 모두 필요와 가치에 따라 파악할 수 있습니다. 우리는 각 경우의 장단점을 강조하려고 노력할 것입니다.
응용 프로그램 개발의 잘 알려진 경로는 기본 및 크로스 플랫폼 경로입니다. 네이티브 앱 개발은 모바일에서 크게 작동하며 특정 목적(iOS 또는 Android), 특정 IDE( XCode 또는 Android Studio ) 및 특정 언어( Android용 Kotlin/Java, Swift/ iOS용 Objective-C ).
개발된 두 번째 유형의 앱을 하이브리드라고 합니다. 크로스 플랫폼(ig React Native)과 네이티브 앱 개발의 차이점은 무엇입니까? 크로스 플랫폼 애플리케이션 개발은 대부분의 경우 모바일과 웹 개발의 개념을 혼합하는 오픈 소스 프레임워크를 포함하고 있기 때문에 네이티브와는 약간 다릅니다. 최종 결과는 결국에는 Java Script로 작성되지만 "동일한" 응용 프로그램 파일이어야 합니다. 요즘 '네이티브 앱 대 하이브리드 앱'의 경쟁이 절정에 달하고 있습니다.
"네이티브" 플랫폼과 언어로 모든 것이 명확하지만 하이브리드 앱은 더 광범위한 분류가 있습니다. 가장 일반적으로 사용되는 크로스 플랫폼 JS 프레임워크는 다음과 같습니다.
- 아이오닉 3 프레임워크
- 자마린
- 코르도바(구 PhoneGap)
- React 네이티브 RoR 프레임워크
오늘날 하이브리드 앱을 선택하는 이유와 이를 구축할 프레임워크는 무엇입니까? 무엇을 선택해야합니까? 네이티브 대 Ionic에 반응합니까? Xamarin 대 React Native? 크로스 플랫폼 앱 개발을 위해 가장 많이 사용되는 프레임워크 중 하나는 React Native 입니다 . 하지만 사람들이 이를 사용하는 이유는 무엇입니까? 나는 그 문제를 조사하려고 노력했다.
더 빠르게 대응하세요.
[이미지 출처: 페이스북 리액트 네이티브]
나는 당신이 이 아이콘들 중 하나하나를 모두 인식했을 것이라고 장담합니다. 그들 모두(과거, 심지어 현재까지도)는 React Native를 사용하여 구축되었거나 구축되었습니다. 말하자면 Facebook 회사는 기본적으로 React Native 앱 개발의 소유자이자 적극적인 프로모터입니다. 하지만 회사 자체가 '하이브리드 앱을 위한 도구'라는 점을 부인하고 있다. 그들이 공식 상륙했을 때 말했듯이,
"React Native를 사용하면 "모바일 웹 앱", "HTML5 앱" 또는 "하이브리드 앱"을 빌드하지 않습니다. Objective-C 또는 Java를 사용하여 빌드된 앱과 구별할 수 없는 실제 모바일 앱을 빌드합니다. React Native는 일반 iOS 및 Android 앱과 동일한 기본 UI 빌딩 블록을 사용합니다. JavaScript와 React를 사용하여 이러한 빌딩 블록을 결합하기만 하면 됩니다.”
[출처: 페이스북 Github]
하지만 React Native가 네이티브 앱 개발에 비해 정말 흔들리나요? 글쎄요, 완전히는 아닙니다. 우선 여기에서는 앱 빌드 프로세스도 다릅니다.
반응 네이티브 앱을 빌드하는 방법은 무엇입니까? 포장해.
Android(및 iOS)용 React Native 자체는 JS 도구를 사용하여 앱을 훨씬 쉽게 빌드할 수 있는 기본 컴파일을 래핑합니다. 심지어 구조가 단순합니다. 구성 요소는 기본 HTML 태그처럼 보입니다. React Native에서 작성하는 코드는 모바일 플랫폼마다 고유하지만 iOS 또는 Android에서 재사용하고 다시 적용할 수 있는 범용 도구가 많이 있습니다. 또한 몇 가지 빌드 대상을 가질 수 있으므로 React Native 개발은 크로스 플랫폼 프레임워크뿐만 아니라 크로스 디바이스라고도 합니다. AppleTV 및 Mac OS와 마찬가지로 iOS용 애플리케이션을 채택할 수 있습니다.
React Native로 개발된 애플리케이션은 네이티브 IDE(XCode 또는 Android Studio)가 필요하지 않지만 Expo - React Native의 맞춤형 IDE에는 제공할 디버그 기능이 적기 때문에 이를 사용하여 개발할 수 있습니다. RN 프레임워크는 또한 구성 요소의 구조를 정교하게 만들지 않습니다. 아주 단순한 구조이며, 더 복잡한 구조를 찾고 있다면 기본 iOS 또는 Android 부품을 사용해야 하며 상단에 JS 커버로 싸여 있어야 합니다(즉, 상당히 , 꽤 지저분한) . 일부 구성 요소는 , 다양한 소품을 넣을 수 있습니다.
React Native를 전 세계의 크로스 플랫폼 애플리케이션 개발자에게 제공하는 몇 가지 장점은 다음과 같습니다.
1. 리소스가 덜 필요합니다.
모든 플랫폼 간 솔루션과 마찬가지로 더 저렴하고 예산 친화적입니다. 두 개의 별도 앱 개발 팀을 고용할 필요가 없습니다. 한 팀이 개발할 수 있지만 결과는 원하는 경우 두 플랫폼 모두에 적용됩니다. 물론 이러한 앱을 구축하는 데 소요되는 리소스와 비용은 기본 앱 개발에 소요되는 비용보다 훨씬 낮습니다.
2. React Native의 힘은 구성 요소에 있습니다.
이미 언급했듯이 React Native에 허용되는 구성 요소 목록은 엄청납니다. 차례대로 이러한 구성 요소는 몇 가지 공통점만 있다면 다른 프로젝트에서 확실히 재사용할 수 있습니다.
3. 거대한 커뮤니티가 있습니다.
Facebook 공식 React Native 커뮤니티에 몇 명이 있다고 생각하십니까? 이 기사가 게시된 시점에 그 수는 23,000개를 초과했습니다. 큰 커뮤니티의 일부가 되는 것의 가장 큰 장점은 특정 포용감 + 새로운 구성 요소를 추출할 수 있는 능력입니다. 사용자 정의 목적으로 생성한 구성 요소는 그룹 내에서 쉽게 배포할 수 있으므로 처음부터 다시 작성할 필요 없이 필요할 때 기성 솔루션을 찾을 수 있습니다.
4. 그것은에 의해 촉진됩니다 ...
Facebook 기업 전체는 이미 "Branded Brand"로 이름을 지정할 수 있으므로 Facebook 뒤에 있는 전체는 React Native 프레임워크에 큰 이점을 제공합니다(Ionic과 React Native 비교를 고려하더라도). 사용자는 이 소셜 네트워크가 광고하고 의존한다고 주장하는 제품을 지지할 만큼 충분히 내구성이 있다고 믿습니다.
하나의 크기가 모든 사람에게 맞지 않습니다.
네이티브 애플리케이션 개발자가 있는 링의 반대편에는 "네이티브로 전환"에 대한 비용을 지불할 때 구매하는 가치와 이점도 있습니다.
1. 네이티브 = 더 반응이 좋습니다.
인터페이스의 응답성은 UX 디자이너가 갈망하고 수십 가지 노력을 기울이는 것입니다. 기본 애플리케이션일 때 모든 단일 디자인 화면은 평면 또는 소재 스타일에 맞게 매장의 지침에 맞게 개별적으로 설계 및 조정됩니다.
2. 모국어 = 공식적으로 Apple 및 Google 스토어에서 개발되었습니다.
네이티브 앱 스토어와 구글 플레이는 플랫폼에서 개발 및 지원하는 언어를 기반으로 구축된 애플리케이션을 허용합니다. 지침을 따르면 상점으로 가는 사다리가 모두 설정됩니다. 크로스 플랫폼 애플리케이션을 사용하면 여전히 수락할 수 있는 기회가 있지만 약간의 "웹비시" 인터페이스 또는 탐색에 대해 거부될 가능성이 있습니다.
3. "니드포 스피드".
Usability Engineering의 주요 원칙 중 하나는 빠른 상호 작용입니다. "1.0초는 사용자의 사고 흐름이 중단되지 않는 한계에 관한 것입니다." 네이티브 앱은 사용자가 시스템의 리듬 안에 머물 수 있도록 충분히 빠르게 반응하고 수행하지만 하이브리드 제품은 종종 다소 느려집니다.
4. 네이티브 = 더 정교합니다.
크로스 플랫폼 솔루션은 "보통" 클래스의 기능을 사용하여 이미 존재하는 것을 만들려고 할 때 적합합니다. 복잡한 사물(모든 최신 유행의 IoT, AR/VR, 빅 데이터 마이닝 알고리즘이 이 목록에 있음)과 관련하여 하이브리드 앱에는 원하는 것을 실현할 수 있는 기술적 능력이 부족합니다. 반면에 기본 IDE와 언어에는 끝없는 기술 관점이 있습니다. 많은 내용이 작성될 수 있습니다.
신중하게 선택하십시오.
구축할 간단한 애플리케이션(목록 및 그보다 더 복잡한 것은 없음)을 찾고 있다면 React Native가 좋습니다. 앱 성능이 더 필요하면 더 복잡한 개발 절차가 필요합니다. 이미 Swift 또는 Kotlin으로 전환한 다음 이 모든 것을 반짝이는 Java Script 표지로 포장해야 합니다. 이것은 쉬운 일이 아닌 것 같습니다. 따라서 비디오 또는 오디오 스트리밍, 라우팅, 실시간 채팅, 사진 편집 등의 경우 이러한 단점을 피하면서 처음부터 네이티브 개발을 시작하는 것이 좋습니다.
또한 React Native는 완전한 JavaScript 프레임워크이며 전체 코드를 TextMate 또는 Notepad++와 같은 텍스트 편집기에서 작성할 수도 있습니다. 프로젝트를 구축할 때 최소한 특정 IDE 또는 에뮬레이터가 절실히 필요합니다.
괜찮은 RN 기반 앱의 몇 가지 예가 있습니다.
- 페이스북 앱은 당연히
- Airbnb 모바일 애플리케이션(iOS 및 Android 하이브리드)
- Walmart 모바일 앱(예상보다 낮은 구현으로 다수의 임베디드 웹 보기가 있음)
공식 웹사이트에서 RN 기반 제품의 전체 목록을 볼 수 있으며 여기에서 RN이 React Native vs Xamarin 프레임워크 대회에서 다시 우승했습니다.
관점을 위해.
Flurry 통계에 따르면 "오늘날 미국 소비자는 스마트폰과 태블릿에서 하루 평균 2시간 38분을 보냅니다. 그 중 80%(2시간 7분)를 앱에서 보냅니다." 당신의 제품은 어떻게든 매일 2시간이라는 시간에 맞아야 합니다. 모든 점을 고려할 때 React Native RoR 프레임워크는 소규모 단기 프로젝트에 편리한 솔루션이 될 것입니다. 리뷰는 그것이 빠르고 격렬하며 새롭다는 것을 증명하거나 "개념을 테스트"하고 싶을 때. 그럼에도 불구하고 장기적으로 또는 킥스타트를 위한 기술 혁신을 계획할 때 기성품 옵션에 의존할 수 없습니다. 처음부터 빌드해야 하고 사용자 지정해야 하므로 기본 애플리케이션 개발에 필요합니다.
Artem Chervichnik와 Elina Bessarabova가 작성했습니다 .