就觉得最好笑的事情,一方面口口声声称前端不应该被语言局限,跑过去用nodejs做后端,一方面说前端的进阶就应该是懂算法懂底层懂框架懂所有后端要懂的东西做了几乎所有后端要做的事用nodejs做服务器端渲染还继续声称自己是前端仅仅是因为用了js。
你说这群人是前端工程师都不精准,JavaScript工程师才是他们最希望自己被承认的身份,别人都在讨论在什么场景下用什么语言什么架构什么框架来解决问题,只有JavaScript的工程师们锲而不舍的坚持在各个领域里JavaScript都可以搞定而且必须是最好的方案。
所以明确一下,前端是指在用户端运行的代码,后端是指在服务器端运行的代码。
你用nodejs做什么中转层,你的nodejs只要不是在浏览器端运行的,它就归属于后端。
你可以说招募一个JavaScript工程师用nodejs来做后端开发,兼做着前端开发,不要再说我们招一个前端工程师,但是要你去做nodejs了。
最不喜欢PHPer和前端er的就是他们永远都学不会什么场景下用什么语言或工具解决什么问题,一个好的工程师不会是语言的奴隶,后端架构师之所以是架构,在某种程度上就是包含了异构的元素。
你把自己始终束缚在JavaScript的层面上,反反复复的去争什么JAVA做到的,nodejs也能做到纯属扯淡和赌气。
前端的进阶有两个方向,横向来说,去做Android,iOS,vr,动画,js这些。这才是真正的大前端,你的领域就应该是在用户这一方,需要我做什么,就应该做什么,这三个部门就应该合并在一起,统一安排,统一规划。
这种横向发展可以帮助你更深入的理解语言的差异,也可以帮助公司更好的控制成本和进度。
纵向发展就是复用性和扩展性。前端变化快,不确定强,那么到底有哪些内容是可以本项目复用,跨项目复用的?能支持到什么程度的需求变化?
这是你的业务,你的架构思想,你的编程能力和视野决定的深度,你的功底越深,抽象能力越好,封装的越强,写出来的代码越赏心悦目。
工程师除了性能,稳定性,扩展性之外,还要考虑的就是开发效率,什么方法能让我一天之内完成过去两周才可以完成都事情?
算法切页面不也是一个很开心的方向么。如果你乐意完全可以做这个啊,虽然更偏算法工程师,但你是用它来应用在前端。
也许未来有一天前端工程师的职责就是跳个参数重跑算法和简单调整。
系统的性能,扩展,复用和研发效率的提升,是前端目前来说最重要的四个方向。
后端来说多了一个稳定,对复用的期望程度略低于前端。
所以这就是前端工程师的技术进阶,做出angular这种工程化思维强烈的框架,大概就是长期期内的努力反向。
单纯从业务上来说,就是知道各种框架的底层实现以便快速定制和调试系统研发中出现的问题。
这些足够花3年到5年之内的时间认真去学习和成长。
而先学会用这些框架往往是初级工程师当前的目标。
【用】,【懂】,【改】,【创】四字真言送给你。
顺便附上前端时间讨论的朋友圈。
没打马赛克,带着两位原搜狐好友一起出镜了。
如果能明白【六色描述法】的含义,紧奔着复用,性能,扩展等目标去,就不会迷失方向。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。