您好,欢迎来到12图资源库!分享精神,快乐你我!我们只是素材的搬运工!!
  • 首 页
  • 当前位置:首页 > 开发 > WEB开发 >
    开源式框架Xamarin与React Native大比拼
    时间:2021-03-02 12:01 来源:网络整理 作者:网络 浏览:收藏 挑错 推荐 打印

    【51CTO.com快译】有统计表明:目前,全球共有52.2亿人正在运用着移动设备,其中有46.6亿人会用设备来拜访各种移动运用。显然,创立新的运用顺序,曾经成为了企业在剧烈竞争中的标配。

    开源式框架Xamarin与React Native大比拼

    目前,可用于运用开发,特别是移动运用开发的技术与框架,可谓林林总总。其中最常见的当属Xamarin和React Native。它们都支持跨平台式开发,也都可以提供“一次性编写,各处部署(Write once and Deploy anywhere.)”的功用。不过,鉴于它们在市场份额、代码编译、SDK环境等方面的差异性,本文将经过对两者停止比较,以方便您了解其基本原理,并在实践项目中做出明智的选择。

    什么是React Native?

    React Native是基于JavaScript和JSX的开源式框架,由Facebook于2015年创立并启用。其目的是为iOS和Android构建原生的运用顺序。

    其中,JSX代表了XML-Esque标记的兼并,而且可以在React Native框架中被运用。React可以将运用顺序运转、并渲染到目的设备的原生平台上。据此,各种运用顺序将具有,与运用原生运用开发框架(如Java for Android或Objective-C for iOS)所构建出的运用,同等的功用。同时,React Native移动运用开发还允许开发者创立特定于某个平台的组件版本。由于具有独自代码库,因此这些组件可以在不同平台上被共享运用。

    有统计显示:截至2020年,全球有42%的开发人员正在运用React Native来构建,可以在99%的移动设备上运转的运用顺序。Facebook、Walmart、Bloomberg和instagram等明星企业都正在运用React Native,来开发其移动运用。

    React Native的优势

    可扩展的社区支持:全球开发快乐喜欢者们在React Native社区中分享了少量的知识,并提供着热情的支持。该社区中的每团体也都可以收费拜访,那些可用于移动顺序开发的少量收费组件。

    实时热重载:React的实时重载功用,可以让框架实时地编译和读取开发人员做出的更改。也就是说,它会在并不实践重载的状况下,验证各项变更,并刷新整个运用顺序。而热重载则体如今为模拟器提供新的文件时,从一末尾就能读取整个文件,以更新各项变更。在此,它只会更新已更改的组件。

    代码可重用性:React Native是增加代码量的首选。它可以让开发人员重用90%的代码,以构建iOS和Android运用顺序。此外,由于代码只需大批修正,便可完成重用,因此React Native也节省了少量的开发时间。

    第三方插件支持:由于React Native不能够在同一个框架中包含一切的组件,所以开发人员在运用该JavaScript驱动型框架时,可以应用地图、双要素身份验证等第三方功用,来渲染或增强React Native运用。

    提供最佳功用:运用顺序的功用,以及提供更佳客户体验的才能,直接取决于构建运用的框架。由于开发人员可以应用React Native的原生模块和组件,来构建运用,因此他们可以创立互不搅扰的原生API和顺序代码。也就是说,他们可以以较低的代码量和较快的开发周期,来创立以功用为中心的运用顺序。

    什么是Xamarin?

    由Microsoft创立的Xamarin,目前在开发社区中的占有率仅为14%(2019年曾为26%,https://www.statista.com/statistics/869224/worldwide-software-developer-working-hours/)。虽然与React Native相似,但是Xamarin更适宜.Net的开源平台。

    Xamarin的主要功用是:维持共享代码战争台代码之间的通讯。Xamarin经过运用独立于平台的工具和代码库,来扩展.Net开发者平台的各项功用。同时,Xamarin可以运用底层平台所提供的全部功用。也就是说,当运用顺序运转在Android上时,它会应用特定于平台的各项功用,来提供预期的用户体验。该特性异样适用于运转在iOS设备上的运用顺序。此外,Xamarin还可以用到基础平台的硬件减速功用。

    Xamarin的优势

    一种技术栈:作为具有内置多项技术的生态系统,Xamarin可以让开发人员一次性构建多平台的运用顺序。例如:运用在.Net框架上运转的C#言语,开发人员可以完成96%的代码重用。当然,他们也可以用到.Net和Visual Studio。

    共享代码:Xamarin旨在经过通用的代码库,方便用户开收回可以运转在不同平台上的运用。同时,运用之间可以共享相反的业务逻辑、数据库拜访、以及网络通讯。而开发人员独一需求更改的只是用户界面,以保证运用在每个平台上,都具有原生的观感。

    原生功用:与其他跨平台的开发工具相比,Xamarin可以提供高度原生、且无与伦比的运用功用。在图像加载速度方面,Xamarin只比原生运用慢14%。

    Xamarin Forms可提供流利的用户体验:Xamarin.Forms具有100%的可重用代码API组件和元素库。开发人员可以运用内置的Xamarin.iOS,来自定义各种元素。当然,它在Android平台上也异样适用。

    代码库数量的添加:过去Xamarin没有普遍的代码库,可供开发人员运用。如今,Microsoft开发团队正在继续构建各种常见的用例和组件。例如:Xamarin可以提供双要素认证(2FA)之类,可以被直接插入运用的代码库。

    开发人员该如何选择?

    经过上述引见,我们不能发现,虽然两者有着相似的功用,但是React Native比Xamarin具有更大的开发人员基础。下面,我们从各项原始特性动身,帮您梳理出它们各自不同的适用场景。

    编译

    它们的跨平台开发功用--Just-in-time(JIT),可以使开发人员在运转时(runtime)中,编译字节码或源代码。不过,在Android允许JIT之处,iOS不允许JIT限制任何方式的跨平台运用开发框架。

    React Native:由于JIT在iOS上是不允许的,因此源代码中的任何更改,都会要求开发人员退回到Android代码处停止更改。它们只要在完成之后,方可作为iOS运用被运转。

    Xamarin:为了绕过此成绩,Xamarin针对代码的编译,计算了提早时间(Ahead-of-time,AOT)。AOT编译器的义务是,剖析字节码,并用机器言语对其停止编译,然后对所选择的途径执行相反的操作。这样虽然可以增加启动时间,提高运用顺序的功用,但是也添加了文件的大小。同时,由于Xamarin在默许状况下已启用了JIT,因此您可以先配置AOT,再运用它。

    功用

    无论是原生的,还是由Xamarin开发的移动运用,都需求经过出色的功用,给用户留下良好的印象,并与之停止流利的互动。

    (责任编辑:admin)