Upgrading Your Hybrid Apps To Native With NativeScript

As someone who has developed both hybrid web applications and native applications, I understand the differences and advantages each brings to the table.  While I agree that you can do some pretty neat things with a hybrid web application built with frameworks like Ionic, I no longer think it is as great of a solution as it once was.

With hybrid web frameworks like Ionic 2 and native mobile frameworks like NativeScript both using Angular 2, you have to step back and ask yourself what you’re truly getting as an advantage as of now in hybrid.  Performance is one of many reasons why native still makes more sense, and being able to use Angular 2, why wouldn’t you?

This is why I spent a lot of time creating an upgrade guide to demonstrate how to take your hybrid mobile application built with Ionic 2 and Angular 2 to native with NativeScript and Angular 2.

In the guide Upgrading Hybrid Apps to Native with NativeScript, you get all the details on the differences between hybrid web applications and native mobile applications and how to migrate to the latter.

Hybrid to Native

This lengthy migration guide walks you through all the important steps with code as well as pictures so you know exactly what you’re getting yourself into.  Using a database in Ionic 2, but not sure how to do the same in NativeScript?  No problem.  Angular 2 and CSS animations feel laggy in Ionic 2?  They won’t be in NativeScript.

Head over to hybridtonative.com to check out the guide.  If you’re a fanboy of either technologies, hold your comments until finishing the guide.  It was designed to educate and help everyone to become better developers regardless of their preference.

Nic Raboy

Nic Raboy is an advocate of modern web and mobile development technologies. He has experience in Java, JavaScript, Golang and a variety of frameworks such as Angular, NativeScript, and Apache Cordova. Nic writes about his development experiences related to making web and mobile development easier to understand.

  • dianikol

    that’s amazing what you document there, kudos!! I hope you’ll make a beginners course on nativescript soon

    • I already have a beginners NativeScript course for vanilla NativeScript. A beginners Angular 2 with NativeScript course will be coming soon.

      • dianikol

        Yes i forgot to mention a Nativescript + angular 2! That’s cool! I can’t wait!

        Thank you for your wrk

  • Awesome work, Nic! Very helpful for anyone trying to making the switch.

    One thing NativeScript lacks is the ability to easily add features to a list, such as pull-to-refresh, infinite scroll, swipe to action. I know that it can be accomplished with RadListView component, but the docs are extremely confusing for beginners and no one seems to care about this subject when it comes to make tutorials. These tasks are almost mandatory to any mobile app and that’s why Ionic 2 still shines here.

    It would be awesome if you update the page with examples of RadListView in comparision with the Ionic way. This will make a HUGE difference for anyone trying to switch from hybrid to native approach.

  • a n onymous

    What about Google’s push for Progressive Web Apps?

    Might NativeScript be a step backwards in this respect?
    For hybrid, at least Ionic (v2) has minimal support for PWA,
    and according to recent ionic blog posts, it looks like that is going
    to be an area of focus for them.

    While both hybrid and NativeScript seem lacking, at least Ionic is
    trying to support PWA.

    The best (for simplicity) would probably be having to just support one
    code base, and so go full PWA starting with a website, not ionic or nativescript.

    Chris Love makes a pretty good case for PWA in the Comments section
    of a recent dotnetrocks podcast about PWA.
    http://www.dotnetrocks.com/?show=1381

    • In my opinion PWA is nothing more than a Google thing. Is it useful? Probably. Will it get better? Probably. Is it the future of development? Absolutely not.

      The problem with hybrid apps, and yes this will carry over to PWA as well, is performance. While we can’t have the best of all worlds, we have to choose what is best for our needs. I use Angular 2. With Angular 2 I can build web applications and native mobile applications with NativeScript. It accomplishes my need. If I was a React developer I would have chosen React Native.

      The thing is, with Angular 2 offering me web and native mobile, what exactly is Ionic offering me? PWA is not enough of a selling factor for me.

      My 2 cents.

  • Gottsy

    Hey Nic,

    I am an experienced web developer but beginner mobile dev and while I have been diving into ionic2 I have been closely watching your comments and criticism trying to figure out which direction to head.

    So am interested…why would I switch to NativeScript and not something like React-Native. Interested to hear what you have to say.

    • React Native and NativeScript will get you to the same place, a native mobile app. You have to ask yourself, do you want to learn ReactJS or do you want to learn Angular. Both are great, but they are very different.

      I prefer Angular which is why I went the route of NativeScript.

      Best,

      • Gottsy

        That makes so sense. But putting angular vs react aside – how complete is nativescript in providing a library that will give me all the UI features and functionality that my app needs? As opposed to React Native that’s got some bigger backing behind it.

        I am really keen to dive into this…but have taken too many wrong tech turns in the past so just trying to understand.
        Thanks!

        • I’m not sure anyone will be able to answer that as there is no correct answer. One person’s application needs are going to be different than anothers.

          That said, NativeScript has had all the UI features and functionality I’ve needed. At the end of the day, if you are missing something in React Native or NativeScript you can make the component yourself since they both let you interface with native Objective-C and Java.

          Having a larger community doesn’t make a technology better. I know of plenty of other technologies that are terrible but have a massive following. Like I said numerous times already, React Native and NativeScript are both good. Pick based on the development framework you wish to use.

          I have a beginner level course if you want to check out NativeScript with Angular:

          https://www.udemy.com/nativescript-for-the-angular-2-developer/?couponCode=ANGULARNATIVE

          I don’t know ReactJS so I cannot help you with React Native.

          Best,