前端开发的前景
<div id="article_content" class="article_content clearfix"><div class="article-source-link">原文链接:https://zhuanlan.zhihu.com/p/33215570</div>
<div id="content_views" class="htmledit_views">
<p>阿里妹导读:很多童鞋在上次的问卷调查里表示,希望多推出一些前端方向的内容。今天为大家分享一篇关于前端工程师职业发展的文章,抛砖引玉,期待与大家一起交流探讨。</p>
<p>我是成曰,目前在蚂蚁金服数据平台部任职前端工程师,从事数据中台产品的研发。目前对前端架构与质量、用户体验、TypeScript比较感兴趣。</p>
<p>以下我说的都是个人观点,比较宏观粗浅,主要针对的是前端工程师本身,没有深入技术和业务细节,请谨慎参考。</p>
<h2>职能概览</h2>
<p><img class="has" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9waWMzLnpoaW1nLmNvbS84MC92Mi0yY2M5MWVjYjA3OTkyNWRjNjUyOWE3YzdhYjc2MjZlYV9oZC5qcGc?x-oss-process=image/format,png" alt="" width="1080"></p>
<p>前端工程师首先是个程序员,其次也是个软件工程师,他们工作在离用户最近的地方,负责人机交互和用户体验,虽然叫“前端”,但其实他们的工作边界其实已经很宽了。</p>
<p>展望未来,我想前端的工作会继续分化,也会继续融合,分工是工业革命以来社会高效协作的主要推动力,以后很长一段时间应该也会维持这种形态,融合的原始推动力也是提高效率。分化和融合是不断的演化和互吸收转化的,不过核心的东西我想还是不会有太大变化。</p>
<h2>观点</h2>
<p>1.继续分化(领域、行业、技术栈)</p>
<p>2.继续融合(端技术、Web全栈技术、人工智能与端技术)</p>
<p>3.核心不变(计算机科学本质、软件工程思想与实践、程序员职业素养)</p>
<p><img class="has" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9waWMxLnpoaW1nLmNvbS84MC92Mi00NTA5ZTg3OWEzZTQ1MTAyYjZlNWU4OWYxMzBjODcxY19oZC5qcGc?x-oss-process=image/format,png" alt="" width="1080"></p>
<h2>1. 继续分化</h2>
<p>领域</p>
<p>前端领域会继续分化,例如阿里内部的前端就已经有中后台、图形、端技术、泛Node、开发者服务5个大方向了,每个大方向也会细分,举一些例子:</p>
<p>1.中后台:有云控制台、信息&资产管理平台、内部研发&项目管理平台、人工智能&机器学习平台、数据研发分析平台,企业内部信息平台等。具体产品如阿里云控制台、ERP、PAI、DeepInsight、阿里内外、Basecamp等。</p>
<p>2.图形:有基础图形库、3D图形、数据可视化、流程图等。具体产品如G2、DataV、阿里云城市大脑、滴滴智能交通调度图、双十一大屏等。</p>
<p>3.端技术:有移动端(iOS、Android、MobileWeb、PWA、小程序)、PC端(客户端、Web端)、触屏电脑、各种监控大屏、智能手表手环,智能汽车&家居屏幕等。具体产品如淘宝支付宝的App、PC主站、移动H5站,阿里郎、VS Code、双十一大屏、UC浏览器UWP版本、各种智能手表、手环、汽车、家居屏幕等。</p>
<p>4.泛Node:有工具链、Web框架、IoT、客户端(Electron、NW)等。具体产品如DEF/Atool/F2E-Test(阿里前端开发者工具)、Egg.js、阿里云的IoT应用、VS Code等。</p>
<p>5.开发者服务:有应用开发运维平台、组件市场等。具体产品如阿里云的应用搭建平台Boat、Fusion-Design组件市场,支付宝小程序开发者工具等。</p>
<p>行业</p>
<p>2B</p>
<p>信息管理、财务、建筑、航天、水利、金融、制造等传统行业软件以及阿里提出的五新:新零售,新制造,新金融,新技术和新能源,新技术赋能传统行业</p>
<p>SAAS软件及服务:如Teambition、Trello、钉钉企业版、Basecamp、http://Growing.io</p>
<p>2C</p>
<p>移动App:如微信、微博</p>
<p>PC工具应用:如Google Doc</p>
<p>产品展示类网站:如阿里云、支付宝官网</p>
<p>技术栈</p>
<p>React(Native)</p>
<p>Angular(NativeScript)</p>
<p>Vue(Weex)</p>
<h2>2. 继续融合</h2>
<p>端技术</p>
<p>前端、客户端技术思想的融合</p>
<p>组件化(组件化搭建页面)</p>
<p>组件生命周期钩子函数(如iOS ViewController)</p>
<p>MV*(如MVVM设计就来源于微软客户端开发框架)</p>
<p>大前端的统一</p>
<p>虚拟DOM技术:React/ReactNative/ReactCanvas</p>
<p>各种移动设备内核和引擎的统一:WebKit/V8</p>
<p>Web技术文档的统一:Mozilla Web Docs</p>
<p>Web全栈技术</p>
<p>前端、后端技术思想的融合</p>
<p>MV*(如前端的第一个MVC框架Backbone.js就来自于Ruby on Rails开发者)</p>
<p>AOP、依赖注入(Angular)</p>
<p>GraphQL(SQL)</p>
<p>IndexedDB(Database)</p>
<p>人工智能与端技术</p>
<p>人工智能、前端技术的融合</p>
<p>端是最终触达用户的节点</p>
<p>端数据采集->后端机器学习、数据分析->智能推荐呈现</p>
<p>物联网、前端技术的融合</p>
<p>智能家居/汽车/工业设备可能是有屏幕的,同时可以基于如JerryScript这样的JS执行引擎使用Node.js开发联网应用</p>
<h2>3. 核心不变</h2>
<p>计算机科学本质/软件工程思想与实践/程序员职业素养。</p>
<p>计算机科学基础:如基本的操作系统概念和计算机组成原理,算法和数据结构基础等等。</p>
<p>软件工程思想与实践:如软件开发模式,设计模式,架构思维,自动化思维,单元测试集成测试,UML等等。</p>
<p>程序员职业素养:如对代码整洁和可读性的追求,对软件开发的热情,对编程技艺的自我提升等等。</p>
<p>历史回顾</p>
<p>回顾过前端的演化,主要参见最底下的相关资源,下图简要回顾一下95年以来软件开发和前端历史:</p>
<p><img class="has" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9waWM0LnpoaW1nLmNvbS84MC92Mi0zMDJjMWFlNjRkNTY3MTYwNjBiZjNmOWUzOTNiYzM5Zl9oZC5qcGc?x-oss-process=image/format,png" alt="" width="1080"></p>
<h2>前端的未来</h2>
<p>那些生存空间越来越小的产业</p>
<p>1.小规模移动App:移动App市场被一些巨头把持,小规模App生存空间越来越小</p>
<p>2.PC信息导航类网站(网址、购物、论坛、生活):现在移动优先,而且有智能推荐,并且是强社交</p>
<p>无界面交互</p>
<p>Web前端能做一些事,主要是大前端的范畴</p>
<p>1.会话式界面(视频语音会话、语音搜索:WebRTC,开源语音库:Common Voice)</p>
<p>2.感官式界面(视觉:WebAR/WebVR)</p>
<p>3.无界面,未来会有大量IoT设备(IoT有自己的通信协议和规范,前端的工作是在用户看不见的后台)</p>
<p>富界面交互</p>
<p>大量工作需要前端来做:</p>
<p>1.日常办公软件(复杂应用,并且慢慢从桌面程序演化为Web):Office、Email、文档管理、产品设计、项目管理、代码编辑器</p>
<p>2.大数据/AI配套软件(复杂应用,并且慢慢从桌面程序演化为Web):需要大量的后台系统来做数据分析/机器学习</p>
<p>3.播放器/游戏:H5代替Flash,如Web Audio、Web Video、Canvas</p>
<p>4.容器/DSL/内核/小程序:支付宝/微信/钉钉容器,内核(也就是UC、QQ浏览器内核),及其自定义DSL(如果将来手机的底层能力都可以上浮到小程序,很有想象空间)</p>
<p>5.产品信息展示类网站(炫酷应用):各种智能设备官网、大企业官网</p>
<h2>未来在哪里?</h2>
<p><img class="has" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9waWM0LnpoaW1nLmNvbS84MC92Mi03ZjgzYTUxOWQ0MDM2YjdmYTQyZDE4ZjgxODM3OGEwN19oZC5qcGc?x-oss-process=image/format,png" alt="" width="1080"></p>
<p>回顾观点</p>
<p>1.继续分化(领域细分、行业细分、技术栈细分)</p>
<p>2.继续融合(端技术融合、Web全栈、人工智能与端技术的融合)</p>
<p>3.核心不变(计算机科学本质、软件工程思想与实践、程序员职业素养)</p>
<p>一些建议</p>
<p>1.关心人工智能的发展,思考TA在前端领域可能产生的应用场景</p>
<p>视觉稿自动生成代码</p>
<p>根据用户使用习惯自动排出最符合该用户习惯的界面</p>
<p>收集用户数据在前端实时做学习和分析,如deeplearn.js</p>
<p>2.相信前端的未来,Web的力量</p>
<p>WebKit</p>
<p>V8</p>
<p>Flexbox:Yoga</p>
<p>3.结合公司业务特点有重点的关注前端的某些方面,毕竟技术服务于业务</p>
<p>后记:前端的发展超出了所有人的想象力,未来肯定是难以预测的,也没有做预测的必要,我们要做的还是踏实做好眼前的事情,“过往不恋、当下不杂、未来不迎”,与君共勉! 如对我们团队有兴趣,可以发送简历至tao.qit@alibaba-inc.com,期待你的加入~</p>
<p>在你眼里,</p>
<p>前端工程师应如何打磨手艺?</p>
<p>欢迎在留言区一起交流讨论~</p>
<p> </p>
<p>相关资源</p>
<p>Web开发这十年:http://www.infoq.com/cn/articles/web-development-ten-years</p>
<p>GUI应用架构十年变迁:https://segmentfault.com/a/1190000006016817</p>
<p>大话前端时代一:https://halfrost.com/vue_ios_modularization/</p>
<p>写给初学前端工程师的一封信:https://zhuanlan.zhihu.com/p/28536429</p>
<p>母鸡与前端工程师:http://www.ruanyifeng.com/blog/2016/07/hen-and-front-end-engineer.html</p>
<p>李开复人工智能预言:http://tech.sina.com.cn/it/2017-05-20/doc-ifyfkqks4361454.shtml</p>
<p>《无界面交互》:https://book.douban.com/subject/26947799/</p>
</div>
</div>
<div class="postTime"> </div><br><br>
来源:https://www.cnblogs.com/ranFengHua/p/11712414.html
頁:
[1]