极客时间2周年特邀 100 位在产品、架构、测试、运维、人工智能、管理、编程语言、运营等各个领域的专家,在 App 内与用户交流互动。
InfoQ 特别整理了前手机淘宝前端负责人程劭非(winter)与用户的互动和问答集锦,分享给大家。
你好,我是 winter,前手机淘宝前端负责人,极客时间专栏作者。今天我来部落试水 AMA(Ask Me Anything)功能,大家关于前端相关的问题都可以问我,我会尽我所能逐一回答,希望能和极客时间一起把部落打造为行业内最好的技术交流社区,大家燃起来。
Q1:Angular 国内环境怎么样?是不是由于 TypeScript 的原因不如 React 和 Vue 流行。未来是不是可以借 TypeScript 的上升而繁荣?
winter:国内流行度稍微比 Vue 和差点,不过我认为不会影响到你的技术决策和发展决策,你选择一项技术不需要它“最流行”,只需要它“足够流行”。
Q2:winter 老师,能否推荐一本专门讲 UI 架构的书?无论是 React、Vue 还是 Angular,他们应该都遵循同一套更抽象的 UI 架构思想和方法论,我想从更宏观视角系统地了解 UI 架构,比如一个完整的 UI 架构系统,有哪些必要部件,部件之间的关系如何,他们是如何通信的?
winter:书没有,可以看论文 MVC 那些。
Q3:winter 您好,听说您以前是做客户端的,请问您客户端大概做了多久,为什么会选择转前端,您的前端的技能是在做客户端的时候积累的么?转前端的过程中是否遇到过什么挑战,相比客户端前端有什么更加吸引你的么?
winter:我始终认为标准化才是未来,所以一直努力向前端靠拢,花了大概四年完全转到前端,不过我觉得客户端技术还是非常先进的,比如 MVVM(模型-视图-视图模型)其实是 2005 年的技术。
Q4:winter 大佬好,我是一名后端开发,以前写 SSM 类的项目都是从前写到后,之后前后分离之后感觉前端突然多了好多东西,然后就一脸懵逼,之前开发用的 HTML,CSS,jQuery,EasyUI 等等的东西,感觉还挺好理解的,现在对前端这些框架,越看越乱。能不能指点下类似我这样的,该怎样学习这些前端框架?
winter:理论上即使你从前到后写,也应该有个前端解决方案的,比如以前我在淘宝,给服务端用的框架叫 ICE。
Q5:寒老师,请教一下 5G 普及之后,端开发可能会有什么新的变化?除了不在乎 bundle size 之外?会有新的业务形态带来的新的框架或者开发模式吗?
winter:我觉得不会不在乎 bundle size,只是能容纳的业务量变大了,PC 时代页面也不是无限大,目前来看 5G 还比不上有线。
Q6:请问前端在大部分大型互联网公司中会真的像很多人说的那样,“因为跟核心技术绝缘(往往放在后端)而边缘化吗” ?
winter:这个跟业务形态有关系,像电商类、社交类,数据比表现重要的肯定后端重要,但是教育类、娱乐类,表现比数据重要,那前端就是核心技术了。
Q7:我是您的《重学前端》的读者,您是前端领域的资深专家,您认为前端这么些年来让人眼花缭乱的新技术背后,有哪些技术是相对稳定而且非常重要的呢?您认为前端工程师的核心竞争力是什么,前端工程师如何构建自己的护城河?前端和 VR/AR 是什么关系呢?在未来的 5G 和人工智能时代,前端技术未来的演化方向是什么,应该在哪些方面提前布局?
winter:与其它岗位共性的:编程能力、架构能力、工程能力。前端自己特有的:UI 架构,图形学。
Q8:老师,我目前到达了一个瓶颈期,就前端框架和大部分库来说已经掌握他们思想和核心源码,对性能优化也有很深入研究了,因为我是做 Electron 跨平台开发的,IM 这种路线,我现在很迷茫,我才 24,我想提升自己,应该去学习后端吗?(我目前不会 APP 原生开发,移动端是我的弱点)
winter:想想你用这些技术做出了什么 nb 的东西吧,写在简历上的应该是你的成就,而非你的知识。
Q9:老师你好,我们也是作电商平台的,嵌入到 App 中,之前是 H5,现在是 RN。之前做 H5 的时候页面加载比较慢,但是我发现淘宝入口球很多都是 H5 页面,但是简直是秒出,不知道是什么技术方案。而且刚开始做 RN 的时候,有许多地方,我是比照着 H5 去理解的,但是没有找到像浏览器 Profile 那样的工具去检测他的性能,不知道老师有什么推荐吗?
winter:淘宝大部分是 Weex,性能优化涉及到整个链路,各种服务端、客户端技术支持,你看到的是多种技术累积的结果,不是单点的优化。工具没有的,淘宝是自己用 Native 代码做数据埋点的。
Q10:老师您好,我在自学过程中经常遇到类似树状结构不好实现,无线滚动性能不好想要改进等等问题,这类是实现某个特定功能的学习过程该怎么做呢?如果参考别人的代码又该去哪里参考呢?(因为是特定功能,因此常常找不到很好的实现)
winter:凡是工程方案基本没地方学,只能靠你自己分析和看开源项目。实际上工程教你的就是分析和解决问题的方法论,世界上工程问题那么多,不可能都有现成答案的。
Q11:老师,您好,面对前端的各种框架,现在我刚从事前端工作一年,这一年里基本就是写 HTML、CSS、JavaScript 啥的,Vue 基本上很少写,有时候自己会翻看一些资料什么的,我该具体怎么学习才能精益求精啊。前端的学习方向是怎样的啊。
winter:工程上建造各种设施,编程能力自己不断练习,架构方面不断重构,前端知识不断学习和梳理。
Q12:后端程序员八卦一下前端的事。想了解一下现在前端 PWA 技术栈在国内发展情况如何,可以与小程序一战吗?
winter:目测还不行,不过国外生态比较好,其实这不是技术问题。
2 年时间,极客时间已经为用户交付了 94 门课程,涵盖产品、架构、测试、运维、人工智能、管理、编程语言、运营等多个领域。9 月「部落」上线后,用户又有了新的思考和讨论的聚集地。欢迎你加入「部落」,和大咖们共同探讨技术问题,和我们一起探索新的学习方式。
相关文章:
《winter 眼中的前端十年:觉醒、全栈、包袱,未来无不可为》
评论 1 条评论