Flutter vs NativeScript: a Web Developer’s perspective
#13 — A comparison between Flutter and NativeScript from the eye of a web developer

Two years ago I started the Learning Lab challenge: to learn about one new topic every one or two months. The previous months, after learning about nutrition, I decided to learn the framework Flutter 🙌.
Flutter is a toolkit, made by Google, to build native apps for mobile (iOS and Android), web and even desktop with one codebase. My friend Etienne, challenged me to learn it with him. I didn’t want in the beginning since I am a Web developer, and also I recently learnt how to build mobile apps with NativeScript VueJS (and I loved it!). But I took this challenge as an opportunity to compare NativeScript and Flutter.
Disclaimer: I am originally a Web Developer and I love VueJS! I also built 2 native mobile apps with NativeScript VueJS and I loved the programming experience. So this comparison may be a bit opinionated, I’ll try my best to be objective and give pros and cons in this article.
How to learn Flutter?
Once again, I followed the Learning Lab methodology.
- Finding a mentor I didn’t look for a mentor since I was going to learn along with my friend Etienne, he is a mobile developer so I consider that he has more experience than me!
- Defining the scope of the topic The scope of this topic is knowing how to start a flutter project and how it is structured and therefore learning Dart’s syntax.
- Choosing a learning resource I only used one resource, the official documentation, it’s very good and complete: https://flutter.dev/docs
- Defining a project I took one of the projects I had in my backlog of ideas that we agreed on with my friend: Infinideas — An infinite feed of crowdsourced ideas (from Twitter and Reddit).
Things Flutter do better than NativeScript
Let’s start with the positive side of Flutter 👍.
Performance
The app built with Flutter is more responsive than the one I built with NativeScript, especially the scroll it’s sleek! Nevertheless, we can see some lag on the animation when opening a webview!
Integration with Android Studio and VSCode
Installing Flutter is very easy and it integrates itself perfectly in both Android Studio and Visual Studio Code thanks to a very good official extension.
Debugging
Debugging is very easy because of this strong integration described above but also because Flutter uses Dart’s language which is typed. It will not compile if types are not respected which is not the case with NativeScript and can lead to some errors and a lot of time for debugging.
Community
Both Flutter and NativeScript have a good community. I was using a lot the NativeScript Slack full of nice and helpful people, and issues on Github or StackOverFlow to solve most of my problems. Nevertheless, Flutter’s community seems a bit bigger since it has more canals, you can see it here: https://flutter.dev/community
Things both Flutter and NativeScript are good at
Let’s be honest, both Flutter and NativeScript are very good framework they come with a lot of good stuff 🙂.
Command Line Interface
Both Flutter and NativeScript comes with good CLI tools, that you can use to install updates, libraries, or just to check if everything is good (type tns doctor or flutter doctor )

Build in the cloud with Codemagic & Sidekick
Thanks to Codemagic and Sidekick you can build and sign your app (Android and iOS) in the cloud without having a Mac! That’s awesome for a windows user like me. Note that I didn’t try Codemagic, it’s more a CI/CD tool for Flutter whereas Sidekick is a GUI tool to manage your NativeScript project (run, build, change assets, icons, …). Also, there is not an official tool for CI/CD tool for NativeScript, you can use any such as Travis or CircleCI.
Libraries
At the time I am writing there are 3246 Flutter libraries and 1200 NativeScript libraries. It’s a strong advantage for Flutter that is younger! But keep in mind that you can use many of the NodeJS libraries with NativeScript since the app comes with a Node runtime. Similarly, Flutter apps can use any Dart library!
Things NativeScript do better than Flutter
Flutter is good, but it has a lot of downsides, at least for the web developer that I am 🤔!
Framework choices
NativeScript is perfect for Frontend Web Developers you have the choice between Angular, VueJS or simple Vanilla JS with XML for templating.
Templating language
Templating languages is for me what is totally missing in Flutter.

You can see the following code written in dart, it is the build method of the widget. It’s very verbose. Note that to make the code more readable we use some style / theming functions that are in separate files.

