课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的软件开发应用都要求适应多种场景需求,而跨平台开发技术正是解决这个问题的主要技术之一。今天我们就一起来了解一下,关于跨平台开发技术都有哪些类型和优势。
H5+ 原生混合开发
这类框架的主要原理是将 APP 需要动态变动的一部分内容通过 H5 来实现,通过原生的网页加载控件 Webview( Android) 或 WK Webview(iOS) 来加载 (以后若无特殊说明,本书将用 Webview 来统一指代 Android 和 iOS 中的网页加载控件)。这样,H5 部分就可以随时改变而不用发版,动态化需求得到满足 ; 同时,由于 H5 代码只需要一次开发,就能同时在 Android 和 iOS 两个平台上正常运行,这也可以降低开发成本,也就是说,H5 部分的功能越多,开发成本就越小。我们称这种 H5+ 原生的开发模式为混合开发,对于采用混合模式开发的 APP,我们称之为混合应用或 Hybrid APP,如果一个应用的大多数功能都是采用 H5 实现的话,我们称其为 Web APP。
目前混合开发框架的代表有 Cordova、 lonic 和微信小程序,值得一提的是,微信小程序目前是在 Webview 中渲染的。并非原生渲染,但将来有可能会采用原生渲染。
混合开发技术点
如之前所述,原生开发可以访间平台的所有功能,而在混合开发中,H5 代码是运行在 Web View 中的, Webview 实质上就是一个浏览器器内核、其 script 依然运行在一个权限受限的沙箱中,所以对大多数系统能力都没有访向权限、如无法访向文件系统、不能使用蓝牙等,所以,对于 H5 不能实现的功能,都需要原生来实现。
而混合框架一般都会在原生代码中预先实现一些访问系统能力的 API,然后暴露给 Webview 以供 Javascript 调用,这样一来, Webview 就成为 Javascript 与原生 AP 之间通信的桥梁,主要负责 Javascript 与原生之间调用消息的传递,而消息的传递必须遵守一个标准的协议,其规定了消息的格式与含义,我们将依赖于 Webview 的、用于在 Javascript 与原生之间通信并实现了某种消息传输协议的工具称为 Webview Javascript Bridge,简称 Jsbridge,它也是混合开发框架的核心.
我所使用的跨平台技术:
Electron
React-Native
Taro
Cordova
快应用
Flutter(刚学习)
…
排名由前往后,除了 Flutter 没有使用过在商业项目中
Electron 的核心:
Electron 就是把 Node.js 的运行环境和谷歌浏览器内核一起打包了,于是就拥有了 Node.js 和 H5 技术的融合能力,又因为是基于 C++ 编写,于是可以跨平台。Mac、Windows、Linux。
工具类的软件是复杂的,例如 vscode、word 这些,都是极度复杂的,又因为可以调用 addon、各种脚本插件,原生第三方插件,这个技术简直就是黑科技,至今我也不敢说对它熟悉。但是 APP Store 已经不能上线 Electron 应用了,而且打包签名服务器也经常挂
特别注意:Electron 开发出来的东西是软件,是一个安装在电脑上的软件!
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。