With Vuejs being a serious competitor to React and now with the NativeScript-Vue integration, I think NativeScript is a serious competitor to ReactNative. It will be very interesting to see the popularity trends by end of 2018.
Unfortunately nativescript is far away from being mature enough to use for real world applications. On the other hand react native has already born from industrial grade usage. Stay away from nativescript for next 15 years.
I know this is a unpopular opinion, but I prefer Android Java to React or Flutter. I dont even like Java as a language but when it comes to mobile development i find it way more intuitive... If you have a ton of time to learn these technologies they might be fun to work with, but if you are in a hurry to create something the learning curve can be a bit steep especially with Flutter. PS... the way FLutter stacks widgets and their methods can become extremely cluttered and confusing.
Summary: 1- Java, Swift (Best option) 2- Nativescript (Best alternative but not so popular) 3- React Native (very popular and maintained by Facebook, they also use it in some of their apps) 4- Ionic (Worst option for native-like app, If you care about performance. Ionic is not the best choice. But the advantage is that you can make a self-hosted static website that customers can save in their phone) I see that u need to add Progressive Web Apps to the comparison. Thank you for such a good video.
PWA isnt native at all. It basically bookmarks on the screen to your website. You have almost no integration with OS. 1 - worst overpriced poorly maintained choise 2 - its hybrid even if it have native in title. its fine, but painful 3 - its hybrid even if fb trying to claim its not. you have to think in react (im not recomend tho) 4 - for most domains it fit, but it still not cheap Cordova / NativeScript are the best options. If written without issues they run all the animations at same speeds
Noext I was going to say the same thing. Ionic is great! As long as you're not an idiot developer. Use lazy loaded pages, you get native integration. Ionic 4 is even better. Hate it when people who have no clue try to look like an expert.
Ive been using React Native for work for past 6 months and I'm pretty sure that RN is on the far left end of the "write once use everywhere" axis. I literally have like ~20 'if' statements (in a project with 100+ screens) to compensate layout differences between the 2 platforms (such as switches, alerts, inputs), but apart from that everything's the same.
Iuliu Visovan that’s one of many reasons why after using ionic and other cross platform solutions we switched to real native programming. It’s a huge difference. Performance is so much better, no more messing around with hundreds of third party plugins that mostly rely on outdated or even deprecated API. The knowledge and time we put in learning and debugging all those cross platform frameworks, we would have been much faster getting great results just concentrating on native programming. Many think it’s faster to use cross platform solutions because they get both platforms from one code source. The truth is neither will be great, you will having no control over all the produced code, you will eventually end up with problems that could cost you days or even worse caused by bugs or outdated stuff in code that isn’t even from you. Trust me, I have been trough that. Worst part we experienced was when a cross platform app stopped working completely because of multiple problems with plugins that cost us around 3 weeks until we gave up and started going fully native. I would never go back. The learning curve is not harder than learning a new cross platform system but in the end every implementation we wanted to do, was so much easier and faster to make. Especially when it comes to new native features. Those are often not even supported on all those frameworks. Or you can implement them, like with native script, but you need to know how to code native with native tools. In that case you could have went native from the beginning.
I'm a Vue.js developer and I came to know about Weex which is the alternative to React's React-native. The only thing bad about this project is that its not officially out for production usage, but I thing once it came out, it would change the current market ad Vue.js gaining its popularity.
It would have been interesting to add Expo to the mix. It combines most strengths of RN with some of the advantages of Nativescript. It's basically a wrapper around RN and gives you a decent set of components (enough for most apps) but abstracts you from the native side of things. Plus running on your device is a breeze because you can load it in their shell app for testing.
UPDATE: AirBnb just switched from React Native to Java/Swift. Reason is, that they now can easily afford two teams, specifically for Android and IOS, which they couldn't when they were just starting out.
Thanks a lot for the hint, I already released an updated video + article where I also mention the AirBnb topic: academind.com/learn/react/react-native-vs-flutter-vs-ionic-vs-nativescript-vs-pwa/
I can only judge what it brings - I haven't worked with it since I'm not a C# developer. I like its approach - it's generally comparable to React Native/ NativeScript. BUT: It's closer to the actual native languages, at least if you want to. That's certainly a difference to React Native and Nativescript and it can be a huge advantage. It could of course also be considered "bad" because you want to use a solution that provides a high level of abstraction (=> "Write once, use everywhere").
It is unfair for nativescript, it is really new in the market and has got this much popularity..! I think the duration it is active on market counts..!
To be fair, if you're using Swift as an example for native iOS development you should mention Kotlin for Android native development. Kotlin is a modern language from Google based on Java, and it is to Java what Swift is to Objective-C. I thought it should be mentioned, since the video is relatively new and should be up to date with modern standards.
Hi Max, I had experience with both RN and Swift. There is some limitation on RN like -You can't use native component when you use create-react-native-app (react-native link not available) -Deploying to store in RN is a serious problem (if you used expo in app it makes harder) -RN is awesome platform to make apps to work in all device dimensions. -If you used FlatList you may loss your app performance or may makes your app slow. -Error handling is sucks in RN. Some times you can't find the problem. -There is many native components that not supporting in RN like RUclips Player (but there is third party libraries but not working as you expect). I think that if RN team solve the current problems it will could be most popular mobile app developing platform.
Nativescript seems to be the best way to go for an Angular person - esp since it seems you can get some native code from it. The adoption rate is a little troubling though - what if they decide to give up and leave the market?
Love how nativescript has sidekick to easily deploy apps either for testing or to the app stores of both Apple and Andriod. Also love how NS can super easily access the OS' system. Finally I absolutely love there's no commercialised motive behind its framework. It's truly open sourced and aimed at speed and native like apps.
Perfect analysis and all aspect was assessed very well with right placement, however I would share one more real world example where Ionic is “silver bullet” for success - enterprise apps designed for employees of one company, apps utilising MDM, single sign on (Kerberos/NTLM). Ionic provides opportunity to publish internal UI components library, apps templates, APIs and empower fastest and most cost efficient enterprise mobility adoption. I mentioned very specific use case, however it is fast growing industry where even Ionic framework developers yet not derived full potential.
As an Angular and Vue developer, I will go with NativeScript as my second step since I'm good with Ionic. By the way, do you have any plan to produce a tutorial in NativeScript? I already bought your Angular and Vue and they are really great :)
Thanks so much - awesome to hear you're enjoying my tutorials! Nativescript is interesting but to be honest, I haven't worked enough with it to produce a full, high-quality course. Once that changes, it's definitely possible, yes
Hey Max, How r'u doing. As per the video I guess this is the order with your comparisons 1) Native (Java,Swift) 2) React 3) Ionic 4) NativeScript Suggest me if I'm wrong. Buy the way I have started your Angular 5 complete course in Udemy. It's absolutely fantastic. At the end of the day I would suggest to start with Ionic for small application's for beginners. Suggest me😃😃😃😃
I tried Ionic first after facing some performance issue and build time issue then moved to React Native and if i summaries all my experience on it in one words its wonderful and Thank you Max for finding and sharing.
Nativescript seems to be a very interenting option, not too popular the downside, but the fact that it's not tied to framework is a good point, anyways there's plenty react fanboys out there and that's the tendency nowadays
what do you mean not tied, NativeScript IS a framework, you have a choice between NativeScript's view layer and Angular I guess. Both are OK but bloated comparing to React + Cordova or React Native.
What he means is you can combine NativeScript components with any framework for the logic: by default you can use Angular, pure Javascript or even just Typescript without angular, but you can also use Vue. In React Native case, you have to use React Native for the native components side, and you *have* to stick with Reactjs to handle the logic, which is why NativeScript is sometimes called agnostic.
Yeah, React is for people who are really new to programming. Hence the popularity I guess - the entry barrier is low but once you get deeper in it you start to see all the shortcomings. React is horrible compared to Angular and Vue
I feel that the main advantage of nativescript is that you can build it on top of angular using typescript, and for that reason, from my perspective, it's usage will grow. Great video, as always
Are you planning on making a Tutorial on Angular+NativeScript soon as NS started supporting Angular now? I learned Angular and Ionic from your tutorial on Udemy ... those are great ... would be great if you do one for Ng+NS :)
Thank you Manuel! Here is my 2018 version of it (I also plan to release a 2019 version) => academind.com/learn/flutter/react-native-vs-flutter-vs-ionic-vs-nativescript-vs-pwa/
Also I know that Dart language is coming hard with Flutter (native for mobile), Dart Angular for the web, Dart for Server and CLI. Basically you can write native everywhere.
Do the apps feel very smooth, how much work would I need to do if I were to create 2 similar apps on both ios and android platforms? I'm building a lot of webapps using Vue and looking to make some mobile apps and so I'm trying to go with something that is related or small learning curve from Vue. I'm wondering if NativeScript would be my go to or should I start with Vue Native?
I am going to learn React Native after reading its documentation. It's exciting that it support combination with native codes written in Java or Objective-C. I have to suspend it, though, because after trying to run simple app with React Native on Android Studio Emulator using Expo, it failed; there was a problem with ADB.
You forgot to mentioned that nativescript doesn't need a plugin eco-system as it let's you call java and objective-c apis directly in javascript unlikely react-native, ionic and cordova
Great comparison and thanks for the valuable information. Could you please provide performance benchmarks for Nativescript, React Native, and Ionic if available?
Nativescript is same as using giving all to devs in all ways, if someone has resd docs and trust me it's huge its divided into three parts. Nativescript core with plain js or typescript. Nativescript angular and Nativescript Vue. Nativescript is so far most complex framework I have come across because how angular is embeded with. You have to learn 3x Technologies nativescript core, angular and typescript to actually get it's full potential. I have learned enterprise frameworks like Symfony and JavaEE tech, along with some og .Net tech and this frameworl is so far biggest one in terms of learning curve. Thus less popular. But each framework has their own pros and cons. If you need like 60% shared code in angualr for web and native apps native script is way to go. If you do not need native functionalities ionic is best suited. If you are not good enough with MVVM pattern and has hard time with angular chase it's strictly types like java, go for react native. No framework is best, its just they all are best suited for some specific tasks. Hope this helps newbies about finding more insights about these framework and help them invest their time in right framework that works for them. Sometimes using complex framework is overkill for simple apl and sometimes using simple framework gets you into architectural limitations very soon, it's just matter of choosing right framework for right app.
I'm surprised, why NativeScript is not very popular. Seeing that Angular/TypeScript is being widely used, the developer has very little to stretch with NativeScript if he have to create a mobile app around the MEAN stack. I.e. If someone is offering a web platform for set of features and want to provide the same features via the mobile app as well. I would like to see a set of videos if you can share on NativeScript/Angular for creating a mobile app.
Is there a comparison of these with regards to the UI development kit and how to generate code from that UI development kit? I know native development is on top of this. How about ionic? Is there a reliable UI development tool kit and reliable way to generate HTML/CSS code from that kit? How about Reactive?
Max! thanks for this video. I always wanted to learn about this comparison and you did it great. Let me remark your slides since 2017 your slides have been improving drastically, love them. Keep it up, you are the best youtuber. Grats on 100k subscribers
Thank you Sergio, always happy to receive your awesome feedback! Also great to read that my slides apparently improved and almost 100k subs is just more than I ever could have imagined. So grateful to all of you guys for making this possible :)
Hi! Excellent video and explaintiation!, but now, with the release of ionic 4 with stencil, in what place of your graphs ionic is now? really increase the performance? is it worth it now? Thanks! Greetings from argentina
It should be a bit faster but probably not by much. But worse performance doesn't mean bad performance. For a lot of (I really mean a lot of) types of apps, you won't notice the difference.
The only reason nativescript isn't as popular as react native is that Nativescript isnt created by a super-well-known company like facebook, but is an opensource project from a company in Bulgaria (which, yeah is now owned by a decently sized company, but not a company that is as popular as facebook, and not known for creating non-business/sme apps/solutions).
Thanks for providing a better understanding of those programming languages. I will continue with Ionic, as it's best for the app I'm currently working on. Thanks!
Thank you for all the clarification about these technologies. I'm learning ionic and I think it's really easy to learn, the learning curve is not high but even a simple app doesn't feel like a native app and that really suck and made me stop the project in the middle to learn another technology to rebuild it, because of the result and I couldn't find anything to help me with the laggy experience... By the way, do you have any information about the learning curve of react-native and android dev? Thanks
I believe the performance will get better with the release of Ionic 4 + some other features they're planning. Regarding RN learning curve: If you know React, it's steep, if you don't know React, it's super steep. RN has a lot of issues and you need to do a lot of "manual wiring up of things". At least this can happen if you need certain functionalities that are bit beyond very simple and common app requirements
hello , if i want to make which works after killing app like whatsapp which is the best crdova,ionic,nativescript,react....actually i tried for cordova but not find working plugin....please help me with this
Flutter its close to nativescript and reactnative? Nativescript and reactnative share the same philosofy working above xml to access components. Its right? Tanks.
I think Google's j2objc is also a pretty good alternative. The UIs of the apps will need to be rewritten on both platforms but you can re-use a lot of other code.
Max I have one question regarding this toturial .can you tell what technology used by WhatsApp. For example like Java/Swift .react native ,native script or Cordova
What do you think of skipping all of these technologies and just build a progressive webapp ? It seems like it can do 90% of what a native app can do, with the same code base for desktop and mobile.
PWAs are great indeed but sometimes, you want to use native features early or you need the native performance (which you only get when writing native apps). So PWAs are not always the best solution - but indeed a technology that's there to stay :)
Are Verizon, VMWare, and Southwest not big companies? Because all of them use NativeScript. I know is less popular, but that is mainly because Facebook is so much popular and Facebook is the one developing React Native. I'm just starting learning NativeScript, I know and have developed apps using React Native and Expo already, but from what I've been learning so far I find NativeScript is a much more mature project. In React Native we still don't have an official screen navigator component developed on the native thread: the ones who existed are abandoned already, and the one expected to become the standard used by Facebook in the future when gets the stable release is on the javascript thread, not the native side; same thing happens with push notifications, you do have direct support for iOS, but you have to rely on third party libraries for android and there's no official component from facebook in sight. That leaves you two options, going full React Native and have to code yourself sometimes on native code (which totally beats the purpose of using react native if you're a new developer with no native languages knowledge who want to use your current knowledge to build native apps) or going with Expo, which is an extended platform that fills some of these gapps and adds more directly supported features like push notifications for both systems out of the box and additional components that are native coded, but encourages to not use native code at all on your own, having you to stick with javascript components for some things that are not implementd natively for either Expo or React Native (with the performance drawback it has compared to native code, just like a wrapped application), like cross-platform toasts (no native support for iOS on either React Native or Expo), navigation (Expo in fact recommends using React Navigation, which is a javascript based screen navigator) and others. NativeScript on the other side and from what I've learned so far (please do note I'm still learning it in the process to build my first app with it) has all the basics covered (tabs, buttons, etc) and has some of these components implemented already: push notification and natively implemented screen navigators are both included with NativeScript. Sometimes you will have to rely on a third party library just like React Native, but the thing with NativeScript and what makes it a more mature product in my opinion is the whole interaction with the native code is mapped to Javascript: even if you have to build a bridge, you don't write it in native code for either platform, you write it in a Javascript API so you don't really have to mess with native errors related to things you don't really know in the worst case scenario, but handle the Javascript stuff you're familiar with. At the end of the day both are great platforms and yes, there is a noticeable difference in performance between wrapped apps (I've also developed with Cordova before) and compiled apps like NativeScript and React Native, both perform just as a native app but there's a choice for you: stick with the most popular but less mature product and its workarounds until it reachaes a more mature stage, or stick with the less popular but more mature solution instead. There is also the choice between the JS framework to use: full Javascript or Angular on NativeScript, or Reactjs and new components for React Native.
You deserve a big like for such a great comparison video. Thank you. I think the following criteria would also be important to compare: - Testing - Debugging - integration into existing app - Look&Feel
Hi Max. Very important question. I cannot find answer anywhere. Can I write mobile app project with combination of native and react native? As some part of my app really requires native code support .
It is a good choice if you know C#. We did a few apps a while back before they were bought by Microsoft. But a good option. Seems a lot like NativeScript does when it compiles to the native code mappers, but if you know it, use it.
Greate comparison (Y) and yepp, I got a wixx.com ad before this video started, haha. I get this annoying ad everytime I watch any developing video. Doesnt matter if videos of you, Firebase, Google Cloud Platform or Linux, haha. btw. a question about an upcoming player: Weex, Apaches answer for Vue Devs to create mobile apps. Its still in an early phase but I cant figure out if it compiles the code into a native app or uses a WebView. In their docs they say phrases like "Weex offers both iOS and Android native rendering layers." and "Weex Native DOM APIs" but also phrases like "It help web developers writing mobile app UI with their familiar HTML / CSS / JavaScript" and the DOM snippets in docs are purely Vue-html frontend. So, Im a bit confused.
Thank you for this video. It help clarify the difference between the many frameworks and libraries available for mobile app development. For me, i will stick with react native and nativescript since i enjoy utilizing some form of web technology while maintaining a closer feel to native life features. I cant do android and swift since learning those languages will need an absurd amount of time invested. Thank You!
Thanks! I don’t yet understand why NativeScript isn’t popular? It’s the same code pattern as Angular, so it seems peanuts to build native apps, why so small community?
I think people are just set in their ways. NativeScript is pretty awesome. Their development environment with play.nativescript.org you can actually write code in your browser and sync it with a wrapper app on your device and the changes Live Sync. It is insane how quickly this makes development. Then you download the code and use it in your app. In general the development time is cut in half. We used the Telerik platform, which are many of the same developers on the NativeScript project, before Telerik was bought by Progress. Those guys are Crazy smart and the LiveSyncing the developed and carried over to the NativeScript project just saves so much time developing.
I'm wondering too... From the day I discovered nativescript...i can't go back.... I can even charge client high price and build the app in two nights... I'm an angular person though... Nativescript is the best out there.
Maybe due to people more excited about react because seemed to market first. Then angular 2 broke with angular 1 and that is why personally I was not fond of that ecosystem, and looked toward react instead. Maybe I will reconsider however
Hey Max. Great content as always. High level NativeScript wins in most categories with the exception of being backed by a large company/install. When comparing ecosystem one thing that should be mentioned is there may be a lot of react components but the quality and integration is much much lower. NativeScript has defined best practices, templates and verified plugins. Building with NativeScript with Vue or Angular with scss based on Bootstrap. Makes a great developer experience with high quality. Would be good if you make a tutorial series. You might soon have a new favourite. Keep up the good workAJ
Thanks for the very kind words and also for the suggestion! I haven't found the time to dive deeper into NativeScript but it's definitely on the todo list. I'll try to share some great content on it, too.
I think performance was just so horrible on Cordova that a lot of developers learned to reject any non-native solutions. Thank God someone is dissolving the google / apple holy war in a way that still enables great experiences.
Awesome video as usual. I would include developer experience in the comparison. I think react native and ionic probably have better realtime reload/refresh on changes in relation to nativescript. Although I have read the nativescript team is actively working on reducing reload/refresh time. Debugging is also probably better in react native. I feel the overall dev experience is more enjoyable in react native but in terms of stability I would go for nativescript. Thanks for your videos Max. You are awesome!
Thanks a lot, this is really great to read! I also got an updated version of this video (also covering Flutter), maybe this is also interesting for you: academind.com/learn/angular/angular-vs-react-vs-vue-my-thoughts/
With Vuejs being a serious competitor to React and now with the NativeScript-Vue integration, I think NativeScript is a serious competitor to ReactNative. It will be very interesting to see the popularity trends by end of 2018.
Indeed!
Unfortunately nativescript is far away from being mature enough to use for real world applications.
On the other hand react native has already born from industrial grade usage. Stay away from nativescript for next 15 years.
I know this is a unpopular opinion, but I prefer Android Java to React or Flutter. I dont even like Java as a language but when it comes to mobile development i find it way more intuitive...
If you have a ton of time to learn these technologies they might be fun to work with, but if you are in a hurry to create something the learning curve can be a bit steep especially with Flutter.
PS... the way FLutter stacks widgets and their methods can become extremely cluttered and confusing.
Summary:
1- Java, Swift (Best option)
2- Nativescript (Best alternative but not so popular)
3- React Native (very popular and maintained by Facebook, they also use it in some of their apps)
4- Ionic (Worst option for native-like app, If you care about performance. Ionic is not the best choice. But the advantage is that you can make a self-hosted static website that customers can save in their phone)
I see that u need to add Progressive Web Apps to the comparison.
Thank you for such a good video.
why do u think nativescript is better than react native
Flutter and Fusetools.
PWA isnt native at all. It basically bookmarks on the screen to your website.
You have almost no integration with OS.
1 - worst overpriced poorly maintained choise
2 - its hybrid even if it have native in title. its fine, but painful
3 - its hybrid even if fb trying to claim its not. you have to think in react (im not recomend tho)
4 - for most domains it fit, but it still not cheap
Cordova / NativeScript are the best options. If written without issues they run all the animations at same speeds
Noext I was going to say the same thing. Ionic is great! As long as you're not an idiot developer. Use lazy loaded pages, you get native integration. Ionic 4 is even better.
Hate it when people who have no clue try to look like an expert.
Im hurt, Im an Angular developer using Ionic3 for mobile apps and this framework is dope if u manage to use it correctly :o even performance wise
Ive been using React Native for work for past 6 months and I'm pretty sure that RN is on the far left end of the "write once use everywhere" axis. I literally have like ~20 'if' statements (in a project with 100+ screens) to compensate layout differences between the 2 platforms (such as switches, alerts, inputs), but apart from that everything's the same.
Iuliu Visovan that’s one of many reasons why after using ionic and other cross platform solutions we switched to real native programming. It’s a huge difference. Performance is so much better, no more messing around with hundreds of third party plugins that mostly rely on outdated or even deprecated API. The knowledge and time we put in learning and debugging all those cross platform frameworks, we would have been much faster getting great results just concentrating on native programming.
Many think it’s faster to use cross platform solutions because they get both platforms from one code source. The truth is neither will be great, you will having no control over all the produced code, you will eventually end up with problems that could cost you days or even worse caused by bugs or outdated stuff in code that isn’t even from you.
Trust me, I have been trough that. Worst part we experienced was when a cross platform app stopped working completely because of multiple problems with plugins that cost us around 3 weeks until we gave up and started going fully native.
I would never go back. The learning curve is not harder than learning a new cross platform system but in the end every implementation we wanted to do, was so much easier and faster to make. Especially when it comes to new native features. Those are often not even supported on all those frameworks. Or you can implement them, like with native script, but you need to know how to code native with native tools. In that case you could have went native from the beginning.
I'm a Vue.js developer and I came to know about Weex which is the alternative to React's React-native. The only thing bad about this project is that its not officially out for production usage, but I thing once it came out, it would change the current market ad Vue.js gaining its popularity.
It would have been interesting to add Expo to the mix. It combines most strengths of RN with some of the advantages of Nativescript. It's basically a wrapper around RN and gives you a decent set of components (enough for most apps) but abstracts you from the native side of things. Plus running on your device is a breeze because you can load it in their shell app for testing.
UPDATE: AirBnb just switched from React Native to Java/Swift. Reason is, that they now can easily afford two teams, specifically for Android and IOS, which they couldn't when they were just starting out.
Thanks a lot for the hint, I already released an updated video + article where I also mention the AirBnb topic: academind.com/learn/react/react-native-vs-flutter-vs-ionic-vs-nativescript-vs-pwa/
You can also use Xamarin to create IOS and Android apps with C Sharp.
Please make a NativeScript tutorial series
Thanks for the suggestion! I'll need to work more with it before I'll start teaching others though ;)
Nativescript with vue .
First of all thank you for this video, great work! I have a question, what do you think about Xamarin ?
+1
+1
Good question... Lets wait for max to answer
+1
I can only judge what it brings - I haven't worked with it since I'm not a C# developer. I like its approach - it's generally comparable to React Native/ NativeScript. BUT: It's closer to the actual native languages, at least if you want to. That's certainly a difference to React Native and Nativescript and it can be a huge advantage. It could of course also be considered "bad" because you want to use a solution that provides a high level of abstraction (=> "Write once, use everywhere").
It is unfair for nativescript, it is really new in the market and has got this much popularity..! I think the duration it is active on market counts..!
To be fair, if you're using Swift as an example for native iOS development you should mention Kotlin for Android native development.
Kotlin is a modern language from Google based on Java, and it is to Java what Swift is to Objective-C. I thought it should be mentioned, since the video is relatively new and should be up to date with modern standards.
Hi Max,
I had experience with both RN and Swift.
There is some limitation on RN like
-You can't use native component when you use create-react-native-app (react-native link not available)
-Deploying to store in RN is a serious problem (if you used expo in app it makes harder)
-RN is awesome platform to make apps to work in all device dimensions.
-If you used FlatList you may loss your app performance or may makes your app slow.
-Error handling is sucks in RN. Some times you can't find the problem.
-There is many native components that not supporting in RN like RUclips Player (but there is third party libraries but not working as you expect).
I think that if RN team solve the current problems it will could be most popular mobile app developing platform.
Problem is React itself is horrible.
Lmao. "Wix which you might have seen at the beginning of this video" haha. Those guys are steady on RUclips ads
Yeah, we kind of see it from time to time :D
Nativescript seems to be the best way to go for an Angular person - esp since it seems you can get some native code from it. The adoption rate is a little troubling though - what if they decide to give up and leave the market?
You have to bet on open source then. But yes, this is of course a danger you face. There's a company behind it though, it's not just one person.
Unfortunately UI Components for NativeScript are not as mature as one would expect for production environments.
Love how nativescript has sidekick to easily deploy apps either for testing or to the app stores of both Apple and Andriod. Also love how NS can super easily access the OS' system. Finally I absolutely love there's no commercialised motive behind its framework. It's truly open sourced and aimed at speed and native like apps.
You say that you could use any Javascript library with Ionic, that means that you could use the JavaScript Firebase SDK directly with Ionic?
Perfect analysis and all aspect was assessed very well with right placement, however I would share one more real world example where Ionic is “silver bullet” for success - enterprise apps designed for employees of one company, apps utilising MDM, single sign on (Kerberos/NTLM). Ionic provides opportunity to publish internal UI components library, apps templates, APIs and empower fastest and most cost efficient enterprise mobility adoption.
I mentioned very specific use case, however it is fast growing industry where even Ionic framework developers yet not derived full potential.
Great addition - thank you so much Paulius!
This being half 2020, how is it come to NativeScript? It gotot more traction as I can see, and platform has evolved a lot.... How do you see it now?
As an Angular and Vue developer, I will go with NativeScript as my second step since I'm good with Ionic.
By the way, do you have any plan to produce a tutorial in NativeScript? I already bought your Angular and Vue and they are really great :)
Thanks so much - awesome to hear you're enjoying my tutorials! Nativescript is interesting but to be honest, I haven't worked enough with it to produce a full, high-quality course. Once that changes, it's definitely possible, yes
Go for The NativeScript Book, it's amazing and free.
Welcome :D I will go with your PWA and Ionic too, thank you for that work man!!
THANK YOU!!! I'm a books lover.
here's a link to {N}ativescript vue github.com/tralves/groceries-ns-vue
and the {N} Book here www.nativescript.org/get-the-nativescript-book
Hey Max, How r'u doing.
As per the video
I guess this is the order with your comparisons
1) Native (Java,Swift)
2) React
3) Ionic
4) NativeScript
Suggest me if I'm wrong.
Buy the way I have started your Angular 5 complete course in Udemy. It's absolutely fantastic.
At the end of the day I would suggest to start with Ionic for small application's for beginners.
Suggest me😃😃😃😃
This saved me SO MUCH time, trying to understand the differences between them all. THANKS!!
So happy to read that Toriano, thanks a lot for your awesome comment!
I tried Ionic first after facing some performance issue and build time issue then moved to React Native and if i summaries all my experience on it in one words its wonderful and Thank you Max for finding and sharing.
Great comparison! But I think you should include Flutter too, if possible :D
Nativescript seems to be a very interenting option, not too popular the downside, but the fact that it's not tied to framework is a good point, anyways there's plenty react fanboys out there and that's the tendency nowadays
what do you mean not tied, NativeScript IS a framework, you have a choice between NativeScript's view layer and Angular I guess. Both are OK but bloated comparing to React + Cordova or React Native.
What he means is you can combine NativeScript components with any framework for the logic: by default you can use Angular, pure Javascript or even just Typescript without angular, but you can also use Vue. In React Native case, you have to use React Native for the native components side, and you *have* to stick with Reactjs to handle the logic, which is why NativeScript is sometimes called agnostic.
after working with react for a week i absolutely hate it.
there are so many bugs and NOTHING works as the documentation describes.
Yeah, React is for people who are really new to programming. Hence the popularity I guess - the entry barrier is low but once you get deeper in it you start to see all the shortcomings. React is horrible compared to Angular and Vue
I feel that the main advantage of nativescript is that you can build it on top of angular using typescript, and for that reason, from my perspective, it's usage will grow. Great video, as always
Thanks George, I'm glad you're liking it!
Are you planning on making a Tutorial on Angular+NativeScript soon as NS started supporting Angular now? I learned Angular and Ionic from your tutorial on Udemy ... those are great ... would be great if you do one for Ng+NS :)
man thanks this was what i was looking from past few century
Which one is best suit for cross platform for 3D rendering using three.js - Angular + Native script Vs React Native?
you did not compare "Flutter" framework from google!
1:05 "just use the language we know Javascript"
Awesome comparison, thank you very much. Do you think anything has changed since late 2017?
Thank you Manuel! Here is my 2018 version of it (I also plan to release a 2019 version) => academind.com/learn/flutter/react-native-vs-flutter-vs-ionic-vs-nativescript-vs-pwa/
Also I know that Dart language is coming hard with Flutter (native for mobile), Dart Angular for the web, Dart for Server and CLI. Basically you can write native everywhere.
NativeScript ftw. I've built with this for 2 years, weekly builds for iOS and Android. Ask me anything
have you ever felt limitations working with nativeScript ?
Do the apps feel very smooth, how much work would I need to do if I were to create 2 similar apps on both ios and android platforms? I'm building a lot of webapps using Vue and looking to make some mobile apps and so I'm trying to go with something that is related or small learning curve from Vue. I'm wondering if NativeScript would be my go to or should I start with Vue Native?
whats the difference between Reace Native and Java/Kotlin ? main differences , btw I am an android developer
I am going to learn React Native after reading its documentation. It's exciting that it support combination with native codes written in Java or Objective-C.
I have to suspend it, though, because after trying to run simple app with React Native on Android Studio Emulator using Expo, it failed; there was a problem with ADB.
You forgot to mentioned that nativescript doesn't need a plugin eco-system as it let's you call java and objective-c apis directly in javascript unlikely react-native, ionic and cordova
That's true, thanks for the addition!
Great comparison and thanks for the valuable information. Could you please provide performance benchmarks for Nativescript, React Native, and Ionic if available?
Thank you for video. Have you heard something about or use Quasar Framework?
I have - haven't worked with it though.
I have used all 3. I prefer RN. Its because I got sick of Angular, and now mainly use react.
How would Xamarin fit into this comparison?
can you provide the comparision with latest information
Nativescript is same as using giving all to devs in all ways, if someone has resd docs and trust me it's huge its divided into three parts. Nativescript core with plain js or typescript. Nativescript angular and Nativescript Vue.
Nativescript is so far most complex framework I have come across because how angular is embeded with. You have to learn 3x Technologies nativescript core, angular and typescript to actually get it's full potential.
I have learned enterprise frameworks like Symfony and JavaEE tech, along with some og .Net tech and this frameworl is so far biggest one in terms of learning curve. Thus less popular.
But each framework has their own pros and cons. If you need like 60% shared code in angualr for web and native apps native script is way to go.
If you do not need native functionalities ionic is best suited.
If you are not good enough with MVVM pattern and has hard time with angular chase it's strictly types like java, go for react native.
No framework is best, its just they all are best suited for some specific tasks. Hope this helps newbies about finding more insights about these framework and help them invest their time in right framework that works for them. Sometimes using complex framework is overkill for simple apl and sometimes using simple framework gets you into architectural limitations very soon, it's just matter of choosing right framework for right app.
I'm surprised, why NativeScript is not very popular. Seeing that Angular/TypeScript is being widely used, the developer has very little to stretch with NativeScript if he have to create a mobile app around the MEAN stack. I.e. If someone is offering a web platform for set of features and want to provide the same features via the mobile app as well. I would like to see a set of videos if you can share on NativeScript/Angular for creating a mobile app.
Is there a comparison of these with regards to the UI development kit and how to generate code from that UI development kit? I know native development is on top of this. How about ionic? Is there a reliable UI development tool kit and reliable way to generate HTML/CSS code from that kit? How about Reactive?
Max! thanks for this video. I always wanted to learn about this comparison and you did it great. Let me remark your slides since 2017 your slides have been improving drastically, love them. Keep it up, you are the best youtuber. Grats on 100k subscribers
Thank you Sergio, always happy to receive your awesome feedback! Also great to read that my slides apparently improved and almost 100k subs is just more than I ever could have imagined. So grateful to all of you guys for making this possible :)
Hi! Excellent video and explaintiation!, but now, with the release of ionic 4 with stencil, in what place of your graphs ionic is now? really increase the performance? is it worth it now? Thanks! Greetings from argentina
It should be a bit faster but probably not by much. But worse performance doesn't mean bad performance. For a lot of (I really mean a lot of) types of apps, you won't notice the difference.
A compilation step is indeed needed if you write the app in a native language...
Hi, Max. Thank you for comparing these technologies. Are you planning a NativeScript course on your channel?
Thank you in advance!
Hi Daniyil, thank you, happy to read that! I do not plan to do a NativeScript course on the channel as of now, but this might change in the future.
I think now that we're in 2020 this video needs a refresh! EDIT: NEVERMIND I FOUND IT
The only reason nativescript isn't as popular as react native is that Nativescript isnt created by a super-well-known company like facebook, but is an opensource project from a company in Bulgaria (which, yeah is now owned by a decently sized company, but not a company that is as popular as facebook, and not known for creating non-business/sme apps/solutions).
Thanks for providing a better understanding of those programming languages. I will continue with Ionic, as it's best for the app I'm currently working on. Thanks!
So happy to read that the video was helpful for you Cameron! I also like Ionic, wish you all the best for your project :)
Thank you for all the clarification about these technologies. I'm learning ionic and I think it's really easy to learn, the learning curve is not high but even a simple app doesn't feel like a native app and that really suck and made me stop the project in the middle to learn another technology to rebuild it, because of the result and I couldn't find anything to help me with the laggy experience... By the way, do you have any information about the learning curve of react-native and android dev? Thanks
I believe the performance will get better with the release of Ionic 4 + some other features they're planning.
Regarding RN learning curve: If you know React, it's steep, if you don't know React, it's super steep. RN has a lot of issues and you need to do a lot of "manual wiring up of things". At least this can happen if you need certain functionalities that are bit beyond very simple and common app requirements
With Ionic 4 release, is this comparission any different? Or Ionic 4 has the same performance "issues"?
hello , if i want to make which works after killing app like whatsapp which is the best crdova,ionic,nativescript,react....actually i tried for cordova but not find working plugin....please help me with this
Flutter its close to nativescript and reactnative? Nativescript and reactnative share the same philosofy working above xml to access components. Its right? Tanks.
I wonder if REact Native implementations has something to do with the recent report of alot of mobile data secretly going to FB ?
very informative, but i wonder how flutter fits in all this?
NativeScript looks very promising...I can't wait to start learning it.
As an everyday PhoneGap user I approve this comparison! Well done Max!
Thanks so much Jakub!
Can you use 3D animation, Can an SVG UI interface be used with React Native. Now that sounds very interesting to me can I get more videos on that.
I think Google's j2objc is also a pretty good alternative. The UIs of the apps will need to be rewritten on both platforms but you can re-use a lot of other code.
Flutter? Flutter doesn't use the JavaScript bridge because it uses Dart, which is a compiled programming language - solving performance issues.
Internally indirectly used JavaScript bridge
Can we create a hybrid app and than turn it into a PWA, only adding the PWA elements?
Please help me as i have to choose pne of them for my FYP and i am more focused related to features and performance
Max I have one question regarding this toturial .can you tell what technology used by WhatsApp. For example like Java/Swift .react native ,native script or Cordova
NativeScript maybe the best choice.
What do you think of skipping all of these technologies and just build a progressive webapp ? It seems like it can do 90% of what a native app can do, with the same code base for desktop and mobile.
PWAs are great indeed but sometimes, you want to use native features early or you need the native performance (which you only get when writing native apps). So PWAs are not always the best solution - but indeed a technology that's there to stay :)
14:27 {NA}tativescript will run mvast range of npm packages than RN! take Gsap for example it works no hitches, socketio,MapboxGl........
this is the best video i've ever seen , thanks man please keep us with this type of academic videos but in backend technologies also ! keep going
Thank you so much - I'll do my best to keep it up!
if you make a follow up this video or update can you also include flutter?
Thanks for the suggestion. No follow-up is planned right now but if I do such a video again, I will include it
Hello Max, with hybrid we can create 3d app also ???
Are Verizon, VMWare, and Southwest not big companies? Because all of them use NativeScript. I know is less popular, but that is mainly because Facebook is so much popular and Facebook is the one developing React Native. I'm just starting learning NativeScript, I know and have developed apps using React Native and Expo already, but from what I've been learning so far I find NativeScript is a much more mature project.
In React Native we still don't have an official screen navigator component developed on the native thread: the ones who existed are abandoned already, and the one expected to become the standard used by Facebook in the future when gets the stable release is on the javascript thread, not the native side; same thing happens with push notifications, you do have direct support for iOS, but you have to rely on third party libraries for android and there's no official component from facebook in sight. That leaves you two options, going full React Native and have to code yourself sometimes on native code (which totally beats the purpose of using react native if you're a new developer with no native languages knowledge who want to use your current knowledge to build native apps) or going with Expo, which is an extended platform that fills some of these gapps and adds more directly supported features like push notifications for both systems out of the box and additional components that are native coded, but encourages to not use native code at all on your own, having you to stick with javascript components for some things that are not implementd natively for either Expo or React Native (with the performance drawback it has compared to native code, just like a wrapped application), like cross-platform toasts (no native support for iOS on either React Native or Expo), navigation (Expo in fact recommends using React Navigation, which is a javascript based screen navigator) and others.
NativeScript on the other side and from what I've learned so far (please do note I'm still learning it in the process to build my first app with it) has all the basics covered (tabs, buttons, etc) and has some of these components implemented already: push notification and natively implemented screen navigators are both included with NativeScript. Sometimes you will have to rely on a third party library just like React Native, but the thing with NativeScript and what makes it a more mature product in my opinion is the whole interaction with the native code is mapped to Javascript: even if you have to build a bridge, you don't write it in native code for either platform, you write it in a Javascript API so you don't really have to mess with native errors related to things you don't really know in the worst case scenario, but handle the Javascript stuff you're familiar with.
At the end of the day both are great platforms and yes, there is a noticeable difference in performance between wrapped apps (I've also developed with Cordova before) and compiled apps like NativeScript and React Native, both perform just as a native app but there's a choice for you: stick with the most popular but less mature product and its workarounds until it reachaes a more mature stage, or stick with the less popular but more mature solution instead. There is also the choice between the JS framework to use: full Javascript or Angular on NativeScript, or Reactjs and new components for React Native.
Outstanding presentation, from contents to style. Clearly define the subject in a superb way. Thanks a lot for doing a good job.
Wow, what more can I say but thank YOU so much for your absolutely amazing feedback!
Maybe about size before install n after installed
I think Nativescript will have a good future in the "write once" sector. Looking forward to a tutorial on it. Thanks Max
You deserve a big like for such a great comparison video. Thank you. I think the following criteria would also be important to compare:
- Testing
- Debugging
- integration into existing app
- Look&Feel
My intuition leads me to go with NativeScript, but I'd be curious to get feedback and opinions on Xamiran. Thoughts?
Oh ... I read in a previous post that Xamiran is basically an exercise in pain.
Hi Max. Very important question. I cannot find answer anywhere.
Can I write mobile app project with combination of native and react native? As some part of my app really requires native code support .
Yes, definitely - that's one of the strengths of RN. You can build parts of it with React + RN and parts of it with native code.
That is great. What about ionic?
what about C# - Xamarin native Apps?
It is a good choice if you know C#. We did a few apps a while back before they were bought by Microsoft. But a good option. Seems a lot like NativeScript does when it compiles to the native code mappers, but if you know it, use it.
its a great explanation . I hope google Flutter will have all great things of native apps and flexebility of hybrid apps.
Hi Max, what you think about Flutter? @academind
I haven't used it yet. It sounds interesting but I got no personal experiences to share
I am familiar with Ionic but will try Native Script
You could add development environment comparison. React native nailed it using expo ❤️
if(choice == reactNative) { alert('your choice isperfect') }
Greate comparison (Y) and yepp, I got a wixx.com ad before this video started, haha. I get this annoying ad everytime I watch any developing video. Doesnt matter if videos of you, Firebase, Google Cloud Platform or Linux, haha.
btw. a question about an upcoming player: Weex, Apaches answer for Vue Devs to create mobile apps. Its still in an early phase but I cant figure out if it compiles the code into a native app or uses a WebView. In their docs they say phrases like "Weex offers both iOS and Android native rendering layers." and "Weex Native DOM APIs" but also phrases like "It help web developers writing mobile app UI with their familiar HTML / CSS / JavaScript" and the DOM snippets in docs are purely Vue-html frontend. So, Im a bit confused.
What about nativescript-vue.org ? (is that the samme code for both web + native?)
What about Xamarin? I'm very curious about where Xamarin would be located on each comparison chart.
Paused @ 9:20, RN is better for intensive 3D Games processing.
beautiful and super honest comparison love u man (:
Thank you for this video. It help clarify the difference between the many frameworks and libraries available for mobile app development. For me, i will stick with react native and nativescript since i enjoy utilizing some form of web technology while maintaining a closer feel to native life features. I cant do android and swift since learning those languages will need an absurd amount of time invested.
Thank You!
Happy to hear you liked it! And many thanks for sharing your opinion!
Hi Max . Can you please enumerate the valid frameworks that not be banned by apple in Jan 2018. I heard Apple will ban template based apps.
Thanks for this comparison definitely checking out react native, i have built with ionic and angular js but response not as fast as native android.
Durchdachter und verständlicher Überblick, danke!
Es freut mich sehr dass dir das Video gefällt Sascha, vielen Dank für deinen Kommentar!
Thanks! I don’t yet understand why NativeScript isn’t popular? It’s the same code pattern as Angular, so it seems peanuts to build native apps, why so small community?
Good question. Maybe not enough marketing. Bad timing for the market entry. I actually don't know.
I think people are just set in their ways. NativeScript is pretty awesome. Their development environment with play.nativescript.org you can actually write code in your browser and sync it with a wrapper app on your device and the changes Live Sync. It is insane how quickly this makes development. Then you download the code and use it in your app. In general the development time is cut in half. We used the Telerik platform, which are many of the same developers on the NativeScript project, before Telerik was bought by Progress. Those guys are Crazy smart and the LiveSyncing the developed and carried over to the NativeScript project just saves so much time developing.
I'm wondering too... From the day I discovered nativescript...i can't go back.... I can even charge client high price and build the app in two nights... I'm an angular person though... Nativescript is the best out there.
Maybe due to people more excited about react because seemed to market first. Then angular 2 broke with angular 1 and that is why personally I was not fond of that ecosystem, and looked toward react instead. Maybe I will reconsider however
Hey Max. Great content as always. High level NativeScript wins in most categories with the exception of being backed by a large company/install. When comparing ecosystem one thing that should be mentioned is there may be a lot of react components but the quality and integration is much much lower. NativeScript has defined best practices, templates and verified plugins. Building with NativeScript with Vue or Angular with scss based on Bootstrap. Makes a great developer experience with high quality. Would be good if you make a tutorial series. You might soon have a new favourite. Keep up the good workAJ
Thanks for the very kind words and also for the suggestion! I haven't found the time to dive deeper into NativeScript but it's definitely on the todo list. I'll try to share some great content on it, too.
For my opinion middle is gold.
React Native. Why?
Because you have native app features, on mobile Web app way.
2018 here - Flutter absolutely thrashes RN. Plus, fuck Facebook
I think performance was just so horrible on Cordova that a lot of developers learned to reject any non-native solutions. Thank God someone is dissolving the google / apple holy war in a way that still enables great experiences.
It's the Apple war you know?
Great vid! Maybe an updated comparison with Flutter?
(edit: done)
Sounds like a good idea. I'll see if I can create something on this in the future :)
@@academind thank you for doing it, cleared up some things for me :)
Are you doing any native script course!? I would buy it for sure!
I'm not planning this right now to be honest. Certainly possible in the future though
thanks for the quick reply! I'm still catching up with your latest ReactNative! so far enjoying it :)
Awesome video as usual. I would include developer experience in the comparison. I think react native and ionic probably have better realtime reload/refresh on changes in relation to nativescript. Although I have read the nativescript team is actively working on reducing reload/refresh time. Debugging is also probably better in react native. I feel the overall dev experience is more enjoyable in react native but in terms of stability I would go for nativescript. Thanks for your videos Max. You are awesome!
Great addition André, much appreciated!
I have a way clearer picture now, thank you!
The most well explained video that I never seeing before about this topic!!
Thanks a lot, this is really great to read! I also got an updated version of this video (also covering Flutter), maybe this is also interesting for you: academind.com/learn/angular/angular-vs-react-vs-vue-my-thoughts/