Native Script与本机和离子框架之间的差异

时间:2016-09-15 08:44:41

标签: cordova ionic-framework react-native nativescript hybrid-mobile-app

Native Script和ionic框架都用于构建IOS和Android应用程序,具有Web视图和&分别没有Web视图。

在上述技术中,网页视图的概念与没有网页视图之间存在混淆。

Native Script和离子框架之间的主要区别是什么。 哪一个提供最佳性能?

任何人都可以解释这个或提供一些相关的东西。

(如果我的理解错误,请纠正我)

4 个答案:

答案 0 :(得分:18)

Nativescript(类似于React-Native)允许您使用Javascript和XML(或JSX)开发移动应用程序。这些框架允许您生成本机移动应用程序。 UI使用平台中的本机组件来创建高性能的光滑界面。 Javascript逻辑代码在与应用程序捆绑在一起的JS引擎(V8 for Android)中运行。这有使应用程序非常大的缺点,但您可以制作跨平台,高性能的移动应用程序。 JS代码还可以通过在框架中桥接代码来访问电话功能。

PhoneGap / Cordova混合应用程序是一种网络应用程序,可以像本机应用程序一样安装到手机上,但它们可以在WebView中运行。 Cordova用于访问手机硬件功能。用户界面不是原生的,它只是一个网页,因此如果您的应用程序很复杂,您可能会遇到性能问题(特别是在旧手机上)和图形卡顿。

Ionic2可能是混合框架的最佳示例,它可以很好地克服性能问题,但它很难获得好的示例/教程,因为它是非常新的并且打破了很多东西Ionic1。搜索示例会带来许多不再有效的代码。混合应用程序在所有平台上看起来都很相似,因为它们不使用本机UI组件。有些人更喜欢iPhone应用程序看起来像iPhone应用程序,而不是Web应用程序。

答案 1 :(得分:3)

我已经研究了本机和本机脚本的反应,并在8个月的时间内开发了一些应用程序.Ionic是我必须尝试的东西。所以我会分享我使用react native和nativescript的经验。

反应native和nativescript有利有弊。这取决于主要作出选择的应用程序的用户需求。

例如: 当我将要构建的应用程序更多地定位到iOS并且基本上要求视图呈现快速而不是那么多数据处理我去了本地反应。

另一方面,应用程序是为Android构建的第一个,而对于iOS,我选择了本机脚本,因为与native native相比,它对android有更好的支持。你可以使用nativescript的主要优点是角度-2数据绑定方法,它减少了本机中不存在的工作。

本地反应社区比nativescript非常庞大,并且以更快的速度增长,但我发现本机脚本社区更有帮助。

以下是各自官方网站的全部描述

REACT NATIVE

React Native允许您仅使用JavaScript构建移动应用程序。它使用与React相同的设计,允许您从声明组件组成丰富的移动UI。使用React Native,您不构建“移动Web应用程序”,“HTML5应用程序”或“混合应用程序”。您构建了一个真正的移动应用程序,它与使用Objective-C或Java构建的应用程序无法区分。 React Native使用与常规iOS和Android应用相同的基本UI构建块。您只需使用JavaScript和React将这些构建块放在一起。

<强> NATIVESCRIPT

NativeScript是您在没有Web视图的情况下构建跨平台,原生iOS和Android应用程序的方式。使用Angular,TypeScript或现代JavaScript来获得真正的原生UI和性能,同时与Web共享技能和代码。通过JavaScript 100%访问本机API,并重用NPM,CocoaPods和Gradle中的软件包。开源并由Telerik支持。

<强>离子

Ionic框架是一个用于开发移动应用程序的开源SDK。由于它基于AngularJS和Apache Cordova,Ionic可以为iOS和Android构建混合应用程序而不是单独的应用程序。它具有相当好的文档和教程。另外,只需了解基本的Javascript和HTML即可开始使用。

答案 2 :(得分:1)

要获得更快的学习曲线和更好的代码隔离性,请使用Nativescript

如果您的应用很大,很关键并且需要一些性能,请选择React Native

这并不意味着您无法使用Nativescript创建大型应用程序,但这是一个先驱者在其产品中没有使用Nativescript的事实。

我几乎总是收到小型应用程序的订单,并且经常使用Nativescript。 而且我通常花一两个星期来完成一个应用程序。

我也以10人为一组来研究React Native,并且由于性能,重用能力,稳定性和代码隔离等诸多因素的影响。在过去的6个月中,该应用尚未完成,因为它具有一定的学习曲线。

但是我有信心地说,如果您的应用很小,并且想快速交付,预算又很小,那就去Nativescript

如果您知道Nativescript,则学习react更容易,反之亦然。

我的观点

Nativescript的体系结构非常出色。但是ReactNative如此出名,并提供更好的性能,只是因为它的名字是“ facebook开发人员开发了此文件”。因此,它当然变得很流行,人们开始使用它,并在人们对其进行改进的同时使其变得更加流行。如果facebook人已经发展成Nativescript,那么没有人会想到触摸ReactNative

我希望有人开发一种跨平台技术,该技术是Nativescript的体系结构和ReactNative的组件重用能力功能的组合。

答案 3 :(得分:-2)

重要的区别在于本机应用程序是专门为特定平台开发的(例如,适用于iPhone的iOS,适用于Android的Android操作系统或适用于Windows Phone的Windows等),并要求开发人员具备专业知识和技能。在某个开发环境中工作(适用于iOS的Xcode,适用于Android的Eclipse,适用于Windows Phone的Visual Studio)。每个平台都使用自己的编程语言(iOS的Objective C或Swift,Android的Java,Windows Phone的C#)。

另一方面,由于其跨平台功能,混合应用程序可在所有设备上运行。混合应用程序开发最流行的框架是PhoneGap。

但是,我强烈建议开发本机应用程序,尽管其复杂性,因为本机应用程序具有更好的性能,可提供更好的用户体验。

有关本机应用程序和混合应用程序特性,开发过程等的更多详细信息,您可以在这篇有用的文章中找到:http://computoolsglobal.com/blog/native-app-vs-hybrid-app/