Infoq前端(大前端域)
编辑部
说到大前端,总会有人抱怨学不会,因为技术更新太快了 。大前锋的风会吹向哪里?是跨端,Flutter,Serverless,还是applet?为了回答以上问题,结合4月份InfoQ编程语言排名的调查结果,我们采访了三位大前端领域的程序员,试图了解这一领域的程序员 。
1: Web开发仍然是大前端领域的主流 。
基于投票数据,我们发现Web开发的投票率为68%,可见在大前端领域仍然是主流 。IOS开发以16%的票数排名第二,Android开发以5%的票数排名第四 。同时我们注意到小程序开发6%的投票率超过安卓开发5% 。
在采访中,这位名叫月熊的程序员表示,他在大前端领域最关注的技术方向是跨端开发、微前端和数据可视化/交互 。他的公司业务是小批量制造领域的数字化工厂和智能制造产业 。他的主要工作涉及基于Web的跨终端应用开发,包括Web、移动、桌面、applet,以及一些3D数据显示和模型处理 。
在某银行IT部门基础技术科做前端负责人的应楠也很关注跨端框架 。他说:“我最想学,最想练扑 。”
2: JavaScript在大前端领域“一统天下” 。
【大前端领域 infoq 前端】基于投票数据,我们发现在大前端领域的编程语言使用中,JavaScript以78.5%的得票率排名第一 。TypeScript的得票率为42.9%,排名第二 。
考虑到两种编程语言都属于JavaScript生态,JavaScript在大前端堪称“独霸天下” 。前端程序员英南在接受采访时表示,JavaScript是使用最多的编程语言,因为工作主要面向B端,几乎所有项目都是用JavaScript,常用组件都是用TypeScript开发 。
另一名前端程序员熊岳说,他在工作中使用最多的编程语言是TypeScript 。“与JavaScript相比,它具有静态语法特性,更符合大型、跨终端协作项目的开发” 。
前端程序员小吴说:“用的最多的编程语言是JavaScript 。自从node.js出现以来,JavaScript几乎可以处理任何业务逻辑,包括后端的数据添加和删除,前端的页面渲染和用户交互 。阿特伍德定律说,任何可以用JavaScript编写的应用程序,最终都会用JavaScript编写 。”
3.选择编程语言最重要的是语言生态 。
选择编程语言时最重要的因素是什么?答案是语言生态 。生态投票率63.4%,排名第一 。对于前端开发者来说,语言生态是最重要的,包括工具链、库、框架等的完备性 。产出率22.2%,排名第二,语言的功能特性排名第三 。
4: Vue和React是最流行的前端开发框架 。
基于投票数据,我们发现Vue.js以46.5%的票数排名第一,被视为最受欢迎的前端开发框架 。React紧随其后,以31.5%的得票率位居第二 。Flutter排名第三,得票率为8.5% 。
熊在接受采访时表示,目前最常用的前端开发框架是React,其生态系统比较完整 。“编程习惯更容易满足工程需要” 。
南也是React的忠实用户 。他说,“React是最常用的一个 。React生态很完善,满足我们项目的所有需求,市场上只有Vue能与之抗衡 。”
对于前端程序员来说,编程语言或者框架对他们的工作非常重要 。熊认为,不同的编程语言或框架几乎决定了不同的生态系统,这将极大地影响项目组织、团队组织和第三方库的使用 。他说他的团队早些年用的是Angular 1,后来在性能和升级上遇到了很大的困难 。
南说,在React等数据驱动的前端框架尝试之前,一个项目用JSP渲染前端页面,前后端完全耦合,开发一个简单的需求非常痛苦 。“后来2018年用Vue逐步迁移老项目,开发效率至少提高了5倍” 。
小吴说:“React和Vue平分秋色 。严谨的业务逻辑,使用React和TypeScript 。对于快速开发的小项目,使用Vue 2 。我之前也大量使用过Angular.js 。”
大前端的未来和前端程序员的核心能力
国内业界发明的技术术语“大前端”,逐渐成为前端领域的大趋势 。以及前端未来会如何发展?在月熊看来,随着前端项目越来越多,未来前端应该有更强大的运营能力,可以提供更复杂的交互,也期待VR/AR时代的到来 。南表示,近几年来,前端井喷式增长有所缓解,但人才缺口依然巨大 。希望AI+的前端领域有更多的突破,解决绝大多数的重复性工作,解放前端人员的生产力 。
当然,大前端的变化反过来也会影响前端程序员 。现在的大前端有点“全栈”的味道,以前的胶水代码越来越不行了 。前端程序员也会加强工程思维,有系统的知识,熟练使用各种框架 。
应表示,未来前端程序员最重要的核心能力是工程师的能力 。“我觉得未来前端程序员的核心能力,除了前端专业技能,工程思维、分析解决问题的能力、学习能力都很关键 。”他说 。
月熊认为前端程序员未来应该具备的核心能力分为三部分:
一、编程基础素养,包括但不限于编程范式、设计模式、数据结构和算法等 。
第二,工程能力,从写简单的页面到拿大项目;
第三,对产品/交互的感知,理解产品设计的能力,有意识地实践交互优化的一些原理/范式,从而为用户提供更好的交互体验 。
推荐阅读
- 哈里森达尔西斯夺冠军 达尔西斯
- 影城,回归!久违的快乐回来啦 双井ume国际影城
- 电视剧免费全集在线观看 爸爸妈妈我爱你们
- 兰花散文三篇精选 我从山中来带着兰花
- 情人节要给男朋友送礼物么
- 面包机做全麦面包的配方表 500克面包机做面包的配方
- 茅盾文学奖作品 矛盾文学奖
- 2023清远市居住证办理流程 清远市办理居住证去哪里办理
- 2020年湖北省购车补贴 湖北2023年购车补贴条件一览