TrustRadius Insights for NativeScript are summaries of user sentiment data from TrustRadius reviews and, when necessary, third party data sources.
Pros
Extensive repository of plugins: Many users appreciate the extensive repository of plugins available in NativeScript, which allows them to enhance their development speed. This feature has been praised by numerous reviewers as it enables developers to quickly add functionality to their apps without having to build everything from scratch.
Flexibility of architectural choices: The flexibility of NativeScript's four architectural choices - JavaScript, TypeScript, Angular, and Vue - is highly valued by users. This flexibility has been mentioned by a significant number of reviewers who appreciate being able to choose the framework they are most comfortable with and easily transition from prototype to final product.
Native API access and performance: The fact that NativeScript offers 100-day zero Native API access is seen as a major advantage by many users. Multiple reviewers mention this feature as it allows them to leverage the full power of native UI and achieve better performance compared to other frameworks like Ionic or PhoneGap. This capability gives developers more flexibility and control over their app's performance.
We are a consulting company and use NativeScript for apps internally and externally for customers. We chose to use NativeScript as a mobile app development platform because of its native performance, native UI generation, and ease of cross-platform mobile development. Furthermore, we can leverage existing skills on our development teams (Angular, TypeScript, and CSS) to create native mobile apps. This was the first platform we tried that was easy to get started with, and provided the least amount of friction for developing mobile apps.
Pros
NativeScript allows you to build on skills many development teams already have: HTML, JavaScript, and CSS. Many developers understand the paradigm of web development where you have HTML, JavaScript, and CSS to define an application's behavior. NativeScript apps are similar. By using a similar paradigm of development, it enables web developers to quickly jump into their first app, write it quickly, and see the results on iOS and Android.
The NativeScript Playground sets NativeScript apart from other technologies. The NativeScript Playground is a browser-based environment for developing simple NativeScript apps. It’s a great place to get started learning NativeScript, as you can develop apps without needing to install the various SDKs and tools needed for native iOS and Android development. All you need is your browser, and an Android or iOS mobile device connected to the internet to get started. We use the NativeScript Playground to quickly prototype apps. It's an extremely powerful tool.
NativeScript provides abstracted UI and component APIs to access native iOS and Android hardware and UI components. This accelerates development because you can write a singular UI and business logic code for both iOS and Android, thus saving time. At the same time, you have the ability to access native SDK/APIs of the underlying platforms through JavaScript.
NativeScript has three flavors of development: NativeScript Core, Angular, and VueJS. NativeScript Core uses XML, JavaScript, and CSS to build native apps. But, if your developers already know Angular or VueJS, then you can build NativeScript apps using Angular/VueJS development paradigms.
There are dozens of online resources for getting started, troubleshooting, and staying up-to-date with NativeScript: forums, slack channel, twitter, online docs, NativeScript snacks, NativeScripting, blogs, etc. The community has been very strong, and continues to be a shining star NativeScript.
Cons
If users jump directly into NativeScript Angular and are not familiar with NativeScript or Angular yet, it can be difficult to understand where NativeScript ends and Angular begins. This can be confusing.
Likelihood to Recommend
NativeScript is great for line of business apps, quick prototypes, and production apps. NativeScript isn't designed for heavy 3D graphics and gaming apps, as other platforms like Unity do this well and are highly optimized.
I currently use NativeScript for multiple applications that are in various stages of development. In my opinion, NativeScript is one of the best if not the best frameworks to write Android and iOS Applications. With NativeScript I'm able to reuse concepts and knowledge of existing frameworks such as Angular or Vue.js to build Applications that actually use native elements and have native performance.
A common problem with multi-platform development is eventually you will encounter a situation where the framework doesn't have a feature you need to complete a task. This is true for all multi-platform frameworks, including NativeScript. However, with NativeScript you have access to the native API for iOS and Android. This allows us as developers to solve our own problems and not lose momentum whereas other frameworks we would be at the mercy of plugin developers or have to write Java and/or Objective C code ourselves to sometimes solve very small but frustrating tasks.
Pros
Code Reuse - With NativeScript you can share code between Native and Mobile Applications.
Native APIs - being able to access Native APIs allows us as developers to write applications in one language instead of jumping between the Java/Objective C apps are written in TypeScript or JavaScript.
Ease of use - NativeScript SideKick makes working with NativeScript a breeze and allows us to get an application set up for development in a few minutes.
Cons
Occasionally there are inconsistencies when it comes to styling and layouts between Android and iOS, this can be frustrating especially in the beginning because you are usually working with one platform and then switch to the other only to have layout issues.
New releases sometimes are buggy.
Likelihood to Recommend
NativeScript is well suited for most smartphone applications, I'm using it for a motion sensing application, a Roku remote and a streaming music service application, however, it is not for game development.
VU
Verified User
Employee in Information Technology (Computer Software company, 201-500 employees)
I work at a fitness based startup. Our app, "AnyGo" is built entirely using NativeScript. I was the one who proposed to the team, to use NativeScript. And today when I look back, I'm glad that I found NativeScript. We were able to launch our app in 6 months, all thanks to NativeScript. I worked on the app, while 3 other developers built the backend on NodeJS.
Pros
NativeScript has a large repository of plugins at market.nativescript.org for the times when you want to boost your development speed.
NativeScript gives you 100% day zero Native API access.
NativeScript doesn't use any webview to render the UI. So you get Native UI, and therefore better performance, when compared to things like ionic or phone gap.
With NativeScript you get 4 architectural choices, JavaScript, TypeScript, Angular and Vue. Choose the one you are comfortable with.
Cons
Nativescript runs everything on a single thread. i.e., the UI thread. If you want to offload some processing, you have to use web workers. This experience can be improved in the future releases.
Currently NativeScript only have hot reload when you change the UI file or Css file. There is no hot reload when you change Js/Ts file, unlike Google's Flutter. This is also something which NativeScript will get in the future releases.
In current version of NativeScript, there is no livesync when building with webpack. This feature will be added with NativeScript 4.x. (an RC version for 4.x is already available)
Likelihood to Recommend
When you want to target Web and Mobile (iOS + Android), using a single code base. Then you can use NativeScript Angular or NativeScript Vue.
If your app is going to do a lot of heavy lifting in the background, requires building widgets that can be added on homescreen, or simply is going to be a service, which doesn't require UI, then NativeScript is not an ideal fit for that project.
As a very small development shop, NativeScript allows us to create cross platform "native" mobile applications for Android and iOS while using a single web skillset rather than needing to learn Java, Objective-C, or Swift. NativeScript with Angular is being used and the single skillset for development helps to reduce the cost and barrier to entry for mobile application development.
Pros
Native mobile applications built with NativeScript that do not rely on a WebView component result in extremely fast performance and a happy user experience.
Being able to use JavaScript, TypeScript, Angular, or Vue.js gives the developers options when it comes to development.
NativeScript has a lot of plugins for features such as charting that would otherwise be very complicated to implement in iOS and Android if not using NativeScript.
Cons
The documentation could be improved to be more consistent across all supported frameworks like Angular, Vue.js, and Core.
The application binary size could be reduced to be more in line with pure native and other similar frameworks.
Likelihood to Recommend
NativeScript is well suited for most mobile development. Being that it supports Android and iOS with either Angular, Vue.js, and TypeScript or JavaScript, it covers a lot of developer possibilities. If the developer has prior experience with React, it may be more logical to explore React Native to meet an already existing skill set. Likewise if the developer has prior C# experience it might be better to choose Xamarin.
Our organization uses NativeScript to build different mobile applications for clients with different needs. NativeScript has been a great fit for us for the last couple of years, as it allows us to move forward quickly delivering high-quality applications in a lot less time than it would take if we had to develop two separate codebases for the two main platforms.
Pros
Easy to use abstactions for common elements such as action bars, tab views etc.
Allows accessing native APIs within JavaScript, so if anything is missing from the core framework, we don't have to wait for an update, we can just implement it straight away.
The choices when choosing a framework (or no framework) to be used. NativeScript works with plain JavaScript, plain Typescript, Angular and a recent additon of VueJs.
Cons
There is no real hot module replacement, where changes made to the source code reflect on the device instantly.
There is a slight overhead by having to run a JavaScript VM, so if performance is really critical NativeScript might not be the right choice. Worth noting that in most cases the performance is very comparable to truly native applications.
There are no ready-made UI collections, so applications have to be built using the default UI elements, and then styled manually.
Likelihood to Recommend
If the goal is to ease future maintenance by not having to develop two separate codebases for the two main platforms then NativeScript might be a great fit. NativeScript is not a good fit for games because of the added overhead of having to run a JavaScript VM that proxies calls to the underlying native layer.
VU
Verified User
Engineer in Engineering (Computer Software company, 1-10 employees)
At nStudio, LLC. we use it as our suggested application framework to clients for developing iOS and Android applications that integrate with a web app so we can utilize the code-sharing strategy of a web framework like Angular or VueJS and significantly reduce the amount of code to write for a web app and mobile app.
Pros
The CLI for development workflow is very great. The livesync option for fast dev iteration works really well.
Styling native apps is not easy but NativeScript provides an abstraction of CSS to easily style native apps similar to how web apps are styled.
Cons
The one area we are wanting to see is Hot Module Reloading, this is supposedly in the works but we anxiously awaiting it to be implemented. While the livesync is great it sometimes can be a hinderance to the work flow when the app has to restart for code changes, where HMR would allow instant code changes without an app restart.
The layouts could use some better "guessing" on what the developers are trying to do if they are not sure of how to do things, the learning curve for layouts can be rough for new devs.
Likelihood to Recommend
If you're going to want a mobile app and a web app then NativeScript is the perfect solution, especially if your developers enjoy Angular or VueJS javascript frameworks.
If you're going to do game development or if learning native mobile paradigms are an issue then NativeScript is not the best option and using a web only approach would be best.
NativeScript is the main tool to develop mobile apps for internal and external projects. The main feature is the capacity to develop one source code to address ios and android using the actual experience the dev team has with javascript and angular. Because of their active community, we can reuse our experience and others' in order to speed up every project. Using the extensive library of components already available and the one we have built with the time, we reuse a lot of code saving time.
Pros
The fastest transition from prototype to final product
Javascript with angular allow us to use the actual experience. No need for native development
Native performance, you can exploit the hardware better than hybrid tools
Cons
If you come from the nodejs world, you will have to sacrifice some ways to deal with data. For example, we had to sacrifice PouchDB for offline data
The final size for Android could be huge compared with hybrid tools or the sameNativeScriptt for iOS
Some native development is required in order to exploit all the components
Sometimes web development experience is not enough. Even with Angular you need to learn some new concepts. Once dominated, you can rock native mobile apps
Likelihood to Recommend
When you need to exploit all the hardware capabilities and the communication with the backend is critical, you better go with NativeScript. If your main feature is offline access then you better sacrifice some performance going with something hybrid like Ionic. The criteria to choose better is if the final application could work more like a web page, or you already have a web app and you want almost the same features in your mobile app, you will go for a hybrid, but if you want to go from scratch thinking on a completely mobile experience with performance where the connectivity is not an issue you will go for NativeScript.