Android开发高手课
张绍文
前微信高级工程师,Tinker负责人
立即订阅
12613 人已学习
课程目录
已完结 61 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 焦虑的移动开发者该如何破局?
免费
导读 (1讲)
导读 | 如何打造高质量的应用?
模块一 高质量开发 (25讲)
01 | 崩溃优化(上):关于“崩溃”那些事儿
02 | 崩溃优化(下):应用崩溃了,你应该如何去分析?
03 | 内存优化(上):4GB内存时代,再谈内存优化
04 | 内存优化(下):内存优化这件事,应该从哪里着手?
05 | 卡顿优化(上):你要掌握的卡顿分析方法
06 | 卡顿优化(下):如何监控应用卡顿?
06补充篇 | 卡顿优化:卡顿现场与卡顿分析
07 | 启动优化(上):从启动过程看启动速度优化
08 | 启动优化(下):优化启动速度的进阶方法
09 | I/O优化(上):开发工程师必备的I/O优化知识
10 | I/O优化(中):不同I/O方式的使用场景是什么?
11 | I/O优化(下):如何监控线上I/O操作?
12 | 存储优化(上):常见的数据存储方法有哪些?
13 | 存储优化(中):如何优化数据存储?
14 | 存储优化(下):数据库SQLite的使用和优化
15 | 网络优化(上):移动开发工程师必备的网络优化知识
16 | 网络优化(中):复杂多变的移动网络该如何优化?
17 | 网络优化(下):大数据下网络该如何监控?
18 | 耗电优化(上):从电量优化的演进看耗电分析
19 | 耗电优化(下):耗电的优化方法与线上监控
20 | UI 优化(上):UI 渲染的几个关键概念
21 | UI 优化(下):如何优化 UI 渲染?
22 | 包体积优化(上):如何减少安装包大小?
23 | 包体积优化(下):资源优化的进阶实践
24 | 想成为Android高手,你需要先搞定这三个问题
模块二 高效开发 (9讲)
25 | 如何提升组织与个人的研发效能?
26 | 关于编译,你需要了解什么?
27 | 编译插桩的三种方法:AspectJ、ASM、ReDex
28 | 大数据与AI,如何高效地测试?
29 | 从每月到每天,如何给版本发布提速?
30 | 数据评估(上):如何实现高可用的上报组件?
31 | 数据评估(下):什么是大数据平台?
32 | 线上疑难问题该如何排查和跟踪?
33 | 做一名有高度的移动开发工程师
模块三 架构演进 (9讲)
34 | 聊聊重构:优秀的架构都是演进而来的
35 | Native Hook 技术,天使还是魔鬼?
36 | 跨平台开发的现状与应用
37 | 移动开发新大陆:工作三年半,移动开发转型手游开发
38 | 移动开发新大陆:Android音视频开发
39 | 移动开发新大陆: 边缘智能计算的趋势
40 | 动态化实践,如何选择适合自己的方案?
41 | 聊聊Flutter,面对层出不穷的新技术该如何跟进?
42 | Android开发高手课学习心得
练习Sample跑起来 (8讲)
练习Sample跑起来 | 热点问题答疑第1期
练习Sample跑起来 | 热点问题答疑第2期
练习Sample跑起来 | 热点问题答疑第3期
练习Sample跑起来 | 热点问题答疑第4期
练习Sample跑起来 | ASM插桩强化练习
练习Sample跑起来 | 唯鹿同学的练习手记 第1辑
练习Sample跑起来 | 唯鹿同学的练习手记 第2辑
练习Sample跑起来 | 唯鹿同学的练习手记 第3辑
特别放送 (7讲)
Android JVM TI机制详解(内含福利彩蛋)
专栏学得苦?可能是方法没找对
专栏学得苦?可能你还需要一份配套学习书单
Native下如何获取调用栈?
聊聊Framework的学习方法
Android工程师的“面试指南”
程序员修炼之路 | 设计能力的提升途径
结束语 (1讲)
结束语 | 移动开发的今天和明天
Android开发高手课
登录|注册

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

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

跨平台开发的现状

从 2017 年开始,GMTC“移动技术大会”就更名为“大前端技术大会”。从现在看来,前端开发和 Native 开发并没有谁取代谁,而是正在融合,融合之后的产物就是所谓的“大前端”。为了顺应这种趋势,很多大公司的组织架构也做了相应的调整,把前端团队和 iOS、Android 一起合并为大前端团队。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《Android开发高手课》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(12)

  • DebugCat
    年前利用Flutter,重构了一个子功能模块,以插件的形式运行在主App中。开发期间最大的感受就是Flutter的生态还是才刚刚起步,尤其这种混合开发,相关开发工具或者流程上的东西欠缺还很多,不是很得劲。
    2019-03-30
    4
  • warmcheng
    慢慢觉得,以不变应万变才能避免焦虑。回归系统本质,底层原理,编程周边基础等等。其他,只需要有学习能力以及对新鲜事物的尝新兴趣即可。

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

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

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

    2019-04-01
    1
  • 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有差异
    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
  • huguo
    非常期待关注flutter以及fuchisa的那期
    2019-03-30
  • 王佐
    大前端时代,移动开发者需要掌握更多的技能才行

    作者回复: 技多不压身

    2019-03-30
收起评论
12
返回
顶部