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
Oracle Java SE
Score 8.7 out of 10
N/A
Oracle Java SE is a programming language and gives customers enterprise features that minimize the costs of deployment and maintenance of their Java-based IT environment.
N/A
Pricing
NativeScript
Oracle Java SE
Editions & Modules
No answers on this topic
No answers on this topic
Offerings
Pricing Offerings
NativeScript
Oracle Java SE
Free Trial
Yes
No
Free/Freemium Version
Yes
No
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.
NativeScript allows to easily integrate with native APIs by threading models. Moreover, the framework itself can be integrated with Angular, VueJS and JavaScript due to the fact that it was built on based on these frameworks. It allows you to easily maintain if you projects are based on these frameworks. Therefore, for the development of cross-platform applications it can be very handy!
Oracle Java SE is well suited to long-running applications (e.g. servers). Java Swing (UI toolkit) is now rather outdated, lacking support for modern UI features. JavaFX, the potential replacement for Swing, has now been separated out of Java core. Ideally, there would be a path to migrate a large application incrementally from Swing to JavaFX, but due to different threading models and other aspects, it is difficult. At this point, it is probably better to use an embedded web browser (e.g. JxBrowser) to provide a modern UI in HTML/Javascript and keep just the business logic in Java.
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.
Since Java runs on a virtual machine, it's generally considered to be agnostic of the hardware it's running on. It allows for deployment across a mix of hardware setups with the same binary.
Lots of literature, third party libraries, support forums, and books have been devoted to Java in general, making it a great language to use to support the business.
Backwards compatibility has been an important strength of Java for us. Legacy code that isn't ready to be retired yet can still run on our newer setups despite using older versions of OJSE.
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)
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.
The language is fluent and has good support from a number of open source and commercial IDEs. Language features are added every 6 months, although long-term service releases are only available every 3 years. It would be nice if some of the older APIs were depreciated with more pressure to move to the new replacement APIs (e.g. File vs. Path), but transitions to new features are generally well implemented.
My focus has been, and must remain, with obtaining support from web resources over that of paid support programs. Many companies, including those of government agencies, do not have a budget sufficient for paying large sums of money to other organizations to answer questions. Even in cases where an organization did purchase support programs, developers often found that the delays in obtaining responses to development issues was excessive. I give NativeScript the lowest possible rating, due to the fact that their website content is severely outdated and of little use to a developer in a crunch. The NativeScript environment may be far better than I have been able to report, but held back from excelling due to poor support content. Being that I am often asked to push the boundaries in various areas, improper documentation is highly detrimental to a development team, and thuss a review. I would be more than happy to improve this review as the content of the support documentation provided by the NativeScript team makes its way to their website in the form of real-world examples which are applicable to all versions, or at least the most recent versions, of their product.
Java is such a mature product at this point that there is little support from the vendor that is needed. Various sources on the internet, and especially StackOverflow, provide a wealth of knowledge and advice. Areas that may benefit from support is when dealing with complex multithreading issues and security libraries.
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 not rely on JavaScript and Android knowledge as much as NativeScript.
We choose Java as our system has multiple sub-applications that have different purposes and architecture including back-end applications, front-end UI, front-end Rest API, and Selenium Automation tests. They are deployed in Windows and Linux, communicate with each other using Rest API, RMI and Queue Message and need to support different deployment environment from Dev, Test, UAT to Production so using Java allows us to have a common standard from development, build and deployment for all applications.
We had built this particular app once already, during a 6 month time frame, using Ionic. When we hit the wall, we chose NativeScript, and built the whole app from scratch. We estimated another 6 months, but completed the work in 4 months due to the ease of use.
We have found collaboration with our client much easier because of the simplicity of releases and speed of development.
Having a tool like NativeScript has allowed us to make competitive quotes for mobile app development contracts, where previously that would have been closed to us due to our lack of native development experience. Being able to build iOS apps without a Swift-code expert has opened those doors for us.