您当前的位置:首页 > 电脑百科 > 程序开发 > 框架

年度最全盘点:16款移动跨平台开发框架

时间:2023-01-09 12:28:02  来源:  作者:Onegun

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

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技术,包括htmlcssJavaScript。使用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/ target=_blank class=infotextkey>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的后端服务优秀


Tags:框架   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
2021 年 9 月 8 日,字节跳动宣布正式开源 CloudWeGo。CloudWeGo 是一套字节跳动内部微服务中间件集合,具备高性能、强扩展性和稳定性的特点,专注于解决微服务通信与治理的难题,...【详细内容】
2022-11-19  Tags: 框架  点击:(54)  评论:(0)  加入收藏
作为个人养老金制度最为关键,也是投资者最为关注的税收政策框架明确。...【详细内容】
2022-09-28  Tags: 框架  点击:(43)  评论:(0)  加入收藏
是一套使用 jQuery、Angular、React 或 Vue 框架的 JavaScript Web 应用程序的 UI 组件库图1 先看对曲线图的绘制,上方是一个显示单元格。下面是绘制了多条线段曲线图。图1图...【详细内容】
2022-09-21  Tags: 框架  点击:(88)  评论:(0)  加入收藏
来源:古明地觉的编程教室什么是 celery这次我们来介绍一下 Python 的一个第三方模块 celery,那么 celery 是什么呢? celery 是一个灵活且可靠的,处理大量消息的分布式系统,可...【详细内容】
2022-09-16  Tags: 框架  点击:(158)  评论:(0)  加入收藏
前言Hertz 是字节跳动服务框架团队研发的超大规模的企业级微服务 HTTP 框架,具有高易用性、易扩展、低时延等特点。在经过了字节跳动内部一年多的使用和迭代,如今已在 CloudWe...【详细内容】
2022-06-29  Tags: 框架  点击:(106)  评论:(0)  加入收藏
在 2021 年 11 月 12 日落地的 ArchSummit 全球架构师峰会(深圳站)上,我们邀请了微众银行的资深技术专家陈广胜为大家带来了《分布式应用提效框架 Apache EventMesh》的分享,他...【详细内容】
2022-05-06  Tags: 框架  点击:(124)  评论:(0)  加入收藏
2022年可选择的三个Rust Web框架:actix-web、warp和axum。 actix-web:4.0.0-rc.35,134,720Actix Web 是一个功能强大、实用且速度极快的 Rust Web 框架 warp:0.3.24,114,095以...【详细内容】
2022-02-25  Tags: 框架  点击:(1185)  评论:(0)  加入收藏
byview 是一个自己开发的,用于引导vue组件直接工作在浏览器中而不需要脚手架的一个微框架(启动引擎),使得vue在浏览器中开发体验跟vue-cli相似。无需独立编译资源文件,修改立...【详细内容】
2021-12-30  Tags: 框架  点击:(451)  评论:(0)  加入收藏
流水线(Pipeline)是把一个重复的过程分解为若干个子过程,使每个子过程与其他子过程并行进行的技术。本文主要介绍了诞生于云原生时代的流水线框架 Argo。 什么是流水线?在计算机...【详细内容】
2021-11-30  Tags: 框架  点击:(245)  评论:(0)  加入收藏
Seata 是 Simple Extensible Autonomous Transaction Architecture 的简写,由 feascar 改名而来。 Seata 是阿里开源的分布式事务框架,属于二阶段提交模式。...【详细内容】
2021-03-31  Tags: 框架  点击:(578)  评论:(0)  加入收藏
▌简易百科推荐
一、useGeneratedKeys 是什么 ?关于useGeneratedKeys,官方的说法是,这个参数的作用是:"允许 JDBC 支持自动生成主键,需要驱动兼容",如何理解这句话的含义?其原意是。对于支持自动生...【详细内容】
2023-01-12  java小悠  今日头条  Tags:Mybatis   点击:(1)  评论:(0)  加入收藏
玩过 Dubbo 的小伙伴应该都有听说过一个概念叫做 SOA,每当我们说起微服务的时候,很多人就会去纠结这和 SOA 有啥关系呀?感觉换汤不换药呀。今天松哥来稍微和小伙伴们讨论下这个...【详细内容】
2023-01-10  Java技术栈  今日头条  Tags:微服务   点击:(9)  评论:(0)  加入收藏
更新和更专业的软件框架不断涌现。 虽然开发人员经常难以跟踪这么多不同的选项,但每个选项都针对特定的受众,并且需要非常具体的技能组合。 这就是为什么市场上充斥着如此多...【详细内容】
2023-01-09  启辰8  今日头条  Tags:框架   点击:(15)  评论:(0)  加入收藏
《开源精选》是我们分享Github、gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个入门简单、跨平台、企业级桌面软件开发框架。 ...【详细内容】
2023-01-09  GitHub精选    Tags:框架   点击:(10)  评论:(0)  加入收藏
环境:Springboot2.5.13概述Jersey RESTful 框架是开源的RESTful框架, 实现了JAX-RS (JSR 311 & JSR 339) 规范。它扩展了JAX-RS 参考实现, 提供了更多的特性和工具, 可以进一步...【详细内容】
2023-01-09  Spring全家桶实战案例    Tags:Springboot   点击:(11)  评论:(0)  加入收藏
近年来小程序技术被微信及其生态应用带的如火如荼的,开发者的世界里,小程序的技术非常受关注,特别在流量承接及跨端开发方面,均受到不同规模的企业关注及积极实践。2023年,小程序...【详细内容】
2023-01-09  Onegun    Tags:框架   点击:(0)  评论:(0)  加入收藏
大家好,我是不才陈某~最近读者朋友针对Spring Security oauth2.0 想要陈某补充一些知识,如下: 今天这篇文章就来回答其中一个问题:如何自定义token的返回格式?问题描述Spring Se...【详细内容】
2023-01-07  Java架构嘻嘻嘻  今日头条  Tags:Spring   点击:(14)  评论:(0)  加入收藏
在一些场景下,您的kubernetes集群已经搭建完成了,但是还需要修改一些核心组件的参数,如etcd、kube-apiserver、kube-scheduler、kube-controller-manager等。通过kubectl get p...【详细内容】
2023-01-04  shoothzj  今日头条  Tags:kubernetes   点击:(20)  评论:(0)  加入收藏
Pod 资源配置 实际上上面几个步骤就是影响一个 Pod 生命周期的大的部分,但是还有一些细节也会在 Pod 的启动过程进行设置,比如在容器启动之前还会为当前的容器设置分配的 CPU...【详细内容】
2022-12-26  kamactor  今日头条  Tags:K8S   点击:(18)  评论:(0)  加入收藏
本篇文章我们首先解析 SqlSessionFactory 的创建过程。1、实例代码在实例代码中,我们在测试类中写了一个 init() 方法,里面包括了 SqlSessionFactory 的构建,分为两步。第一步:...【详细内容】
2022-12-26  二哥学Java  今日头条  Tags:Mybatis   点击:(25)  评论:(0)  加入收藏
站内最新
站内热门
站内头条