如何选择适合自己的跨平台开发框架?
极客时间编辑部
讲述:丁婵大小:7.47M时长:05:26
你好,欢迎收听极客视点。
随着移动互联网的发展,Android 和 iOS 呈两分天下之势,跨平台开发也逐渐成为移动领域的热门话题之一。怎么看待其背后的发展逻辑?跨平台开发的难点是什么?未来的发展方向如何?近日,InfoQ 邀请阿里巴巴淘系技术部资深无线技术专家黄刚(腾渊)介绍了跨平台开发的发展趋势和变化。
黄刚表示,从早期比较流行的 Hybrid App,到后来的 React Native、Weex,再到现在比较火爆的小程序和 Flutter,可以看到跨平台的发展趋势是框架变得越来越重。如果当前的业务情况下前台呈现比较不稳定并且整个前台开发占比较高,那么应用跨平台框架的收益就比较高了。到底哪个方向更正确、哪个框架更好其实是没有标准答案的,更多需要开发者因时制宜地选择。以下为黄刚的观点精华。
在移动互联网时代,当 Android 和 iOS 奠定了整个移动 OS 的地位后,跨平台研发就一直是一个大的研究方向或者说是大的课题。这个话题其实很有意思,因为很多时候大家会有些默认的假设,比较容易忽视这个方向出现或者变热的前提条件。
从 PC 时代开始,就有一些像 Qt 之类的优秀跨平台软件研发框架。但是我们回过头来看,那个时候面向个人用户的跨平台研发很难说是一个非常热的方向,其中最主要的原因就在于 PC 时代 Windows 的绝对统治地位。假设移动互联网时代只有一个 OS 占绝对统治地位,那可能也不会有业界同仁研究跨平台研发,这是一个大前提。
移动互联网时代,在 Android、iOS 作为移动 OS 双巨头的格局下,天然就会带来重复开发导致移动应用开发成本增大的问题。要开发一个应用,服务端、前端可以是一个开发团队,客户端基本需要 Android 和 iOS 两个开发团队,所以不难理解跨平台研发这个话题的起点在于降低研发成本。在这个基本问题下,可以衍生出的问题包括开发多平台带来的额外成本是多少、在整个研发生命周期中的占比是多少、跨平台开发框架能否解决这个问题等等。只有这些问题回答清楚了,我们才能明确适合自己的跨平台开发框架应该具备哪些特征,这个跨平台框架在一个应用程序中的使用范围是多大。
从早期比较流行的 Hybrid App 到后来的 React Native、Weex,再到现在比较火爆的小程序和 Flutter,可以看到跨平台研发框架变得越来越重。是不是一定越重、越新的框架越好?答案是不一定。
从应用的生命周期来看,研发只是其中一个阶段,是否具有长久的可维护性、可运维性,也是需要重点考虑的问题。而整个研发阶段是从前端到后端的 End-to-End ,跨平台更多是集中于大前端领域内的话题,如果在当下的业务形态里,前台展现的是高度产品化且比较稳定,或者对于性能以及交互的要求极度苛刻,那么先跨平台(Cross-Platform First)未必是一个理想的选择。
一方面是多平台开发工作在整个研发成本的占比不高,投资回报率未必高。另一方面是,先跨平台是以牺牲平台特性为代价以达到跨平台的一致性(本质上跨平台研发框架也基本无法做到多平台表现的完全一致性)。在达到一致性表现的过程中,工程方面的填坑成本可能更高。
反过来讲,如果当前的业务情况下,前台较不稳定且整个前台开发占比较高,那么应用跨平台框架的收益就比较高,在阿里比较典型的例子就是 Weex 在大促会场上的应用。
其实,从 Hybrid 的方案到 React Native、Weex 再到 Flutter,本质上都是在研发成本、灵活性、性能体验三者间找一个平衡点。只是大家的切入点不太一样,最终导致整个解决方案有了不同。假设现在你要开发一个全新的 App,整个开发团队是多前端、少客户端的,那么你可以多考虑 Hybrid 的模式。如果对性能要求比较高,就可以考虑 Weex 或者 React Native。如果客户端的同学比较多,那么考虑 Flutter 也未尝不可。
你也可以看到,谷歌同时在推 Flutter 和 Kotlin,它们本质是不一样的,Flutter 更多地体现先跨平台,Kotlin 更多地体现 平台优先(Platform First),到底哪个方向更正确,哪个框架更好,其实没有标准答案,更多需要开发者因时制宜地进行选择。
以上就是今天的内容,希望对你有所帮助。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(4)
- 最新
- 精选
- 小斧一方面是多平台开发工作在整个研发成本的占比不高,投资回报率未必高。另一方面是,先跨平台是以牺牲平台特性为代价以达到跨平台的一致性(本质上跨平台研发框架也基本无法做到多平台表现的完全一致性)。在达到一致性表现的过程中,工程方面的填坑成本可能更高。 反过来讲,如果当前的业务情况下,前台较不稳定且整个前台开发占比较高,那么应用跨平台框架的收益就比较高,在阿里比较典型的例子就是 Weex 在大促会场上的应用。1
- Johnny夸平台更多的还是开发成本的考虑。
- Geek_d02923感谢老师分享!
- 廖师虎WASM也是可能之一,性能更好,更安全
收起评论