APP 跨平台开发技术分析
大纲
1. 技术背景
2. 技术简介
3. 行业内技术统计
4. 公司案例与行业采用
5. 技术积累与沉淀
技术背景
APP 跨平台开发是目前比较热门的方向,采用 Web 框架开发,以 Web 的开发体验快速构建应用,提高了迭代的效率。同时 Web 开发方式大多使用动态语言,能够绕过原生开发限制动态加载,因此具备热加载、热更新的能力。
技术简介
Cordova/WebView
利用 Android 和 iOS 上的 WebView 容器,使 APP 能够执行 html、css 和 js 脚本,展示 Web 页面。如果需要原生功能就添加 bridge 供 JavaScript 调用。具有开发效率高、跨平台、支持动态发布等特点。
架构图:
加载流程:
原生安卓app开发假设 HTML 界面以及 JS/CSS 等资源已下载.
1. Cordova (WebView) 解析 HTML 文档, 异步下载外链资源, 开始构建 DOM 树. (下载 JS 会阻塞后续 DOM 的解析以及其它资源的加载(如 CSS/JS/图片资源等), 下载 CSS 文件, 不会阻塞解析, 但会阻塞渲染)
2. 根据 CSS 资源生成 CSSOM, 并结合 DOM 树开始构建渲染树, 并进行渲染:
1. 计算 CSS 样式.
2. 构建渲染树.
3. 对元素进行布局. 主要定位坐标和大小.
4. 绘制. 将图像绘制出来.
插件调用
当用户点击或程序调用插件时:
1. 从 Cordova_plugins.js 中获取插件文件名称和地址.
2. 通过调用 Cordova 的 exec 模块将 API 的参数保存在 CommandQueue 的队列中, Callback 保存在 JS 侧的 callbacks map 里面.
3. 添加一个空的 iframe, 并且 src 指向 gap://ready .
4. 原生部分 UIWebviewDelegate shouldStartLoadWithRequest 方法被调用.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论