1.应用场景
主要用于了解App架构的演进过程,以及对比端上架构与后端架构的区别,联系。 |
2.学习/操作
3.问题/补充
1. App首页/页面,资源聚合江龙
2. 课后思考题李奋斗 端上的技术,山上的天儿,都变得太快。端上的架构怎么演进?我觉得要把答案交给想象力,把时间尺度拉大看,想象力才是端上复杂度的主要来源,交互革命和场景升级是端技术栈发展的重要推动力。鼠标的发明,颠覆了命令行的交互思维,iphone的问世,分分钟让习惯了上屏下键的人们大开眼界,手机和网络的突进,解锁了一堆令人兴奋的场景。VR,混合现实,AI,5G等技术都可能极大推进端技术的变革,未来端架构怎么演进?不清楚,但有一点是清晰的,一大波复杂度,就在路上。
3. kyll其实,对于现在很多业务应用强制将用户绑到移动端很是反感。举个例子,第一次用丰巢寄件,竟然花了半小时,注册很麻烦。有些餐厅强制手机点餐,在pc端登录强制扫二维码,也很无语。多设备多渠道本质应该是为了方便快捷,随时随地享用服务。任何设备都有局限性,做好自己的本职即可。
4. feifei我认为这个演讲也是朝着 all in one,即平台统一化,在app与原生接口间会出现统一化一个技术,类似java与jvm 原因: 1,原生开发成本高,每个平台都需要专门的开发人员 2,手机性能的提高,能够为平台统一化提供条件 3,用户体验,苹果的生态封闭,体验相对较好,但安卓平台很多公司都封装一套 导致体验差异很大
5. 木得感情的编码机器曾经做过一个移动端社交项目,开始就是用react native 开发的,但是工程里还是用了些原生的库和代码,而且是IM和拍照美化这两个核心功能。所以开发时既要边学边写原生代码,还要写RN,而且一旦RN在真机上报错,debug就是一头包。项目内测时就发现了RN光启动什么也不干就用掉了100多M内存,而且拍照美化是原生加RN,性能非常差。 内测之后就抛弃了RN,两个程序员很快就把安卓和苹果两个原生版本做出来了,因为很多原生代码可以复用,而且原生也有很好的开发框架和模式,调试非常方便和清晰。 我总结一下,是否用跨平台的方案取决于业务。如果做资讯类,信息聚合类,电商类对性能不苛求的项目,用RN这类东西完全可以。如果是游戏类,协同工具类,拍照视频类这些对性能有极高要求的,还是得用原生去开发,必要时也可以配合H5混合实现活动、任务、促销等业务。 未来前端的发展肯定是越来越复杂的,但要出现真正大一统跨平台开发框架还是需要很长一段时间,但是我这个东西一定是出至谷歌或苹果,而不会是FB或者其他大厂。现在有flutter ,但是说不准哪天swift 也能写安卓。
6. Niuniu我的观点可能有点相反,但凡有人上来要做native app的时候,我一般都劝退不劝进。先仔细想想你需要的那些功能WebApp能不能实现,用户体验有没有差很多,没有的话,没必要做native app。能上webapp,先上webapp,人手不够时间紧,可以考虑hybrid,实在是非native app不可,才考虑写native的。
7. 天外来客未来app必然朝着更好的用户体验,更快的开发速度方向发展,考虑到Android和iOS都是基于Linux底层,可能会出现一个平台层隔离两者的差异,提供统一的移动端系统API供开发者使用,希望这一天早点到来
8. Monday分久必合,安卓和IOS终将大一统为跨平台 App
9. H有一个疑问,虽然在这节中提问不太合适哈哈哈。 疑问:如果一次mysql查询中,涉及到7-8个表的联合查询。就是join查询。除了暴力查询方法外,有没有其他办法?比如合表,把多个字段数据合在一起,放在一个表中。这样子可以吗?如果不对,望作者指正
10. Eric老师,我想问下 分布式 这种架构也算是面向服务做切分的一种架构模式嘛?我个人理解 分布式服务 有按功能分割的 ,也有按任务计算资源分割的,还是说 分布式 本身是一种扩展方案?我概念上有点乱,不知道老师怎么定义 分布式 这个概念,谢谢
11. 陶邦仁未来提供平台化,屏蔽底层原生,正如pc端cs到bs的演进
12. 大鹏架构设计首先要掌握业界已经成熟的各种架构模式,然后再进行优化、调整、创新。——这句话点拨了我,我自己在工作当中,往往忽略了这一点。事实大家都知道,但架构的原则会避免我们钻牛角尖
13. 海罗沃德App最后还得是原生,开发多次就只能加人加钱,不然你不开发多次,同类型App发狠开发多次,竞争力就没有了,不过好的是,印度,澳洲,中国都可以接各种App的外包,作为甲方用心做好交互设计比什么都重要
|
4.参考
[转]Web 研发模式演变——玉伯 - 知乎 |
后续补充
...