Which Mobile App Development Option is Better?

Different alternatives to native code development have their own advantages and philosophy behind. No one tool or approach can be clearly marked as a winner since it all depends on multiple factors.
The mods prominent factors in choosing a specific app development platform or approach depends on t he below key factors

  • Skill set of individual or development team
  • Unique requirements of the app
  • Targeted user segment
  • Long term strategic vision of the individual or an organization
If you are making apps for one specific platform only, the going native(swift, objective c for iOS and java for android) is the preferred choice. simply because you get the best performance and the latest APIs and features to work with.

Alternatives to native development

Cordova Based Mobile App Development
Hybrid app development using plain JavaScript, HTML5 and CSS is one of the easiest and most popular options and this is where old time web developers are at an advantage.
There are tons of frameworks that let you do mobile app development with ease by using age old plain JavaScript and CSS; some of these frameworks include Ionic,kendo UI and JQuery Mobile.

Cordova brings in unified JavaScript API, using which you can access device functions like Camera and accelerometer of almost all platform including Android, iOS and Windows.
Once your app is ready, you compile your app with Cordova and Cordova wraps your app app specific JavaScript, CSS and HTML into platform specific containers(webview). This container acts as a bridge between your application and hardware components via unified JavasScript API.

The biggest advantage you get here is the single code base to develop and maintain, and that too, without learning any new technology, if you are already a web develper.
Application runs in the webview, and not natively on the hardware, which makes it less performance than the native Android or native iOS applications. But then, all apps are not required to be super performance.

Cordova is free and open source under Apache license and is distributed by the Apache Software foundation

Mobile App Development Using React Native
React native is relatively new but an excellent option ofr rapid mobile applications development, and you cant target both iOS and Android. React native is the open source framework from t he house of Facebook and is used for developing native iOS and android apps.
Event though React native is a new entrant in the market but many developers and organizations across the globe have started.

React native too is JavaScript based but just plain JavaScript, HTML5 and CSS. React Native is the extension of React itself and users the same development philosophy.

Apart from React framework, you need to understand JSX, JSX is the XML like syntax extension of ECMAScript.

React Native vs Cordova or PhoneGap
The UI in Cordova hybrid apps is developed using HTML and JavaScript components and runs in the webview of Android and iOS platforms.
In React Native also, the UI is written in JavaScript react components(JSX extension), but each React native UI component corresponds to the native UI component of iOS and Android. So, you write components in JavaScript but those are converted to native components. Net net, you have JavaScript code interfacing to the native components of the underlying platform.

Code reuse between Android and iOS apps in react native is not purely 100% but can easily be targeted anything from 85% - 100%, depends on what you are developing.

The biggest advantage here is that you work only with JavaScript for your iOS as well as Android version of the app. The philosophy is - "Learn once, write everywhere and achieve maximum code resusability".

Mobile App Development Using Xamarin
Xamarin is another animal in the wild of building native mobile apps and it is one of  the most used platform for app building. With Xamarin, you can build native android, iOS, windows and Mac apps in C# language.

Development philosophy is more or less the same as React native but the skill set requirements change drastically since you need to work with C# and Microsoft tools instead of JavaScript. The code reuse again is not 100% but 80% can easily be targeted.

Xamarin is not the easiest to work with but gives you the performant mobile applications. You develop code in C# and Xamarins compilers compile the code into native packages of respective platforms, may it be iOS, Android or Windows Phone.

from : http://noeticforce.com/mobile-app-development-cordova-vs-react-native-vs-xamarin


이 블로그의 인기 게시물

Android Service에서 AlertDialog 띄우기

MongoDB, 설치와 간단 사용법

Android Thread 내에서 UI 핸들링