构建混合移动应用的流行框架优缺点对比

简介:

仅仅几年前,使用 JavaScript 开发移动应用程序还只是古怪的实验,无需使用 Java 和 Object C 就可创建 iOS 和 Android 应用程序的想法似乎吸引着很多 web 开发者。现在出现了大量的框架,使我们只使用 web 技术就可以创建移动应用,并且用户体验和以往用原生语言开发的应用差不多。

image

什么是混合移动应用程序?

混合应用程序只是一个普通的移动优化的网站,用CSS,HTML和JavaScript编写,在webview上显示(它基本上是一个精简的Web浏览器)。这样做的好处是,只需要写一个应用程序,在大多数情况下,不用修改就可以在 Android,iOS 和 Windows Phone 上运行。本文列出的大多数框架都是用Cordova 或 PhoneGap 实现的,它们架起了由 JavaScript 通往设备 API 的桥梁。

本文将对用于构建混合和原生移动应用程序的最流行的 JavaScript 框架进行比较。滚动本文的最后可以看到结果。

1. Ionic

image

Ionic在我们列出来的这些框架里面是最流行的,可能对很多开发者来说是首选。你可以用框架中的CSS 实现有 native 风格的设计,不过相对于使用完整的 Ionic,更建议搭配 AngularJS 一起开发。使用 Ionic 的一大好处是命令行的交互界面,有很多迷人的功能,包括集成的仿真器金额基于Cordova 的 app 打包器。

正面:

预置的组件

强大的社区

命令行交行界面,有着很多有用的功能

负面:

复杂的开发需要了解AngularJS

2. Onsen UI

image

这是一个开源的框架,可以通过组合 native 风格的组件来开发 app。它用起来非常简单,可以用AngularJS 一起开发,也可以不用。有着完善的文档,包含了大量例子和布局,覆盖了最常见的 app 类型。Onsen UI 的一个不足是目前只发布了一个 iOS 主题,不过下一个版本承诺会推出 Material Design(谷歌推出的一种设计风格)的支持。

正面:

预置的组件

优秀的文档,包含大量例子

负面:

未包含PhoneGap/Cordova工具,不过可以支持

暂不支持Material Design风格

3. Framework 7

image

Framework 7

Framework 7比较酷的地方在于它完全是框架无关的(没有像Angular或者React那样的外部依赖),但是确依然可以让app在组件和动画方面有着native的风格和体验。开发者只需要会HTML, CSS和JavaScript就可以开发应用,而不用把代码搞得很复杂。Framework 7并不包含任何用于仿真或者打包的工具,,所以你需要将其与Cordova或者PhoneGap一起使用。

正面:

简单易用,只依赖HTML, CSS和JavaScript

性能不错

可以和任意JavaScript框架结合使用

负面:

未包含PhoneGap/Cordova工具,不过可以支持

4. React Native

image

React Native

正如项目的名称表露的那样,React Native的目的是构建真正native的应用。而不是构建在Webview里运行的混合模式的应用。开发完全由JavaScript和React来完成。这个框架不太适合web开发的新手,不过其背后有一个庞大的社区,在各个方面都可以为你提供支持。最近这个框架还发布了Android版,这样你就可以真正实现跨平台的应用开发了。

正面:

Native级别的性能

庞大的社区支持

负面:

陡峭的学习曲线

目前开发工具只支持OS X

5. jQuery Mobile

image

jQuery Mobile

它是所有移动框架的爷爷, jQuery Mobile 的目的不是让 apps 的外观像 Android 或 iOS。而是为了帮助开发可以在所有移动浏览器(包括老旧的 Windows Phone,Blackberry 和 Symbian)上良好运行的 web apps。因此,它是非常轻量级的,只依赖 jQuery,很容易学会,同时还提供了良好的触摸识别和对 PhoneGap/Cordova 的支持。

优点:

支持广泛的移动浏览器

简单易用

缺点:

样式陈旧,既不像 iOS 也不像 Android

不包含 PhoneGap/Cordova builder,但支持

6. Native Script

image

NativeScript

Native script 的最大特点是,用 TypeScript 语言编写 app 的功能,只需要编写一次,然后它可以针对不同的操作系统(包括 Android,iOS 和 Windows Phone)产生对应的可执行代码,打包后,应用是按原生程序的方式运行的,并没有打开和运行浏览器。使用该框架确实需要一些编程技巧,但它详尽深入的文档弥补了这方面的不足。

优点:

“编写一次,到处使用” 的方式

强大的文档

Cons:

 陡峭的学习曲线

 较小的社区

7. Famous

image

Famous

Famous切入web和移动开发的方式有点与众不同。它使用WebGL把你的HTML的DOM树组合在一起,把所有的内容在一个canvas里显示,有点类似HTML游戏引擎做的那样。这种独特的技术可以让框架在60 fps的速度下运行app,这已经和大部分native的app一样流畅了。可惜的是,这个项目现在不再活跃了,也没有合适的文档可供参考。

正面:

Native的性能

反面:

开发基本停滞

文档不全

社区不健全

汇总数据

image

总结

没有真正完美的框架 – 每个都有自己的优点和缺点,用哪个取决于你要用他们干什么。

我们希望这个快速的比较能对你有帮助!如果你对列表里的或者类似的框架有一些经验,不妨给我们留言,分享你对混合应用开发的看法!

文章转载自 开源中国社区[https://www.oschina.net]

相关文章
|
3天前
|
开发框架 前端开发 Android开发
移动应用开发的未来:跨平台框架与原生系统的融合
【4月更文挑战第20天】 随着移动设备的普及,移动应用已成为日常生活不可或缺的一部分。本文深入探讨了移动应用开发领域的最新趋势,特别是跨平台开发框架与原生操作系统之间的融合。文章分析了如何通过结合跨平台工具的高效性与原生系统的性能优势,来提升用户体验并加快开发流程。同时,探讨了这种融合对开发者社区、应用性能和用户接受度的潜在影响。
|
1月前
|
开发框架 安全 前端开发
移动应用的未来:框架、性能优化与跨平台开发的融合
随着移动设备成为日常生活的核心,移动应用开发正面临前所未有的挑战与机遇。本文深入探讨了移动应用开发的最新趋势,包括先进的开发框架、性能优化策略以及跨平台解决方案的实现。通过分析这些技术的融合,揭示了开发者如何构建更加高效、响应迅速且用户体验优良的移动应用。
17 4
|
1天前
|
人工智能 开发框架 5G
移动应用开发的未来:跨平台框架与原生系统的挑战
【4月更文挑战第21天】随着移动互联网的飞速发展,移动应用已成为日常生活的一部分。本文探讨了在多变的技术环境中,移动应用开发的趋势,重点关注跨平台开发框架和原生操作系统之间的竞争与合作。分析了Flutter、React Native等跨平台工具的优势与局限,以及Android和iOS在维持生态平衡中的策略。文章还预见了AI、5G技术如何重塑移动应用开发的未来,为开发者和企业提供了宝贵的市场洞见。
|
4天前
|
机器学习/深度学习 开发框架 人工智能
移动应用开发的未来:跨平台框架与原生系统协同进化
【4月更文挑战第19天】 随着移动互联网的迅猛发展,移动应用(App)成为日常生活和商业活动不可或缺的组成部分。本文深入探讨了移动应用开发领域的最新趋势,特别是跨平台开发框架与原生操作系统之间的相互作用与融合。文章分析了如何通过采用Flutter、React Native等现代跨平台工具,开发者能够高效构建同时运行于iOS和Android的应用程序,并保持与原生系统功能和性能的无缝对接。同时,文中还考察了移动操作系统的最新更新,如Android的Jetpack组件和iOS的SwiftUI框架,以及它们如何促进开发流程的简化和性能的优化。最后,文章展望了人工智能、机器学习在移动应用开发中的应用前
|
7天前
|
缓存 移动开发 监控
构建高效移动应用:跨平台框架的选择与优化策略
【4月更文挑战第16天】 在移动开发领域,跨平台解决方案的兴起为开发者带来了前所未有的机遇与挑战。本文将深入探讨跨平台移动应用框架的选择要素,并剖析性能优化的关键策略。通过对比主流框架的功能、性能和生态系统,我们得出了一套科学的选择标准。同时,文中还详细阐述了如何针对不同框架进行代码级和系统级的优化,以及如何利用工具进行性能监控和调优。这些策略不仅能提升应用性能,还能缩短开发周期,降低成本。
|
24天前
|
开发框架 前端开发 JavaScript
移动应用开发的未来趋势:跨平台框架与原生系统整合
随着移动互联网的迅猛发展,移动应用已成为日常生活和商业活动中不可或缺的组成部分。本文将探讨移动应用开发领域的未来发展趋势,重点关注跨平台开发框架的兴起以及它们如何与原生移动操作系统进行整合。我们将分析Flutter、React Native等流行框架的技术特点,并讨论它们在提高开发效率、降低成本和优化用户体验方面的潜在优势。文章还将预测这些技术如何塑造未来移动应用开发的方向,为开发者和企业提供前瞻性的指导。
24 4
|
29天前
|
开发框架 编解码 API
探索移动应用开发的未来:跨平台框架与原生系统协同进化
随着移动互联网的高速发展,移动应用(App)已成为人们日常生活不可或缺的组成部分。本文深入探讨了移动应用开发领域的最新趋势,特别是跨平台开发框架与原生操作系统之间的相互作用与融合。文章分析了当前移动应用开发的挑战和机遇,并展望了未来技术的发展方向。我们将重点讨论如何通过优化跨平台工具与深化对移动操作系统的理解,来提升移动应用的性能、安全性和用户体验。
|
1月前
|
JSON 前端开发 JavaScript
谈谈生成式企业级前端应用的二次开发方式
谈谈生成式企业级前端应用的二次开发方式
28 0
|
6月前
|
JSON 数据可视化 JavaScript
OneCode 基于“真实代码”代码的建模设计,无缝整合二次开发
在很多优秀的低代码平台中都支持了本地代码导出的设计,方便开发者二次集成,但能够导出的前提是已经通过低代码平台进行了初步的数据建模,界面绘制等基础性的操作。这些导出的代码虽然很大程度上减轻了开发者的代码量,但在项目的迭代过程中,遇到数据或需求变更。这些代码就又会成为开发者巨大的负担,重新由低代码平台建模会产生代码上的冲突无法解决,而重新用code编写这一步代码则又面临手工代码与“机器代码”的整合问题。而更为致命的问题是项目上线后,当直接用户希望通过低代码工具进行维护系统时更是“闪崩”。 本文将结合OneCode的底层编译原理来讲解 OneCode基于真实代码的建模解决方案。
|
7月前
|
小程序 JavaScript 前端开发
4大主流小程序平台介绍及其优缺点对比
小程序是一种轻量级应用程序,能够在手机上直接运行,无需下载安装,适用于一些简单的功能场景,如点餐、预约、查看天气等。以下是目前主流的小程序平台及其优缺点对比
333 0