移动 APP 开发框架盘点:六种框架形式及适用范围

2024-07-08
来源:网络整理

移动APP开发框架盘点

总体概述

目前流行的移动APP开发框架有六种:web、、、、自绘。前三种提供和web类似的体验,后三种提供和 APP类似的体验。这六种框架各有适用范围,无所谓好坏,只要适用就行。

Web应用适合将传统的网站变成APP,例如淘宝、京东等,APP中嵌入了大量的WEB页面。

混合应用适合低成本的应用开发,所有代码都基于Web,优点是开发速度快,成本低。

渐进式应用适合机会成本较高的情况,可以边下载边使用,快速获取和体验。

原生应用适合对体验要求较高的大型应用,可以提供令人满意的体验效果。

桥接应用适合高速迭代的创意应用,将体验和成本控制在可接受的范围内。

自绘应用适合做游戏、有特效的应用,最大的优势就是没有平台限制和表现瓶颈。

1. 网页

PHP 与传统 Web 的主要区别在于前端框架,尤其是 V-DOM 框架的应用,这种前端框架使得 PHP 与 在机制上没有区别,在众多的前端框架中,PHP、Vue 是最具竞争力的选择。

V-Dom技术的开创者,No.1主流框架,其贡献是开创性的,并且基于它还衍生出了很多兼容框架,如Anu,Nerv等,解决性能或者IE兼容性的问题。

主流技术方案:

+ + + -用户界面/AntD/-用户界面

Vue

由中国人创建,在中国拥有大量用户和众多支持开源项目,主要特点是学习成本低、使用简单。

主流技术方案:

Vue + Vuex + Vue- + //vux/ Mint-UI

一个大型而全面的框架,强烈推荐用于大型项目,与 Rxjs 深度集成。

主流技术方案:

+

2. 原生

由于操作系统的限制,原生应用的类型比较少,对于原生应用来说,架构是基础,框架是核心,再加上大量的UI组件。

iOS

iOS开发已经彻底从OC转向了,最新的架构基本就可以算是它了。

主流技术方案:

+ + 莫亚 + + /

开发语言从Java换成了。编译时依赖注入框架也成了法宝。

主流技术方案:

MVP++++++(Gson)

3. 混合

关键不在于本身,而在于。改成好的很容易。所以混合应用框架其实就是指基础架构库,有()就够了。

小程序框架是什么意思_小程序框架选型_开发小程序使用什么框架好

开源。

4. 桥接

桥接应用的特点是虽然使用原生界面,但应用逻辑用脚本语言编写,通过通用桥接来控制原生界面。这样就达到了用脚本编写原生应用的目的,甚至网页和原生应用可以使用同一套代码,节省了不少开发成本。但操作手感却比网页应用好很多。

它们代表了与 Weex 不同的两种思路,提供工具打通了平台的差异化(Once,);而 Weex 提供框架屏蔽了平台的差异化(Once,Run)。因此,最大的痛点就是难用,必须熟悉各个平台;而 Weex 注定功能相对较弱,坑也比较多。

的流行实际上是从的发布开始的。

威克斯

一个小众框架能否发展壮大,取决于学习者能否高效编写应用。因此,很多人认为文档是开源框架生死攸关的关键。其实,使用该框架的开源应用还有好几个,这比文档更重要。因为这些应用还活着,间接证明了该框架还有价值和生存能力,也可以成为更好的文档教材。Weex 号称有一堆知名应用,但开源项目都不太好。

()

iOS和in的实现方式不一致,iOS是直接编译AOT,而in是采用桥接技术。

(红宝石)

用动态语言编写移动应用是语言社区的能力问题,需要证明语言的优越性和万能性。但除了爱好者之外,正确的做法是使用效率最高的平台和语言。Ruby 的强项在于 Web 后端,因此在编写应用时没有太多的继承性,而且编写效率也存在掉坑的风险,因为它太小众了。有免费版本,但只支持最新的操作系统版本。

这个框架的核心是使用开发应用程序,从形式上来说和Web开发有很大区别。所以从根本上来说,这是一个脚本语言框架,和 一模一样。

5. 自绘

自绘制一直是游戏界面的领地,其实其他框架都偏向于游戏开发,因此,的出现,引起了不少人的关注,毕竟这是真正跨平台唯一可行的方案。

(镖)

除了围绕 Dart 语言使用的争议之外​​,毫无疑问,它是一种真正值得关注的跨平台解决方案。最近,它的目标平台已经超出了 iOS 和 ,将项目引入桌面操作系统,并将应用程序引入浏览器。它利用 Dart 平台的特性,不仅可以编译原生的 ARM 代码,还可以编译。这使得代码无需任何修改就可以在基于标准的 Web 上运行。

(C++)

它基于-x引擎,而-x又基于。9 社区是从手机游戏社区发展起来的,从这个背景可以看出来,有一部分使用C++开发的忠实粉丝。

(卢阿)

它比较适合做游戏但是并不适合做应用,主要是官方的UI代码不好用,自己实现费时费力。

Kivy()

另外一种动态语言开发框架,与游戏引擎的结合,使得它在特定领域还是很有市场的,而且它是跨平台的,可以直接在下运行,真正做到跨平台运行。

6.循序渐进

它不仅意味着下载即用,还意味着下载后不依赖网络。从类型上看,有以PWA为主(),也有以微信为主的小程序。相比于PWA一统天下的野心,小程序显然是务实的,只要能用就好,无需长远布局。渴望与微信一较高下的百度、支付宝,以及中国九大手机厂商联盟,也抄袭了这种风格。随着各类跨平台翻译工具(如Taro)的兴起,各小程序平台也成为了专有的浏览器实现,成为万千个前端框架之战中一个个小注脚。

渐进式网页

全称是Web App,即渐进式网页应用。相比于国内大厂的私有平台,由主导的PWA从一开始就瞄准了下一代浏览器标准。与传统网页最大的区别就是引入了Web,相当于本地服务器,离线时可以替代网站服务器继续工作。另外PWA大致就是SPA(Page Web App),对开放标准的继承性还是比较高的。但由于各平台大厂(如微软、苹果)对PWA的态度不明确,导致PWA的推广一直比较缓慢。

微信小程序,由于微信的体量和使用频率,可以承载足够的野心。但从技术上来说,它只是一个拥有大量用户的浏览器实现。小程序和大量追随者也推动了多终端统一框架的发展。

芋头

兼容跨平台、多终端的统一开发框架。一键生成可以在微信/百度/支付宝/字节跳动等小程序、H5等上运行的代码。虽然多终端统一框架看似可以运行在不同类型的平台上,但还是依赖于那些平台工具,或者只是一个寄生在那些平台上的小程序。

司徒正妹开发的兼容Anu框架的多终端翻译脚手架。不过和Taro那种一堆工具打包在一起的相比,它只是一个脚手架,有点寒酸。为什么不打包一下呢?

类似 Vue 的跨平台多端统一开发框架。昨天发的《原理详解:其他跨端统一框架都是假的吗?》这篇文章我看了。神奇的多态组件,重新定义了一个组件声明框架;严格全面的检查,不会逼着你的代码跨平台;适配代码比较多,听说还有后端统一接口,还有后端管理系统。嗯,祝你玩得开心。

趋势分析

在国内,微信开放了小程序流量主的广告收益,引发了小程序的热潮,进一步催生了多端转译框架。但这些框架做的并不多,引擎还是 Vue,只是各自平台做了一套统一的 UI 组件。由于个性,UI 组件是大家一直想统一,但无法实现的一个目标。Taro 框架只是在宣传自己的一套 UI 组件。在我看来,还不如提供一套组件“标准”,让用户自己去实现,鼓励用户自己去实现。

分享