Flutter is an open-source mobile application development framework created by Google. It is used to develop applications for Android and iOS, as well as being the primary method of creating applications for Google Fuchsia.
$0
NativeScript
Score 4.8 out of 10
N/A
NativeScript is an open source framework that allows
you to create native iOS and Android apps, with one codebase, using the web
skills you already have (JavaScript and CSS) and the libraries you already
love.
N/A
Pricing
Flutter by Google
NativeScript
Editions & Modules
No answers on this topic
No answers on this topic
Offerings
Pricing Offerings
Flutter
NativeScript
Free Trial
No
Yes
Free/Freemium Version
Yes
Yes
Premium Consulting/Integration Services
No
No
Entry-level Setup Fee
No setup fee
No setup fee
Additional Details
—
The NativeScript framework and CLI are completely free and open source. NativeScript Sidekick is a free download to improve developer productivity with optional paid tiers for power users.
Flutter is a bit different from Android Studio, the latter one being an Integrated Development Environment (IDE) while Flutter itself is a Cross-Platform Mobile Development SDK (Software Development Kit). Flutter provides the access to the native features and built-in plugins …
NativeScript was indeed a better experience at first than Ionic. But the real game-changer in 2022 for cross-platform applications is Flutter now. We changed to it shorty after NativeScript, as it is much more stable, more widely supported, has a ton of extra features, and does …
Flutter by Google is well suited where you have to make an app across multiple platforms like iOS, Android, Web, Desktop and you don't have the bandwidth to create multiple teams for the Native app. This makes sure you have a faster development and you don't have to worry about how your product will look across different platforms. It is also very smooth/fast in response, making it close to feel like a Native app, this makes it an easy pick for a Fintech product where speed matters. Flutter by Google also has a huge library of Components, which are well tested and developed by Google's Flutter by Google team itself, making the development even more fast since the majority of required components are already available.
I gotta be honest, after a PoC period, we choose to rewrite the whole application in a different cross-platform app. Our developers had to invest a lot of time and effort to debug a lot of plugin-related issues, which we needed to utilize the android mobile phone capabilities. QR reader, special visualizations, and fine-tuning were really hard and often resulted in writing native Android code instead of using the shared Angular code. In the end, we think that writing a standalone Android app and an Angular app would have been a better alternative, as the shared code base was so unreliable that it did not save us any time.
True native app. The app uses native components and that is quite noticeable in the overall performance of the app. NativeScript is also awesome in the way we can access the native APIs, so we are never really constrained by the framework. If we need, we can just dive into the native APIs without leaving our environment and language (JS).
Cross-platform. Builds for Android and iOS. It deals with the platforms differences very well.
Support for Vue.js. Even though it is just a community effort, the NativeScript-Vue plugin is the best alternative to build native Apps with Vue.js. That was a major factor to go with NativeScript.
Occasionally updates to the Flutter SDK result in wide-sweeping changes that seem to not be thoroughly tested and considered. Flutter sometimes evolves too fast for its own good.
While the 3rd-party Flutter package ecosystem is vast and rich, 1st-party support for basic things (audio/video playback, battery information, Bluetooth services, etc.) are lacking. You are occasionally forced to rely on an open-source package for use-cases that other platforms have native support for.
Documentation, particularly around testing, is lacking. While there are some great docs, like the Dart Style Guide, many Flutter-focused support documents are lacking in quality and real-world usability.
Flutter allows you to architect an app however you want. While this is a great feature, it also adds complexity and leads to the current state of Flutter's state management, where there are 50+ options on how to organize your app, with very little official guidance or recommendations from the Flutter team. For a beginner, this can create decision paralysis.
The hybrid is ok but native is better for performance and the right use case I want to go for is the performance without dealing with too many development tools.
Flutter by Google is very easy to start with. The initial setup they provide is very helpful and easy to understand. The default project setup is also good and can be deployed to production without changing much. Flutter by Google provides a huge library of components, which are created and tested by their own team, making the development of application much faster and robust. Flutter by Google also has a huge community support where we can find components built by the community and we can contribute our own components as well, which helps in faster dev time. Applications developed using Flutter by Google are very smooth, almost feels like native, which helps in creating good impression on customers/clients.
The community support is excellent. They have a slack community as well as a discourse forum forum.nativescript.org Both of these offer community driven support. The forum is more for a threaded discussion. The slack community is more for a quick talk.
I have experience with react and React Native. I would say that the idea behind all those frameworks are quite similar. However, I found the javascript-based frameworks a bit more accessible as you could utilise your javascript knowledge. Here, Flutter works with its own language. This has advantages and disadvantages sometimes. I found the community around javascript frameworks bigger and therefore sometimes more helpful. However, Flutter does a good job here as well. I think the main argument for Flutter is its usability for less experienced developers. If you do not have knowledge in javascript or other programming languages then I think it is much easier to start with Flutter than with another framework like react. I think the package that you get form scratch is better than in the other frameworks were you have to set up and learn a lot more before you can start.
Ionic Ionic is an excellent Angular-based framework for mobile, and it does give a lot of access to the native device api's. However, the technology is based on Cordova, which means the apps being built are just webviews, with html, css and JS all running on the UI thread, and potentially creating very slow experiences for users. NativeScript is a truly native solution, and so provides a faster user experience. ReactNative We evaluate ReactNative, and found it much the same as NativeScript. The main difference is that your JS is all written with React, while NativeScript lets you choose between normal JS, Angular, and Vue. For our team, Angular was the most appropriate choice.
The rapid development capabilities of Flutter allow us to build apps we could not have previously considered commercially viable, opening new revenue streams.
Free and open licensing made adoption very easy (ie. free/low cost!).
In comparison to Qt, our time spent arguing with build tools and perfecting development environments has decreased substantially.
The poor quality of NativeScript documentation has the potential to weigh heavily on development timelines, budgets, and QA resources in a NEGATIVE manner.
The poor interoperability of NativeScript plugins can significantly increase development time.
The need to seek out professional instruction to learn how to use NativeScript effectively may become a burden on your budget.
The number of breaking changes between versions of NativeScript, may cause your development efforts to lag further behind the most recent releases of NativeScript and your other chosen environments than you are accustomed to.
NativeScript still does not support the latest major version of Angular. Any significant changes to the other environment components of your systems may hold you back even further while NativeScript plays catch-up.