I am interested in developing faster with Android. So I look around for options. So far, I found React Native and IONIC.

Then I watch Google I/O 2017.
And there is Kotlin, approved as first-class language for native. Haven't tried it myself, but many syntax I looked into looks nice.

So, native, or hybrid?

  • 0
    Definitely Native.
  • 0
    Don't be confused React Native IS NATIVE, and has similar performance to native too.

    It of course runs from an interpreted language (with JIT compiling) but that isn't a bottleneck.

    Hybrid refers to apps that use a webview in order to render the UI, rendering HTML/CSS is slow on mobile and that is a bottleneck.

    React Native uses native UI components giving you native performance while maintaining the Hybrid app benefits like, sharing the same codebase for iOS and Android, and delivering updates through private means without needing to push new versions to Google Play or the AppStore.

    Don't know much about Kotlin sorry
  • 1
    Long live native!

    I am kinda confused on how to differentiate between acknowledged first-class language from google and other options mentioning "native" build like React. I mean Ionic v2 also mentioned that their build are also "native".
    But hey, thanks for the info, it helps! 😃
  • 1
    @greenrobo In my opinion, don't think about non-native solutions unless you are developing cross platform app.

    Ionic app doesn't compile to native code, it runs in a webview container, but it can access some of the native apis. If you know angular, you can try NativeScript which is like react-native but in Angular and it compiles to native code. Good luck.
  • 0
    @mohammed hmm interesting. I will do some research to it. My reason for this rant is for the purposes for builds in both Android and iOS
  • 0
    @greenrobo First of all, do you have access to mac?
    You can look at react-native and NativeScript and see which syntax you prefer. If you know C#, you can try xamarin.
  • 0
    @mohammed my best access to mac is using VMware. Seems working tho
  • 2
    @greenrobo I would say that there is Native (Xamarin, Kotlin, Java, Cocoa, Swift, Objective C), Hybrid (Ionic, Phonegap, Cordova) and a middle ground (React Native, Flutter, NativeScript?)

    Hybrid use a webview to display content, they are programmed mostly in JS or other interpreted language.

    Native, use native views and are programmed in lower level languages with platform dependant APIs, so they are, most of the time, not cross platform

    The middle ground combines native views with an interpreted language like JS or similar, using a common API through many OS
  • 0
    @Positive07 so Hybrid platform still using mostly webview rendering. I see. I really thought phoneGap has evolved a few after it first launched. So far web is still the solution for one-for-all build eh.
  • 0
    React Native is a pretty good solution for a code once deploy everywhere (mobile).

    But yes Web is the only true-crossplatform platform... But that is hard to accomplish too, and has it's own performance penalty and compatibility issues.

    There is no true single solution, go with whatever works for you.
Add Comment