资讯专栏INFORMATION COLUMN

Angular2, NativeScript 和 React Native比较[翻译]

cooxer / 1691人阅读

摘要:当开始使用来提供真正的跨平台应用时,他发现对的紧耦合的依赖性在用开发应用创建映射时呈现的问题。的重点放在高性能的渲染和执行上,你可以很轻松的创建高性能的跨平台应用,这些应用可以在相同的代码库上运行并且随意使用特点平台的组件。

在开发阶段,跨平台开发App面临一个很重要的决定,到底是应该使用原生技术开发应用还是使用hybird或者基于web的技术。这些问题将会影响着大量的开发工作-也就是说,最近选择继续使用原生的方法开发应用意味着让你的开发团队同时使用 Objective C/Swift (iOS)和 Java (Android )开发功能。这对于开发原生的应用并没有什么可以讨论的。下面我们将看到用javascript通过使用React Native或者使用Angular2和NativeScript联合去开发跨平台的原生应用。我们可以看一下这两种方式都提供哪些方法,然后去比较两者,希望能给开发者选择技术方式有一定的启发。

为什么选择Native?

Native App 比hybird和基于H5的应用有很多优点。首先,Native 应用更接近设备底层,意味着原生应用代码的执行效率比hybird框架高。另外,Native应用还可以让你使用很多hybird框架用不了的特性,你可以使用更多特定的平台下很多特性,特别是与硬件结合的部分可以在一组源代码中完成,而不用在hybird应用中包含自定义的模块或者非web的组件。这些特性能提供一个良好的用户体验,所以使用Native方式开发应用变动越来越流行。通过使用native组件的框架,我们可以减少原生app开发的花费。

React Rective

在2015年3月,Facebook推出了React Native,允许开发者使用相同的javascript代码运行在iOS或者Android上的框架。React是一组具有最小的外部副作用和对DOM依赖的一系列函数。React能够将使用DOM作为主要的渲染模型,这种设计模式使得替换本地组件变得简单,而不是使用原来的那种web视图和HTML组件的方式。因此,使用相同的代码应用可以在iOS上使用UIAlertView上使用AlertDialog 实现警告弹窗,而不用写任何额外的代码去支持UI视图。这些特性都使得React专注于速度和脏渲染相结合,你可以用一个代码库快速构建跨平台的移动应用。

AngularJS 2 + NativeScript

Telerik的团队最初集成Angular开发了Kendo UI库。它作为一个跨平台的开发工具,为开发hybord应用和H5应用提供了一个一致性的跨平台UI体验。当Telerik开始使用NativeScript来提供真正的跨平台应用时,他发现Angular 1.x对DOM的紧耦合的依赖性在用Angular开发应用创建native UI映射时呈现的问题。然而,随着Angular2的到来,一切都变了。Angular2对DOM的松耦合允许NativeScript开发者和React Native一样的机制-抽象视图和组件渲染,这使得DOM不再是必需的。Angular2很容易和NativeScript集成,允许你开发一样风格的native app运行在所有的手机平台。

两者比较

在比较React Native和NativeScript 这两个以解决native开发为重心的解决方案时,关键是看它们是怎么样从相同的代码构建应用的。NativeScript 采用了整体性的解决方案,真正实现了"一次编写,到处运行"。这意味着许多UI元素会降低级别,因为NativeScript尝试在多个平台间可以透明和可重复的方式管理这些UI组件。随着Angular2的加入,你可以通过Angular核心的UI指令的优点去创建跨平台的应用,这些指令可以比在多个应用之间创建UI组件更具有一致性。

在辩论的另一方是React Native,它选择拥抱-而不是隐藏其多平台的性质。这意味着虽然您可以以平台无关的方式编写React Native代码,但你也可以访问特定平台的UI控件。另一方面,React的目标是抽象业务逻辑,同时支持每个平台之间的UI呈现固有的差异,而NativeScript专注于创建一个单一的开发体验而与平台无关。React的重点放在高性能的渲染和执行上,你可以很轻松的创建高性能的跨平台应用,这些应用可以在相同的代码库上运行并且随意使用特点平台的组件。使用哪种方式应该依据你的应用综合考虑,相对通用的数据驱动的应用程序可能更欢NativeScript,因为它的UI通常不足以满足以平台为中心的应用。尽管是这样,在web应用中使用Angular2来驱动的应用架构也会比React Native有很多性能优势。不管怎么样,使用Angular2和NativeScript需要去使用传统的Angular架构去构建你的代码,但是React Native可以不必如此。另外,使用NativeScript和Angular2构建应用,会向应用程序的管道中引入附加的依赖关系,这个问题不像React Native那样明显,它可以处理React框架中的所有跨平台功能。

结论

跨平台开发已经在迅速的发展,最近跨平台和原生开发框架的激增只会继续这种势头。选择React Native和Angular2结合NativeScript,换一种方式说,就像选择React和Angular框架自身。React被设计作为一个快速轻量的渲染框架在大型应用中使用,React Native延续了这种设计设计的模式。另一方面,Angular是一个有意识的应用程序开发框架,它具有开发应用程序的“正确方法”,Angular 2和NativeScript的集成进一步减少了小型的设备集成的费用。因此,两者之间的选择在很大程度上是相同的。你的应用是集中在大量的渲染复杂UI和传统元素吗?如果是,React Native比较适合你。但是,如果有一个声明式用户界面模式的单一跨平台代码库的应用程序架构,那么结合Angular2和NativeScript可以帮助你实现在采用Angular用于Web应用程序,同时保持类似的开发模式和程序体系结构。

原文链接

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/81540.html

相关文章

  • 【译】Hybrid or Native: 合适的才是最好的

    摘要:本文转载自众成翻译译者文蔺链接原文译者注本文讲到的可能和我们通常理解的略有差异。文中部分主要讲到的是,这一点可能在一些开发者看来是有争议的。谈到,最好也是最简单的办法是使用免费开源的框架。需要快速开发打样那可能最好的选择。 本文转载自:众成翻译译者:文蔺链接:http://www.zcfy.cc/article/861原文:http://www.telerik.com/blogs/h...

    张春雷 评论0 收藏0
  • 翻译 | 摆脱浏览器限制的JavaScript

    摘要:在考虑宇航员的生命安全时,轻微的打嗝或者服务中断都会酿成生死事故。也许最大的挑战来自谷歌主导的简称。在最近的开发者峰会,以及今年的会议上,谷歌都为安排了大量讨论。由微软提供,是广受欢迎的编辑器,到月份已经获得了超过五百万用户。 译者:安冬 (沪江Web前端开发工程师)本文原创翻译,转载请注明作者及出处。原文地址:http://developer.telerik.com/... 技术世界...

    xfee 评论0 收藏0
  • 2016-JavaScript之星

    摘要:在,是当之无愧的王者,赢得了与之间的战争,攻陷了的城池。于月发布了版本,这一版本为了更好的表现加入了渲染方式。前端框架这个前端框架清单可能是年疲劳的元凶之一。的创建者,目前在工作为寻找构建简单性和自主配置性之间的平衡做了很大的贡献。 春节后的第一篇就从这个开始吧~本文已在前端早读课公众号上首发 原文链接 JavasScript社区在创新的道路上开足了马力,曾经流行过的也许一个月之后就过...

    Binguner 评论0 收藏0
  • NativeScript-Vue,了解一下?

    摘要:今天偶尔再打开的官网,发现首页部分多出了这一选项可见官方对于与的结合是非常的支持的。,这个模板是目前最稳定和多功能的模板,可以使用单文件组件,,。但是不管怎样,与的结合是一件很酷的事情,也希望它能够快速发展起来。 What is NativeScript? NativeScript 是一个可以让你用Typescript或JavaScript开发原生ios或android app的开源框...

    seal_de 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<