乐趣区

App常用开发模式

App 常用开发模式
Native App
传统的原生 App 开发模式,有 iOS 和安卓两大系统,需要各自语言开发各自 App。
优点:性能和体验都是最好。缺点:开发和发布成本高,维持多个版本的更新升级比较麻烦,用户的安装门槛也高
WebApp
移动端的网站, h5 开发和发布成本最低, 性能和体验较差,受到浏览器处理能力的限制
Hybrid App
混合模式移动应用,介于 Web App、Native App 这两之间 App 开发技术, 兼具“Native App 良好交互体验的优势”和“Web App 跨平台开发的优势”
原理: 由 Native 通过 JSBridge 等方法提供统一的 API,用 html,css 实现界面,JS 写逻辑调用 API,最终页面在 Webview 中显示,这种模式下,Android、iOS 的 API 一般有一致性,HybridApp 所以有跨平台效果
开发者可以像开发 WebApp 一样开发 app 的视觉 UI,当需要使用原生功能(如摄像头,陀螺仪等功能)时,只需要调用官方的 API 就可以实现 Native 的效果。至于 JS 和 Native 的通信,常用的有 URL 监听和 Hybrid 厂商使用的 JSBridge 通信,两者原理相近。
Hybird App 的常见跨平台开发工具有 PhoneGap,Ionic, 国内有 AppCan
缺点:Hybird 严重受限于 WebView 的解析渲染效率,需要原生配合。
JSBridge 调用方式

React Native App
Facebook 发现 Hybrid 存在很多缺陷和不足,然后自己开发了一套 RN, 使用 JSX 写原生界面,js 通过 JSBridge 调用原生 API 渲染 UI 交互通信。支持 flexBox 布局,采用 DOM 结构;
优点:效率体验接近 Native App,发布和开发成本低于 Native App。缺点:新东西,更新迭代快,api 后期同早期变化很大,需要踩坑。。
Weex App
阿里开发团队在 RN 的成功案例上,设计的一套开发模式,2016 年 4 月正式开源,并在 v2.0 版本官方支持 Vue.js 优点:单页开发模式效率极高,热更新发包体积小,并且跨平台性强。缺点:同 RN, 且社区没有 RN 活跃,已捐献给 Apache 基金会孵化管理。。。奔溃。。。

退出移动版