服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

这6款混合开发框架,比原生更香吗?

日期: 来源:架构师精选收集编辑:TAYO SOGBESAN

来自公众号:51CTO技术栈

译者 | 陈峻

合适的平台框架往往能够给混合应用的开发,带来事半功倍的效果。本文将向你介绍目前6种最为实用的开发框架。  

众所周知,根据使用场景的不同,我们往往需要针对智能手机、平板电脑以及可穿戴设备等不同平台,开发相应的应用。如果为每一类应用都去编写独特的程序代码的话,不但耗时,而且无法实现代码的重用。因此,我们需要引入混合应用开发的机制。

通常,我们可以使用各种现成的框架,去编写一个混合应用,然后将其存储在原生的容器中,以实现在不同的平台上,部署此类原生应用。可见,合适的平台框架,能够给混合应用的开发,带来事半功倍的效果。下面,我将向你介绍目前6种最为实用的开发框架。

React Native


作为一个JavaScript框架,React Native可以被用于开发跨平台的移动应用。由于该框架带有一种可用于开发用户界面的独特语言—JSX,因此用户可通过React编写出HTML和CSS。同时,它的用户界面组件也被设计成为能够给最终用户带来快速且愉快的体验形式。

与其他大多数需要重新编译代码、或重新启动应用,才能见效的开发框架不同,React Native的诱人之处在于,它能够快速展示应用被更改的效果。

由于React Native在每个平台上都会使用JavaScript引擎,因此你可以去访问由库和开源工具所组成的庞大生态系统。同时,它也允许用户无缝地将部分应用代码移植到另一个平台上。

对于某些具有动态、复杂或高级设计的接口来说,React Native可能并非完美的框架。由于可供你使用的自定义模型数量比较有限,因此你往往需要针对应用中重要的复杂性部分,从头开始开发与构建。初学者则需要花费一段时间,去掌握该框架的全面功能。

总的说来,React Native不但缩短了开发时间,而且能够与第三方应用相兼容,值得大家学习。

Ionic


曾为NHS(英国国家医疗服务体系)和西南航空等组织提供数百万强大应用的Ionic,是业界领先的混合应用工具包。它允许用户使用单一的代码库,为多个平台开发出混合移动应用。

Ionic拥有一套为移动优化了的HTML库、CSS背景模式以及JavaScript组件。这些基本工具都能够帮助用户构建出用户友好的、交互式的多平台应用。

Ionic的另一个优势是,它包含了一套针对摄像头、GPS以及健康套件的额外功能,以便你增加自己的应用功能集。同时,你也可以在编写代码时,通过测试每个组件,以尽早地发现各种错误与缺陷。

由于Ionic包含了一组高效的响应式部件,因此它在保证了灵活的用户体验的同时,也节省了你在开发过程中花费的宝贵时间和精力。

不过,Ionic最大的局限在于,其开发出的应用程序严重依赖于原生的插件。虽然此类插件旨在达到与原生应用相当的性能,但是并非所有实例都可以用到它们。也就是说,你可能很难为自己正在开发的应用找到其合适的插件。

Xamarin


作为相对较新的原生编译框架,Xamarin可以被用来开发出那些需要保持原有的外观和用户体验的高性能应用。2016年,微软收购了Xamarin项目社区,并使之成为微软生态系统中,用于开发应用程序的流行工具。

由于Xamarin能够使用C语言,以及基于.NET层面的其他原生库,来开发应用程序,因此它可以在不牺牲性能的情况下,将带有原生库的高端应用,部署到不同平台的程序中。这与其他流行的混合框架相比,显然提供了更好的用户体验。

不过,与原生应用相比,Xamarin在性能上存在着一定的局限性。因此,它不一定是某些复杂应用的最佳选择。同时,由于该框架中也不提供热重载的相关功能,因此其某些功能可能无法在特定的平台上被实时更新。

总的说来,作为混合开发需求的一项不错的选择,Xamarin具有强大的支持、全面的资源,并能够让你的应用具有接近原生的性能。

Flutter


根据Google的定义,Flutter通过一个直观的UI工具箱(其中包括插件库和创新的用户界面),让用户控制应用的组件,进而实现类似原生的性能。例如,Flutter的App Builder就能够让你混合和匹配各种功能。而使用其hotloader特性,你可以在调试代码时,即时进行更改,进而简化了整个开发过程。此外,由于Flutter能够支持开发出不限于Android或iOS的应用,因此它已得到了广泛的使用。

对于初学者来说,由于Flutter使用的是Dart,这种并非针对应用开发的流行语言,因此其学习曲线较为陡峭。而且,虽然由其提供的内置小部件(widgets)对于应用而言非常重要,但是一旦缺少了第三方库,就意味着开发者需要额外地用自己的代码去实现。

总的说来,Flutter仍然是不错的选择。它不但能够通过一流的UI元素来提供字体选项,而且可以通过各种小部件,来改善应用的整体性能与用户体验。

NativeScript


作为一个开源的框架,NativeScript可以让用户使用JavaScript和CSS等Web技能来构建应用程序。而凭借着出色的特性和整体性能,NativeScript能够与最新的移动版本、资源库以及命令行界面相兼容。

该架构的一项实用特性是它可以实时地更新应用,而无需手动刷新。当然,与大多数其他混合应用框架不同,NativeScript并不使用Web技术。

总的说来,该框架不仅功能丰富,便于使用,而且性价比高,能够给开发人员带来流畅的使用体验。

Apache Cordova


Cordova使用CSS3、JavaScript以及HTML5,来创建跨平台的应用。通过扩展其HTML5和CSS3特性,该框架增加了诸如:加速器、指南针、麦克风以及文件系统等额外功能,从而能够与目标设备协同工作。

同时,凭借着此类额外功能,开发者既可以快速、灵活地构建原生应用,又能够访问第三方的插件和工具箱。

虽然Cordova自身已包含了大量的平台插件与功能,但是就算你没找到合适的插件,也可以轻松地编写出自己的插件,并通过JavaScript代码的形式连接到系统级的代码中,以确保提供原生的性能。

与Ionic类似,该框架也包含了近似原生的小部件、选项卡以及可重排的列表等特性。同时,由于Apache Cordova能够提供两种工作流方法以及一种跨平台的工作流方法(即:CLI),因此由其开发的应用程序可以在不同的移动操作系统上运行。

此外,CLI还提供一个独特的接口以协助开发者将插件植入应用之中。也就是说,以平台为中心的工作流,可以帮助你先构建单个平台应用,然后再将其修改为并不复杂的形式。

选择合适的框架

综上所述,不同的混合框架有着适合不同应用场景的独特卖点。例如,NativeScript的主要吸引力在于,你不需要事先了解应用会运行在iOS还是Android平台上。你更应该仔细考虑的是,待开发应用的并发性、兼容性以及成本等因素,并据此来选择适合的框架。

原文链接:

https://www.makeuseof.com/hybrid-app-development-best-frameworks/




陈峻 (Julian Chen),51CTO社区编辑,具有十多年的IT项目实施经验,善于对内外部资源与风险实施管控,专注传播网络与信息安全知识与经验。

---END---


推荐↓↓↓

相关阅读

  • “我用 ChatGPT 开发了一个即时设计插件”

  • 写在前面:ChatGPT 能开发插件,那它能不能写公众号文章呢?带着疑问我去和它聊了聊,最终得到了下面这篇文章。作为一个有前端开发背景的设计师,我一直在寻找能够简化我的工作流程和
  • Pixso插件API开放,邀你共建社区生态!

  • 随着Pixso用户的深度使用,插件广场日益活跃,设计提效相关的服务能力受到了产品团队的重视。为此,Pixso加快产品迭代,Pixso插件API正式开放啦。今天,诚挚邀请国内外优秀的开发者,加
  • ChatGPT遇上Token插件,设计交付像呼吸一样简单!

  • 最近几天,ChatGPT十分火爆,暗示着人工智能时代正在发生,作为产品设计师要不断适应人工智能带来的变化,才能走得更远更稳。今天,就和大家介绍一下,如何使用ChatGPT聊天机器人与Pixs
  • 普京把话挑明,中俄关系或将迎来质变!

  • 最近,普京的日子可不太好过。不得不承认,演员总统的演技的确非常了得。前段时间,小泽到欧洲转了一圈,凭借三寸不烂之舌,硬是说服了欧洲众多国家继续援乌。目前看,尽管欧洲国家可能
  • 英舰南海示威,中国海军霸气出击!

  • 由于某种原因,很多文章不能在这里发表,喜欢本号的朋友,请点击上方卡片关注我们的新号,获取更多精彩好文。解放军霸气逼退英舰队,英航母编队到南海自由航行,中国海军潜艇跟踪警戒,英
  • 中国拒绝美国请求!国防部撂下一句狠话

  • 终于轮到美国人开始着急了!越来越感觉到,美国人其实还是非常小家子气的。从节后上班已经很久了,但是刚刚过完节发生的“中国流浪气球”一事,美国人还在炒作!知道这事儿前因后果的

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四

最新文章

  • 这6款混合开发框架,比原生更香吗?

  • 来自公众号:51CTO技术栈译者 | 陈峻合适的平台框架往往能够给混合应用的开发,带来事半功倍的效果。本文将向你介绍目前6种最为实用的开发框架。 众所周知,根据使用场景的不同,
  • 2022需求最大的8种编程语言

  • 来自公众号:OSC开源社区链接:https://www.oschina.net/news/221448/devjobsscannerDevJobsScanner 在过去的 14 个月(从 2021 年 10 月到 2022 年 11 月)中分析了超过 1200 万个
  • 丢弃 HttpClient 了,这款轻量级框架更强!

  • 来自:CSDN,作者:Kevin&Amy链接:https://blog.csdn.net/qq_38233258/article/details/115799602一、Forest1.1 业务需求一般情况下是后端提供接口,前端调用,解决需求,但是有的时候为