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
.NET
Score 8.6 out of 10
N/A
Microsoft's .Net is an open source, freeware application infrastructure.
N/A
React (React.js)
Score 8.8 out of 10
N/A
React or React.js is a JavaScript library for building user interfaces. React enables users to create interactive UIs.
$0
Pricing
NativeScript
.NET
React (React.js)
Editions & Modules
No answers on this topic
No answers on this topic
No answers on this topic
Offerings
Pricing Offerings
NativeScript
.NET
React (React.js)
Free Trial
Yes
No
No
Free/Freemium Version
Yes
No
Yes
Premium Consulting/Integration Services
No
No
No
Entry-level Setup Fee
No 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.
—
—
More Pricing Information
Community Pulse
NativeScript
.NET
React (React.js)
Considered Multiple Products
NativeScript
No answer on this topic
.NET
Verified User
Manager
Chose .NET
Full documentation
Support from Microsoft and stable releases from Microsoft.
.Net platform is our primary option for developing newer solutions because of a lot of reasons, but in the past years, we have received a few requests in which we had to use Java SE. We had no big problem to use Java. Still, the productivity difference and the offer of …
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.
.NET is well suited for any general purpose solution to a business problem, though if we are talking strictly the framework version - you have to be more or less tied to Microsoft Windows to run it. If this isn't a problem, then it will be able to address and solve any programming project you have.
React is a JavaScript user interface construction library that works well for:
Developing web apps with dynamic and complicated user interfaces.
creating reusable UI elements that may be used in other applications.
creating single-page applications with dynamic content updates that don't require a page reload.
The Virtual DOM's effective updating mechanism allows it to handle large volumes of data updates.
React, on the other hand, might be less suitable for:
Websites that are simple, stagnant, and have no interaction. Other libraries or simple HTML, CSS, and JavaScript may be a better fit in such circumstances.
Web sockets may be a better choice for applications that need real-time updates, such as chat or gaming apps.
When creating mobile apps, React Native is a better option.
Server side rendering only, as React is designed to run on the client side.
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.
React is fantastic for building performant user interfaces. Our web app is snappy and great for our customers.
React has the philosophy of doing one thing and doing it well which is the view layer of the application. This makes it incredibly intuitive and flexible for developers to use.
React has lead the way in being able to write modular and structured code. It is a drastic improvement since the days of spaghetti jQuery code.
React has an unmatched community. The amount of tools and libraries available is fantastic, and there plenty of solutions available online for common problems.
.NET is heavily Microsoft Windows oriented, and while .NET core tried to resolve that with MacOS and Linux support, .NET Core is still waiting for wider adoption.
While free for small projects, additional features for big projects can be a little expensive.
Can be resource-heavy upon deployment. We continuously have our more senior staff optimize the code of our junior developers for performance. Other languages are a little bit more forgiving in comparison.
Debugging React is challenging. Bugs in react code generate stack traces internal to React and it is often totally unclear how it relates to the code you actually wrote.
Relating your React elements to corresponding DOM elements is difficult. The intentional separation of virtual and actual DOM also makes it difficult to map the elements to the structures in the DOM. This is partially ameliorated by the use of the React dev tool, which provides a DOM-like view of the React elements, but the tool still does not provide a direct correspondence with the DOM that is often necessary to figure out why something isn't right.
Because JSX is React-specific and not a language feature, a special compilation process is necessary to convert JSX code to normal JS. Coming from a C++ background, compiling things doesn't bother me, but many JS developers are used to a less structured development.
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 full .NET Framework is an amazing thing and is very robust. We have used it to create console apps, Windows apps, and online apps. When coupled with Visual Studio, development, testing, building, and deploying our applications has become 100 times easier as compared to doing those things manually before. The automation of this process has helped us push out changes to our applications faster to adapt to the ever-changing business requirements.
React is just a bit of a different animal. I was avoiding it for the longest time. I thought for sure I would land on Vue or something else with a more approachable and familiar appearance. But after taking an online course in React, I started realize what people were raving about (and complaining about) and decided to implement it at our office for one of our products.
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.
You don't often need to reach out to Microsoft for .NET support. If you do, there are forums and websites that have active Microsoft support folks where you can provide feedback or get help. Microsoft support in general is quite good as well, but not cheap. The best support is from the community like StackOverflow.
Since it's open-source and very popular, the community support for React and related tools and libraries is excellent. There are a lot of people using the same tools, and so issues tend to get fixed quickly and "recipes" are easy to come by. And since it's backed by Facebook, they have a dedicated engineering team working on the progression of React.
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 .NET platform has a much longer and broader history than Laravel, so we chose to go with it as the support will be far superior. Additionally, Laravel is tied to PHP, while you can use multiple different languages in .NET. The additional flexibility that .NET provides in the range of types of applications you can build with it sealed the deal.
While this is a widely contested debate with various blog posts and benchmarks all over the place, its really a personal choice to determine what works for the team. Coming from a Angular 1.x background, I decided to try a new framework when Angular 2.x was announced and at that time React is gaining popularity and Vue hasn't taken off yet. Compared to Angular 1.x and Vue (hybrid of React and Angular) that split the logic from the html templates, I loved the way React breaks code into components using the jsx syntax. In my mind, this allows for cleaner components and easier maintenance
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.
There are few factors we needed for our custom development. Below are each of them. We were able to get a satisfactory outcome for each of these factors which made .NET platform a very good choice in developing enterprise applications.
Reusability of codes- Microsoft has given many re-usable codes and components in the framework to help developers do their job effortlessly. With the help of default features, developers can create end-to-end solutions and make the business operations more efficient. As codes and components are reusable, .NET reduces development time and if applications take less time to develop, they cost cheaper and you get faster return on investment.
Easy to maintain- Development cost is one time, but maintenance cost is incurring. .NET apps are easily maintainable, thanks to the configuration settings that can be modified without any need to rewrite the code.
Deployment is hassle free- Deploying software is always challenging and the most common problem developers face in this process is the existence of multiple DLLs. It’s hard to make sure that all DLLs will co-exist in the same machine. .NET framework solves this problem by allowing different versions of the same DLL to exist side-by-side on the same machine.
Security- .NET is one of the most secure web and application development frameworks available in the market. As it’s made by Microsoft, you can be absolutely sure about the security measurements. Hackers can never steal valuable data from your website or apps.
Cross platform friendly- What if you had developed an app for desktop and laptop computers and now after seeing the growth of mobile apps in the market, you want it in mobile version as well? You can easily develop an app that runs on the desktop and PDA without any issue. As you can re-use the codes and utilize the same development environment, your job becomes a lot simpler.