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.0 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.
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.
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.
Commercial Licensing in 2019. Oracle will charge commercial organizations using Java SE for upgrading to the latest bug fixes and updates. Organizations will now need to either limit their implementation of Java SE or may need to drop it altogether.
Slow Performance. Due to the all of the abstraction of the JVM, Java SE programs take much more resources to compile and run compared to Python.
Poor UI appearance on all of the major GUI libraries (Swing, SWT, etc.). Through Android Studio, it is easy to get a native look/feel for Java apps, but when it comes to desktops, the UI is far from acceptable (does not mimic the native OS's look/feel at all).
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.
Oracle Java SE provides the new features along with timely security patches. New features like Record patterns and pattern matching for switches are very useful. With every new release of Java, it is getting better. Sequenced collections are also an interesting feature added to Java. With all these new features, backward compatibility is also maintained.
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.
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.
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.
Chose to go with Java instead of Python or C++ due to the expertise on the ground with the technology, for its ease of integration with our heterogeneous setup of production servers, and for the third party library support which we've found was able to address some challenging aspects of our business problem.
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.
The different versions make it harder to work with other companies where some use newer versions while some use older versions, costing time to make them compatible.
Licenses are getting to be costly, forcing us to consider OpenJDK as an alternative.
New features take time to learn. When someone starts using them, everyone has to take time to learn.