Android 开发高手课
张绍文
前微信高级工程师,Tinker 负责人
52723 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 62 讲
导读 (1讲)
模块一 高质量开发 (25讲)
Android 开发高手课
15
15
1.0x
00:00/00:00
登录|注册

36 | 跨平台开发的现状与应用

学习能力和钻研的精神是应对趋势变化的关键
无论使用哪种跨平台方案,最终都要运行在Android平台上
对比:H5、原生开发、React Native/Weex
场景:部分业务、核心功能
技术框架开放,可以采用H5、React Native、Weex、Flutter
不属于跨平台开发方案,但具有渠道优势
技术方案:微信、支付宝、今日头条、百度
优化:Facebook正在重构React Native
性能问题:JS的执行时间、跨语言的通信成本
Weex:开源于阿里,对接了前端生态和原生渲染
React Native:利用JavaScriptCore进行桥接,生成自定义原生控件
优化方法:加快请求速度、代码优化、SSR、WebView预创建、缓存
性能问题:启动白屏时间、响应流畅度
浏览器内核包括浏览器引擎和JavaScript引擎
优点:跨平台、动态更新、扩展性强
移动Web技术、React Native和Weex、小程序是目前最常用到的跨平台开发方案
前端团队和iOS、Android合并为大前端团队
前端开发和Native开发融合为“大前端”
2017年GMTC大会更名为“大前端技术大会”
总结
跨平台开发的应用
小程序
React Native和Weex
Web
跨平台开发的现状
参考文章
跨平台开发的现状与应用

该思维导图由 AI 生成,仅供参考

在 2016 年,我参加了两场移动技术大会,在当时的 GMTC 大会上,原生开发看起来如日中天。
转眼到了 2017 年,HTML5 性能越来越好,Facebook 的 React Native、阿里的 Weex 等跨平台方案在越来越多的公司中实践,微信小程序更是给了原生开发最沉重的一击,许多小公司可能不再需要开发自己的应用。
“Write once, run anywhere”,人们对跨平台开发的尝试从来没有停止过。特别在这个终端碎片化的时代,一份代码可以在同一个平台不同的系统版本,甚至在不同的平台上运行,对开发者的吸引力越来越大。
回想一下,HTML5 与 Native 开发的斗争已经持续快十年了,那它们的现状是怎样的呢?React Native 和 Weex 方案有哪些优势,又存在什么问题?小程序是不是真的可以一统江湖?焦虑的 Native 开发又应该如何在这个潮流之下谋发展呢?

跨平台开发的现状

从 2017 年开始,GMTC“移动技术大会”就更名为“大前端技术大会”。从现在看来,前端开发和 Native 开发并没有谁取代谁,而是正在融合,融合之后的产物就是所谓的“大前端”。为了顺应这种趋势,很多大公司的组织架构也做了相应的调整,把前端团队和 iOS、Android 一起合并为大前端团队。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

移动技术领域的跨平台开发备受关注,HTML5性能提升和React Native、Weex等方案的出现引发了人们对“Write once, run anywhere”的兴趣。本文深入探讨了移动Web技术、React Native和Weex、小程序等跨平台开发方案的应用现状。随着移动设备性能的增强,Web页面的性能也逐渐变得可以接受。然而,基于WebView的H5跨平台方案在启动白屏时间和响应流畅度方面存在性能问题。文章提出了一系列优化方法,包括加快请求速度、代码优化、SSR等,以提升H5页面的性能。此外,文章还探讨了进一步优化的空间,包括WebView预创建、缓存、托管所有网络请求、私有接口等定制化优化方法。总的来说,本文深入探讨了跨平台开发的现状和技术挑战,以及针对H5性能问题的优化方法,为移动技术领域的开发者提供了有益的思考和指导。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Android 开发高手课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(15)

  • 最新
  • 精选
  • warmcheng
    慢慢觉得,以不变应万变才能避免焦虑。回归系统本质,底层原理,编程周边基础等等。其他,只需要有学习能力以及对新鲜事物的尝新兴趣即可。

    作者回复: 对的,哪有那么多新的东西,大部分都是微创新,一通则百通

    2019-04-06
    10
  • 伦特
    目前正在学习flutter,但从市面招聘来看,岗位不多,朋友推荐我学rn,但我好像很排斥rn。。。

    作者回复: 嗯,Flutter的岗位现在确实不多,有一些公司有岗位,比如头条、阿里,Flutter趋势比较好,可以多关注一些

    2019-04-01
    3
    2
  • splm
    托管所有网络请求,这个能不能再稍微讲讲,没太理解。

    作者回复: 这个是建立在我们有自己的内核,提供了单独的接口出来

    2019-09-11
  • splm
    提前渲染出用户要点击的url内容,怎么预判?

    作者回复: 可以看看chromium的predictor代码,简单来说,例如当用户光标在某个url,一些下一页这些关键字,用户在输入框输入的某些关键池

    2019-06-21
  • 江龙
    图中T1\T2这些定义有出处吗?我们使用一个标准监控服务。使用了W3C 规范中定义的 Navigation Timing API :https://www.w3.org/TR/navigation-timing/?spm=a2c4g.11186623.2.15.37df2e88EQYwwV来统计关键指标,其中First Paint Time, 首次渲染时间 = responseEnd - fetchStart ,也就是在DOM解析前。跟你图中的 T1 first paint有差异

    作者回复: W3C的确有一套标准,不过那套指标不算特别细。 T0、T1、T2、T3的定义在阿里倒是比较通用的

    2019-05-26
  • Leo
    如果要投入精力去学习一种跨平台的技术,选哪一种比较好?

    作者回复: H5是所有跨平台方式的基础

    2019-04-02
  • andavid
    1、页面使用自定义的 HTML 标签,通过原生解析、渲染、排版 2、页面内脚本语言使用 Lua,通过调用客户端封装的自定义 Lua 执行原生代码 3、服务端只需开发一套页面,就可以在 Android 和 iOS 平台原生渲染展示 4、页面通过离线资源的方案进行动态更新

    作者回复: 如果都已经使用了HTML,那就可以直接通过JSBridge了。 通过Lua的原生界面动态框架之前手Q搞过一套,但是写界面实在太痛苦,所以推不起来

    2019-04-02
  • 时间去哪儿了
    未来flutter和原生开发会是什么样的关系呢?据说性能要好于rn,weex

    作者回复: 就是一些本来使用原生开发的功能,会使用Flutter代替

    2019-04-01
  • Jiantao
    用过RN开发过部分业务,采用混合开发。实际开发过程及用户体验Android都不如iOS;现在项目也是原生+RN+H5模式,看好flutter但暂时没有投入实际项目,也期待RN新版本。

    作者回复: 新版本希望4月底的F8会议可以放出来

    2019-03-31
  • 王佐
    大前端时代,移动开发者需要掌握更多的技能才行

    作者回复: 技多不压身

    2019-03-30
收起评论
显示
设置
留言
15
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部