React native vs kotlin: 알아야 할 모든 것
게시 됨: 2019-01-25오늘날 기술은 매우 빠르게 변화하고 있으며 나날이 새로운 버전의 개발 프레임워크가 최신 상태를 유지하고 있으며 새로운 작업을 수행할 수 있는 가능성이 있습니다! 급변하는 비즈니스 요구 사항을 충족하기 위해 다양한 플랫폼과 기술이 있습니다. 여기에서는 Android 및 iOS 애플리케이션을 개발하기 위한 두 가지 프로그래밍 플랫폼에 대해 논의할 것입니다.
React 제품군의 차세대 멤버인 React Native는 Javascript와 함께 iOS 및 Android용 하이브리드 앱 개발을 제공하는 JavaScript 플랫폼이며 Kotlin은 이제 Java 다음으로 Android 앱 개발을 위한 두 번째 공식 언어입니다. 따라서 Kotlin의 대안으로 사용할 수 있습니다.
우리는 StackOverflow 및 Github 솔루션에서 지난 1년 동안 높은 수요 증가를 보고 있습니다.
어떤 것이 붙고 어떤 것이 미끄러지는지 봅시다.
반응 네이티브:
React(JavaScript를 사용하여 웹 및 모바일 앱을 빌드하기 위한 프레임워크) + Native(JavaScript에서 사용하는 기본 구성 요소) = React Native. iOS 및 Android용 실제 네이티브 모바일 애플리케이션을 작성하고 웹 및 모바일 애플리케이션에서 코드를 재사용하기 위한 JavaScript 프레임워크입니다. 이 프레임워크를 통해 개발자는 가장 좋아하는 클래식 JavaScript에 진정으로 고유한 모바일 애플리케이션을 구축하고 선언적 구성 요소에서 풍부한 모바일 UI를 구축할 수 있습니다.
개발에 반응 네이티브를 사용하려면 NodeJs() 및 NPM(노드 패키지 관리자 = 반응 네이티브 종속성 설치용) 소프트웨어를 설치하고 추가 구성을 수행해야 합니다.
장점:-
더 빠른 빌드: React Native의 주요 판매 포인트는 개발 시간이 더 짧다는 것입니다. 이제 질문이 생깁니다. 어떻게 더 빨라서 개발 시간이 단축됩니까? 따라서 이에 대한 답은 바로 적용할 수 있는 수많은 구성 요소를 제공하므로 새 구성 요소를 만들지 않는 시간을 절약할 수 있다는 것입니다. 예를 들어 FlatList는 Android의 recyclerview 또는 iOS의 테이블 보기와 동일한 기능을 제공하는 react-native에서 제공하는 내장 구성 요소입니다.
하나의 프레임워크로 두 개의 플랫폼을 촬영하세요: 한 번의 샷으로 두 마리의 새를 촬영할 수 있습니다. React Native를 사용하면 iOS 및 Android 플랫폼용 앱을 동시에 빌드할 수 있으며 하나의 코드 기반만 유지하면 됩니다. 현재 React 라이브러리는 기본 SDK가 제공하는 모든 패키지를 제공하지 않지만 제공되지 않는 패키지는 작성됩니다. 따라서 하나의 가격으로 두 개의 앱을 사용할 수 있습니다.
RCT 브리지는 플랫폼에 따라 달라지는 NPM에서 제공합니다. 따라서 코드는 두 플랫폼 모두에서 실행됩니다.
Hot Reloading: 이것은 개발자에게 최고의 이점입니다. 이 기능은 코드를 변경할 때마다 앱을 실행할 필요가 없고 코드를 저장하기만 하면 화면에 반영되므로 시간을 절약할 수 있습니다. 코드에 대한 이 자동 반영은 NPM에서 제공하는 리스너에 의해 수행됩니다. 네이티브 코드의 경우 약간의 변경이 있더라도 전체 응용 프로그램이 다시 시작됩니다.

소규모 팀: 기본 개발에는 두 개의 별도 팀이 필요하며, 이로 인해 커뮤니케이션이 지연될 수 있으므로 개발 속도가 느려집니다. 그러나 React의 경우 JavaScript를 아는 개발자는 기본 팀과 비교하여 팀 크기를 줄이는 두 플랫폼 모두에 대한 코드를 작성할 수 있습니다. 따라서 팀이 작을수록 관리하기가 더 쉽습니다.
웹에서 모바일로 마이그레이션: 웹 개발에 JavaScript가 일반적이고 모바일에도 동일하므로 웹에서 모바일 개발로 전환하는 것이 더 쉬울 것입니다. 따라서 Reach JS 개발자가 웹 앱을 모바일 플랫폼으로 마이그레이션하려는 경우 React 플랫폼이 모바일 플랫폼에서도 동일하게 유지되므로 매우 쉽게 마이그레이션할 수 있습니다. 또는 그 반대도 마찬가지입니다.
단점:-
필수 지식 필수: 가장 큰 단점은 개발자가 Javascript에 대한 적절한 지식을 갖고 있어야 하고 이를 하이브리드 앱용 네이티브 코드와 결합해야 한다는 것입니다. 또한 XML 파일을 사용하여 Android에서 수행한 것과 동일한 사용자 정의 구성 요소를 코딩해야 합니다.
덜 안전함: React는 JavaScript 라이브러리가 취약성으로 유명하기 때문에 모바일 뱅킹과 같은 유형 A 보안과 관련하여 덜 안전합니다. 따라서 사용 및 작성되는 코드가 악의적이거나 더럽지 않은지 확인하기 위해 특별한 주의가 필요합니다. 프로그래머는 타사 애드온을 사용할 때 각별한 주의를 기울여야 합니다.
제한된 타사 라이브러리: API 접근성과 관련하여 기본 앱 개발 프레임워크는 모든 유형의 API를 직접 사용할 수 있습니다. React Native 앱은 개발 프로세스에 몇 가지 API만 사용할 수 있습니다. 복잡한 API를 구현하려면 기본 기술을 사용하여 연결 계층을 구축해야 합니다.

코틀린:

JetBrains에서 개발한 Kotlin은 JavaScript 소스 코드로 컴파일되거나 LLVM 컴파일러 인프라를 사용하는 Java Virtual Machine에서 실행되는 새로운 프로그래밍 언어입니다. 이제 Google에서 승인한 Android Studio의 공식 언어입니다.
장점:
Kotlin의 코드는 정확하고 간결한 코드베이스를 제공하지만 명확하게, 특히 Null 포인터에 대한 오류 가능성이 적고 프로덕션 환경에서 안정적인 코드가 있으며 Java에서 코딩하는 동일한 기능에 대해 더 적은 수의 코드 라인이 있습니다.
자바 코드:
public class clearBridge { public static double calculate(double a, String op, double b) throws Exception{ switch (op) { case "add": return a+b; case "substract": return ab; case "multiply": return a*b; case "divide": return a/b; default: throw new Exception(); } } }
코틀린 코드:
fun calculate(a: Double, op: String, b: Double): Double { When (op) { "add" -> return a - b "substract" -> return a + b "multiply" -> return a * b "devide" -> return a / b else -> throw Exception() } }
안정적인 유지 관리 및 지원: Kotlin은 최고의 IDE 도구를 제공하는 것으로 유명한 JetBrains에서 제공합니다. 따라서 Kotlin에 대한 도구 지원을 소홀히 할 것이라는 데는 의심의 여지가 없습니다. Android Studio를 비롯한 다양한 IDE에서 지원됩니다. JetBrains는 연결된 시스템으로 비동기 서버와 클라이언트를 만들기 위한 프레임워크 Ktor에서 작업하고 있습니다.
적은 코드: 코딩에 대한 엄지손가락 규칙이 있습니다. 그러면 오류가 발생할 여지가 줄어들고 프로덕션에서 안정적인 코드를 위한 더 많은 공간이 생깁니다. Kotlin의 경우 null에 대한 조건을 제공할 필요가 없지만 Java의 null 값에 대한 조건을 제공해야 합니다.
신뢰할 수 있는 언어: Kotlin은 2011년에 등장하기 전에 최종 릴리스 전에 여러 테스트 단계를 거쳤습니다. Android에서 작업하고 다른 버전을 처리하는 것은 개발자에게 가장 큰 고통입니다. Kotlin의 안정성은 축복입니다.
기존 코드와의 호환성: Kotlin은 풍부한 생태계를 제공하는 모든 도구 및 프레임워크를 포함하여 Java 자체와 잘 작동합니다. 궁극적으로 코드는 플랫폼에 독립적인 Java Virtual Machine에 바이트 코드를 반환하는 컴파일됩니다. Kotlin에서 함수를 코딩하고 Java 파일(Android Studio에서)에서 호출하면 결국 바이트 코드로 변환되기 때문에 실행됩니다.
단점:

학습 곡선: Java와 Kotlin 간에는 약간의 차이가 있으므로 Kotlin으로 전환하려는 개발자를 위한 학습 곡선이 있습니다. 그러기 위해서는 적절한 훈련과 시간이 필요합니다. 변수 선언, 함수 정의 등에 대한 구문이 변경됩니다.
소규모 커뮤니티: 시장에서 빠른 인기를 얻은 후에도 기여자들의 답변이 없는 질문으로 인해 커뮤니티가 더 작아졌습니다. React Native는 많은 개발자에게 알려진 JavaScript 라이브러리이기 때문에 더 큰 커뮤니티를 보유하고 있습니다. 서론에서 위에서 언급했듯이 기여한 문제의 수와 해결 방법을 확인할 수 있습니다.
결론
React Native는 모바일 앱 개발 부문을 위한 응집력 있는 생태계와 라이브러리 및 플러그인에 대한 액세스를 제공하여 시장 출시 시간을 단축하는 번창하는 커뮤니티입니다. 앱은 성능 저하 없이 기본 앱의 직관적이고 강력한 기능을 축소된 타임라인, 비용 및 리소스에서 모두 즐길 수 있습니다.
반면 구글은 안드로이드 개발을 위한 표준 IDE로 코틀린을 추천한다. Kotlin은 Java와 100% 상호 운용 가능하며 Java 및 Android 프로젝트와 이전 버전과의 호환성을 제공합니다. Kotlin은 실제 개발 문제를 해결하기 위한 엔터프라이즈 수준의 언어입니다.