草庐IT

2023年最全盘点 | 16款跨平台应用程序开发框架

speedoooo 2023-04-05 原文

近年来小程序技术被微信及其生态应用带的如火如荼的,开发者的世界里,小程序的技术非常受关注,特别在流量承接及跨端开发方面,均受到不同规模的企业关注及积极实践。

2023年,小程序依然很火,但却有了一些不一样。

受到国与国之间关系的微妙变化,2022年的技术界多出了一些不一样的声音。首先是国人数据隐私的保护再次上升到一个新的高度,国产操作系统从Plus品变成了必需品;其次,人口红利的瓶颈,带来的是流量水涨船高的“副作用”,让企业从新正视App在自有业务中,对于终端消费者营销及运营的作用;最后,各个领域新技术的齐头发展,如边缘计算、5G网络、VR/AR,冥冥之中似乎透露着未来技术1+1的倍数放大效应(只不过现在还没有显现出来)......

据对公开资料进行统计,2021年全网小程序数量已超700万,其中微信小程序开发者突破300万,小程序DAU已超4.5亿;日均使用次数同比增长32%,活跃小程序则增长41%,小程序生态已塑造出新的增长空间。App生态其实也不弱:2021年下半年的公开数据显示,在全球三大应用发行商(Google Play,App Store,Amazon Store)平台,依然有超过200万的App活跃,这还没有包括国内的一些大型App应用发行平台的数据。此外,App的下载数量,也是逐年增长的过程中(从2017年的1781亿次到2020年的2180亿次)。

App的开发需求依然活跃。

桌面应用、App、小程序、物联网终端设备......面对业务日益复杂的终端适配需要,跨端框架的使用趋势只增不减。本文到处搜刮了跨端开发框架,汇总在一起,供大家参考,便于后续App或者端侧开发时,需要跨端框架选型做一定的参考。

什么是跨端框架?

进入正式盘点前,还是先科普下概念:跨平台应用开发框架是开发人员可以使用一套相同的代码,一次性地编码便可在多个端侧平台上运行(如:小程序、浏览器、iOS、Andriod、MacOS、Linux、麒麟、UOS.....)。它最大的作用是极大降低了开发人员的开发周期,进而实现快速交付。

跨平台应用程序开发框架的好处:一套代码适用多个设备、多个平台、多个应用商店中发布、快速成型、快速开发、无缝产品维护。

1、Flutter

Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter的快速开发,富有表现力的精美UI和类似本机的性能吸引了一大群使用者。使用Flutter的一些典型公司包括:Google,eBay,宝马等。他们选择Flutter的主要原因:

  • 框架高度稳定

  • DART语言为基础,AOT编译语言

  • 平稳的开发周期

  • 强大的热更新功能

  • 满足各种需求的UI套件

  • 完美匹配的Flutter的用户和企业众多,开源框架更新及维护快

​2、Ionic

Ionic是用于跨平台应用程序开发的增长最快且领先的开源框架。针对移动设备进行了优化的UI组件库和工具有助于快速构建交互式应用程序。使用Ionic的国际大型企业包括:GE,空中客车,Panera等。他们选择Ionic的主要原因:

  • 对开发人员友好

  • 庞大的社区

  • Cordova edge

  • 高标准的UI套件

  • 简化了开发的测试流程

一份国外的技术报告显示,海外企业高管更喜欢Ionic和React Native等解决方案。

​3、React native

由Facebook在2015年开发的React Native可帮助企业使用Swift,Objective C和Java等语言构建类似于本机的应用程序。使用React Native框架的一些企业是Facebook,Skype,Tesla等。选择React的主要原因:

  • 现成的组件丰富,拿来即用

  • 社区驱动框架发展

  • 热更新技术

  • 高可靠性

  • 本地UI组件的实现

​4、FinClip

FinClip是凡泰极客研发的一套小程序容器技术,也可以说是小程序沙箱 Runtime/Engine,提供 Runtime 基于浏览器内核,采用动态语言(JS)和声明式 View 构建(XML),兼容互联网主流小程序技术,可采用 Vue、react 基础上的 DSL 框架。

与Flutter、React、Xamarin等跨端平台不同的是,FinClip严格意义上讲是一项容器技术。与跨端平台不仅不冲突,还可以完美融合。移动端跨平台开发框架中,不管是通过Flutter、Taro、 kbone等开发出来的小程序均可在FinClip当中运行。使用FinClip的一些企业国内大型企业居多,如工商银行、中车数字、融创集团等。选择FinClip的主要原因:

  • 小而巧,只专注小程序集成,集成SDK后体积增加3M左右,提供小程序全生命周期的管理 ;

  • 提供小程序转 App 服务,能够一定程度解决 App 开发难的问题;

  • 几个产品中唯一支持企业私有化部署的,可进行定制化开发,满足定制化需求;

  • 兼容微信小程序,之前开发者已拥有的微信小程序,可无缝迁移至 FinClip;

  • 多端支持:iOS、Android、Windows、macOS、Linux,国产信创、车载操作系统。

​5、Apache Cordova

Apache Cordova是一个著名的跨平台应用程序开发框架,该框架使用Web技术,包括HTML,CSS和JavaScript。使用Apache Cordova的一些企业是Walmart,Adobe,QrStore等。选择Cordova的主要原因:

  • 框架非常出名,许多开发者对该框架使用的技术也非常熟悉

  • 强大的社区支持能力

  • 市场上插件非常广泛,意味着更多的业务想象空间

  • 免费和开源

  • 支持本地开发及调试

  • 实时重载

​6、Xamarin

Xamarin是.NET平台的扩展,一度是开发人员和企业最受信任和喜爱的框架(没有之一)。Xamarin使用C#开发所有内容。使用Xamarin的一些企业是阿拉斯加航空,美国癌症协会,JustGiving等。选择Xamarin的主要原因:

  • 开源和免费

  • 框架性能优越

  • XAML的基本框架,用于使用C#构建动态移动应用程序

  • 通用模式的库,例如Model * View ViewModel(MVVM)

  • 具有语法突出显示,代码完成,设计器以及其他专门用于开发移动页面的功能

​7、NativeScript

NativeScript是具有活跃的开发人员社区的开源框架。开源框架用于使用Angular和Vue构建跨平台应用程序,以加快应用程序开发速度。使用NativeScript框架的一些公司是GeekyAnts,Traverse LLC,Workbox等。选择NativeScript的主要原因:

  • 代码库适用于iOS及Android。

  • 成本效益相对来说较其他框架显著

  • Angular,TypeScript或JavaScript的优势

  • 易于使用和良好的开发体验

  • 低代码开发

8、Node.Js

Node.Js是一种流行的跨平台框架,其运行时框架基于Chrome V8 Javascript引擎构建。效率和响应能力是使Node.Js成为企业中流行选择的两个优势。使用Node.J的一些企业是Facebook Messenger,Twitch,Slack等。选择Node.Js的主要原因:

  • 更快的代码执行过程

  • 零缓冲和更快的编码输出

  • 具有事件循环功能的单线程模型

  • 开源免费

另外,服务器端开发支持和可伸缩性也是Node.Js成为跨平台应用程序开发的主要因素。

9、Appcelerator Titanium

开放、可扩展的开发用于创建丰富的应用程序,使Appcelerator Titanium成为企业研发框架的选择之一。基于Eclipse的IDE,MVC框架和云服务是其它关键参数,这些参数使该平台非常适合跨平台应用程序开发。使用该平台的一些企业包括加利福尼亚州的乐高乐园,Pulse,皇后图书馆。选择Appcelerator Titanium的主要原因:

  • 单一代码库

  • 开放源代码

  • 基于JavaScript的SDK

  • Appcelerator Alloy MVC框架

  • 集成了移动后端即服务

  • 与Appcelerator的开放市场集成

10、Corona SDK

Corona SDK也是一个存在时间较长的跨平台框架,适用于希望为移动设备和台式机开发基于游戏的应用程序的公司。使用Corona SDK构建的一些应用程序包括Gunman Taco Truch,Battle 2,Zip Zap等。选择Corona SDK的主要原因:

  • 开源且完全免费。正因为其完全免费的特性,使该平台成为游戏应用程序开发者的主要选择。

  • 强大社区支持

  • 插件生态丰富

  • 基于Lua语言

  • 轻松调用任何本地库资源

11、Sencha Touch

Sencha Touch通过功能强大的SDK和HTML5工具包,帮助开发人员为移动和桌面系统构建跨端应用程序。它允许开发人员创建动画和功能用户界面是使该平台成为企业的理想选择其它优势。一些使用Sencha Touch的企业包括:布法罗大学Kaseware的Las Cumbres天文台。选择Sencha Touch的主要原因:

  • 更快的生成本地应用

  • 本地封装

  • HTML5设备 API

  • 事件处理可提供更好的触摸响应

  • 支持新型的智能和创新版本系统

​12、Adobe Phonegap

在开放式网络技术的支持下,Adobe Phonegap被广泛用于构建出色的应用程序。借助HTML,CSS和Javascript快速创建应用程序的能力,可以创建神奇的应用程序,从而使该平台成为跨平台应用程序开发的最佳框架之一。 使用Adobe Phonegap构建的一些应用程序包括:TripCase,Untapped,snowbuddy等。选择Adobe Phonegap的主要原因:

  • 健壮的开发者社区

  • Phonegap工具集

  • 丰富的插件库

  • 第三方工具支持也是较为丰富

​13、Vue Native

Vue Native使用JavaScript构建应用程序。Vue.JS被认为是具有成本效益的,也是当今许多企业使用它的原因之一。使用Vue.Js框架构建的一些应用程序包括Kitsu,Social Amnesia,Listmonk。选择Vue Native的主要原因:

  • 代码实时更新,实时同步

  • Swift移动应用程序开发支持

  • 文档对象模型

  • 良好的生态系统

  • 学习门槛低

​14、Qt

Qt拥有一整套全面的高度直观和模块化的C++库类和API,可简化应用程序开发。具有高运行时性能的高可读性,易于维护和可重用的代码使其成为有史以来最佳的跨平台框架之一。使用Qt的企业包括德国汉莎航空公司(Lufthansa Technik),克拉里乌斯(Clarius),费森尤斯(Fresenius)等。选择Qt的主要原因:

  • 同类最佳的收费标准

  • 自己的跨平台IDE

  • 丰富的基础启用程序集

  • 框架附加组件

  • C,C++,Python,Javascript等

​15、Codename One

Codename One用于构建具有完整后端和前端实施的复杂的真实世界应用程序,并具有便捷性和成本效益。 使用Codename One来构建应用程序的一些企业有Vision24,BoI Global Group,Math Underground。选择Codename One的主要原因:

  • 无需特殊硬件和100%可重用的代码

  • 可拖放的GUI生成器

  • 很好地控制像素并在任何地方绘制

  • 完全访问本机OS语言

  • 开源和免费

16、Monaca

Monaca是最受好评的开放式混合应用程序开发平台,可以立即插入任何现有的工作流程和开发环境中。Cloud IDE,用于调试器的CLI和远程在线构建是使该平台最适合企业的其他因素。使用Monaca的一些业务包括Bekfood,WhatsMode,Starnick等。选择Monaca的主要原因:

  • 灵活的开发环境

  • Onsen UI,用于构建美观,高性能的应用程序

  • 远程构建和持续集成

  • 良好的调试和测试体验

  • Cordova电源插件支持强大

  • Cordova的后端服务优秀

以上16款跨端框架,你都知道多少呢?如果有更多的跨端框架,欢迎在评论区留言及讨论。

有关2023年最全盘点 | 16款跨平台应用程序开发框架的更多相关文章

  1. ruby - 将差异补丁应用于字符串/文件 - 2

    对于具有离线功能的智能手机应用程序,我正在为Xml文件创建单向文本同步。我希望我的服务器将增量/差异(例如GNU差异补丁)发送到目标设备。这是计划:Time=0Server:hasversion_1ofXmlfile(~800kiB)Client:hasversion_1ofXmlfile(~800kiB)Time=1Server:hasversion_1andversion_2ofXmlfile(each~800kiB)computesdeltaoftheseversions(=patch)(~10kiB)sendspatchtoClient(~10kiBtransferred)Cl

  2. ruby-on-rails - Rails 应用程序之间的通信 - 2

    我构建了两个需要相互通信和发送文件的Rails应用程序。例如,一个Rails应用程序会发送请求以查看其他应用程序数据库中的表。然后另一个应用程序将呈现该表的json并将其发回。我还希望一个应用程序将存储在其公共(public)目录中的文本文件发送到另一个应用程序的公共(public)目录。我从来没有做过这样的事情,所以我什至不知道从哪里开始。任何帮助,将不胜感激。谢谢! 最佳答案 无论Rails是什么,几乎所有Web应用程序都有您的要求,大多数现代Web应用程序都需要相互通信。但是有一个小小的理解需要你坚持下去,网站不应直接访问彼此

  3. ruby - 无法运行 Rails 2.x 应用程序 - 2

    我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby​​:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r

  4. ruby-on-rails - Rails 应用程序中的 Rails : How are you using application_controller. rb 是新手吗? - 2

    刚入门rails,开始慢慢理解。有人可以解释或给我一些关于在application_controller中编码的好处或时间和原因的想法吗?有哪些用例。您如何为Rails应用程序使用应用程序Controller?我不想在那里放太多代码,因为据我了解,每个请求都会调用此Controller。这是真的? 最佳答案 ApplicationController实际上是您应用程序中的每个其他Controller都将从中继承的类(尽管这不是强制性的)。我同意不要用太多代码弄乱它并保持干净整洁的态度,尽管在某些情况下ApplicationContr

  5. ruby-on-rails - 如何在我的 Rails 应用程序 View 中打印 ruby​​ 变量的内容? - 2

    我是一个Rails初学者,但我想从我的RailsView(html.haml文件)中查看Ruby变量的内容。我试图在ruby​​中打印出变量(认为它会在终端中出现),但没有得到任何结果。有什么建议吗?我知道Rails调试器,但更喜欢使用inspect来打印我的变量。 最佳答案 您可以在View中使用puts方法将信息输出到服务器控制台。您应该能够在View中的任何位置使用Haml执行以下操作:-puts@my_variable.inspect 关于ruby-on-rails-如何在我的R

  6. ruby-on-rails - 如何在 Gem 中获取 Rails 应用程序的根目录 - 2

    是否可以在应用程序中包含的gem代码中知道应用程序的Rails文件系统根目录?这是gem来源的示例:moduleMyGemdefself.included(base)putsRails.root#returnnilendendActionController::Base.send:include,MyGem谢谢,抱歉我的英语不好 最佳答案 我发现解决类似问题的解决方案是使用railtie初始化程序包含我的模块。所以,在你的/lib/mygem/railtie.rbmoduleMyGemclassRailtie使用此代码,您的模块将在

  7. 世界前沿3D开发引擎HOOPS全面讲解——集3D数据读取、3D图形渲染、3D数据发布于一体的全新3D应用开发工具 - 2

    无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD

  8. 叮咚买菜基于 Apache Doris 统一 OLAP 引擎的应用实践 - 2

    导读:随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时OLAP数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实时查询和精细化运营的需求。经过调研选型,最终引入ApacheDoris作为最终的OLAP分析引擎,Doris作为核心的OLAP引擎支持复杂地分析操作、提供多维的数据视图,在叮咚买菜数十个业务场景中广泛应用。作者|叮咚买菜资深数据工程师韩青叮咚买菜创立于2017年5月,是一家专注美好食物的创业公司。叮咚买菜专注吃的事业,为满足更多人“想吃什么”而努力,通过美好食材的供应、美好滋味的开发以及美食品牌的孵

  9. 华为OD机试用Python实现 -【明明的随机数】 2023Q1A - 2

    华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o

  10. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

随机推荐