前端开发的难点到底在什么地方?
这个问题是一个比较全能的 JavaP7 工程师提出来的, 总结一下大家的回答:
需求变化快, 需要良好的复用, 可拓展能力, 否则动不动重写.
兼容性问题, 需要兼容各种移动设备的各种浏览器.
CSS 非正交, 对于绝大多数人来说属于『玄学』.
那么问题来了, 普通前端工程师的技术进阶突破点在什么地方?
有哪些方向可以突破, 以后端为例
全局方向: 做业务整体架构深度方向: 做性能调优, 高并发, 分布式等专业要求很高的领域延伸方向: 以 Java 为例很多大神转移到大数据, 分布式计算这个方面, 算是传统 Java web 的延伸方向
单纯讲技术进阶点意义不大, 脱离场景都是耍流氓. 我举个实际例子, 今天的阿里大文娱优土, 阿里接管 2 年, 底层替换差不多了, 由内容为王慢慢转变为产品技术驱动. 这种情况下, 前端如何进阶呢? 业务很多, 历史问题很多, 老板迫切希望创新, 赶超对手.
端上, 我有 pc,h5, 小程序, 播放器
API 代理层, 我有 node, 可以快速实现 API 保证, 1, 内部有直接用, 2)内部没有, 自己写, 3)不够用, 我自己包装, 不会让 API 层限制我的发展
历史问题, 我可以快速的想办法吃掉, 尤其是老的 PHP, 这部分要做的是 1)稳定改造 2)提高团队技术栈
我有端, 我有 API, 即所有应用层面的事儿我都可以做. 那么, 新业务如何应对呢? 根本还是在产品技术 2 个方面, 对于团队技术, 慢慢培养就好了, 对于产品摸清他们的水平.
有哪些方向可以突破
全局方向: 做业务整体架构, 进可攻退可守, 技术不行做技术, 产品不行做产品, 不要给自己设限
深度方向: 做性能调优 (前端, node), 高并发(node), 分布式(node) 等专业要求很高的领域, node 完全可以做任何 java 可以做的事儿, 别抬杠
延伸方向: 以 JS 和 node 为中心很多大神转移到大前端, 移动端, ai, 区块链, 大数据等方面, 算是传统 Web 的延伸方向
前端不该只写页面, node 也只是基本技能, 最重要的一点, 技术要驱动商业, 否则没有任何价值. 你是一个工程师, 征途是星辰大海, 何苦给自己设限?
快速学习技术的能力
前端时不时出来很多新东西, 然后总是先于当前实现写未来代码, 快速学习新事物的能力是最基础的. 出来的新东西, 能不能快速了解用法, 特性, 适用场景和底层实现? 这是后面的基础.
突破方法:
对新事物保持好奇而非恐惧和抵触, 跳出舒适区
掌握学习的方法论, 比如先看文档, 再跑 Demo, 提出问题, 源码验证
学习一些学习技巧
以下是我个人整理的一套大致前端学习培养路线:
来源: http://www.jianshu.com/p/05ad0a750575