모바일 개발 프레임워크 선택
개발자는 플랫폼 간 접근 방식에 특정 프레임워크 및 패턴을 사용하여 클라이언트 쪽 기술을 사용하여 모바일 애플리케이션 자체를 빌드할 수 있습니다. 개발자는 의사 결정 요인에 따라 다음을 빌드할 수 있습니다.
- Objective C 및 Java와 같은 언어를 사용하여 네이티브 단일 플랫폼 애플리케이션
- Xamarin, .NET 및 C를 사용하여 플랫폼 간 애플리케이션#
- Cordova 및 해당 변형을 사용하여 하이브리드 애플리케이션
네이티브 플랫폼
네이티브 애플리케이션을 빌드하려면 플랫폼별 프로그래밍 언어, SDK, 개발 환경 및 OS 공급업체에서 제공하는 기타 도구가 필요합니다.
Ios
Apple에서 만들고 개발한 iOS는 Apple 장치, 즉 iPhone 및 iPad에서 앱을 빌드하는 데 사용됩니다.
- 프로그래밍 언어: Objective-C, Swift
- IDE: Xcode
- SDK: iOS SDK
안 드 로이드
구글과 세계에서 가장 인기있는 OS에 의해 설계, 안드로이드는 스마트 폰과 태블릿의 범위에서 실행할 수있는 응용 프로그램을 구축하는 데 사용됩니다.
- 프로그래밍 언어: Java, Kotlin
- IDE: Android Studio 및 Android 개발자 도구
- SDK: Android SDK
Windows
- 프로그래밍 언어: C#
- IDE: Visual Studio, Visual Studio Code
- SDK: Windows SDK
네이티브 플랫폼 전문가
- 좋은 사용자 환경
- 고성능 및 네이티브 라이브러리와 인터페이스할 수 있는 기능을 갖춘 반응형 애플리케이션
- 매우 안전한 애플리케이션
네이티브 플랫폼 단점
- 애플리케이션은 하나의 플랫폼에서만 실행됩니다.
- 애플리케이션을 빌드하는 데 더 많은 개발자 리소스 집약적이고 비용이 많이 듭니다.
- 낮은 코드 재사용
플랫폼 간 및 하이브리드 애플리케이션
플랫폼 간 애플리케이션은 네이티브 모바일 애플리케이션을 한 번 작성하고, 코드를 공유하고, iOS, Android 및 Windows에서 실행할 수 있는 기능을 제공합니다.
Xamarin
Microsoft가 소유한 Xamarin 은 C#에서 강력한 플랫폼 간 모바일 애플리케이션을 빌드하는 데 사용됩니다. Xamarin에는 iOS, Android 및 Windows와 같은 여러 플랫폼에서 작동하는 클래스 라이브러리 및 런타임이 있습니다. 또한 고성능을 제공하는 네이티브(해석되지 않은) 애플리케이션을 컴파일합니다. Xamarin은 네이티브 플랫폼의 모든 기능을 결합하고 자체적으로 다양한 강력한 기능을 추가합니다.
- 프로그래밍 언어: C#
- IDE: Windows 또는 Mac의 Visual Studio
React Native
2015년 Facebook 출시한 React Native iOS 및 Android용 실제 렌더링 모바일 애플리케이션을 작성하기 위한 오픈 소스 JavaScript 프레임워크입니다. 사용자 인터페이스를 빌드하기 위한 React Facebook JavaScript 라이브러리를 기반으로 합니다. 브라우저를 대상으로 하는 대신 모바일 플랫폼을 대상으로 합니다. React Native 웹 구성 요소 대신 네이티브 구성 요소를 구성 요소로 사용합니다.
- 프로그래밍 언어: JavaScript
- IDE: Visual Studio Code
화합
Unity는 게임을 만들기 위해 최적화된 엔진입니다. 이를 사용하여 Windows, iOS, Android 및 Xbox와 같은 플랫폼용 C#으로 고품질 2D 또는 3D 애플리케이션을 만들 수 있습니다.
코르도바
Cordova를 사용하면 Apache Cordova용 Visual Studio Tools 사용하거나 Cordova용 확장이 있는 Visual Studio Code 사용하여 하이브리드 애플리케이션을 빌드할 수 있습니다. 하이브리드 접근 방식을 사용하면 구성 요소를 웹 사이트와 공유하고 Cordova를 기반으로 하는 호스트된 웹 애플리케이션 접근 방식에서 웹 서버 기반 애플리케이션을 다시 사용할 수 있습니다.
플랫폼 간 전문가
- 여러 플랫폼에 대해 하나의 코드베이스를 만들어 코드 유용성 향상
- 여러 플랫폼에서 더 많은 대상 그룹을 수용합니다.
- 개발 시간의 급격한 감소
- 간편한 시작 및 업데이트
플랫폼 간 단점
- 성능 저하
- 유연성 부족
- 각 플랫폼에는 네이티브 애플리케이션을 보다 창의적으로 만들기 위한 고유한 기능 집합이 있습니다.
- UI 디자인 시간 증가
- 도구 제한 사항