一、混合开发几款移动跨平台App开发框架比较 1.PhoneGAP 2.Cordova 3.Dcloud 4.APICloud 5.APPCan 6.Lonic 主流的:Ionic、React Native 非主流:Html5+、AppCan、Jquery Mobile(主要用于做移动Web) 二、移动跨平台方案 移动开发10年历程 React Native、weex、Flutter 1.React Native,是Facebook早先开源的JS框架 React 在原生移动应用平台的衍生产物,目前支持iOS和安卓两大平台。RN使用Javascript语言,类似于HTML的JSX,以及CSS来开发移动应用,因此熟悉Web前端开发的技术人员只需很少的学习就可以进入移动应用开发领域。 2.阿里Weex,框架能够完美兼顾性能与动态性,让移动开发者通过简捷的前端语法写出Native级别的性能体验,并支持iOS、安卓、YunOS及Web等多端部署。 3.Flutter,是谷歌的移动UI框架,使用Dart语言开发,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。
android_跨平台.png
4.从本质上来讲,React Native 和 Weex 可以算作 Hybrid 的方案。把它们和 Cordova 纯 HTML 开发的 App 进行对比的原因,是因为 React Native 和 Weex 都支持将资源文件(例如 HTML、CSS 或 JS)打包到 App 进行发布。 5.RN 和 Weex 的原理都是在 iOS 或者 Android 操作系统上利用 JavaScript 引擎进行 Bundle 的解析,利用操作系统原生的 UI 框架进行渲染的。这种方案解决了 Hybrid 性能的不足,也提供了动态化和网页开发的体验。 6.Flutter 之所以受到如此多的关注是因为它与之前的 Hybrid、React Native、Weex 有着很大的不同。 首先第一点,也是最本质的区别:Flutter 使用系统级 API 进行渲染,客户端仅需要提供一块画布就可以支持应用展示。这一点使其脱离了原生的渲染,让我们可以获得高度一致的渲染体现。除了一致性以外,Flutter 大量利用了 GPU 绘制的 Skia 图形引擎,在渲染速度和动画效果上都给出了更有体验。 其次是开发的效率和开发的生态环境,Flutter 从一开始就很关注开发的效率,利用 Hot-Reload 的亚秒级刷新能力开发人员可以非常快速的进行调试和开发,也能随时查看编写代码呈现的效果。另外 Flutter 采用 Dart 语言进行开发,Dart 语言兼有 JIT 和 AOT 两种运行模式,既可以保证开发模式下快速的部署和调试,也可以保证产品模式下高速的运行。Dart 语言易学易用,可以很方便的从 Java、Objective-C、JavaScript 等语言迁移过来。 Flutter 下层使用 C / C++ 编写的 Framework,上层用 Dart 进行视图和功能组件的搭建