这是我参与「第五届青训营」伴学笔记创作活动的第 9 天,欢迎各位大佬批评指正。
跨端技术概述
随着业务的发展,产生了越来越多的业务场景,同时随着技术的发展,产生了越来越多的端,PC端、移动端、web端、loT设备等。
针对这些设备开发有着相同的痛点:
- 各端功能几乎一样,但是却需要单独配置研发人员
- 开发、维护成本过高
- 安卓、ios开发周期过长等
- ...
因此为了解决上述痛点问题,跨端开发的方案应运而生:
- 研发效率高:学习成本低,多端一致性高
- 用户体验好:稳定性高、性能体验好
- 动态化:支持动态化下发,满足日益增长的业务需求
跨端技术方案
对于跨端技术,业界比较成熟方案有:Hybird、原生渲染、自渲染和小程序等。
Hybird 方案
基于WebView渲染,通过JS Bridge把一部分系统功能开放给JS使用。
原生渲染方案
使用JS开发,通过中间层桥接后使用原生组件来渲染UI界面。
React Native是由Facebook于2015年9月发布的JS框架,它可以让开发者使用JS和React来开发跨平台的移动应用。
自渲染方案
利用Skia渲染管线,不依赖原生组件。
Flutter是由Google于2018年在世界移动大会上公布的开源应用框架,仅通过一套代码,就能构建精美的、原生平台编译的多平台应用。
小程序方案
使用小程序 + JS开发,通过中间层桥接后调用原生能力,使用Webview来渲染页面。