前端细分领域漫谈

就前端而言,涉及到的领域可谓非常广泛,绝大部分的前端程序员几乎都只专注于一个方面。这主要是因为工作内容的限制,很难接触到工作领域之外的其他领域。但几乎每一个前端开发者,都不可避免的会偶有涉及其他领域,譬如说写业务者偶尔遇到需要维护小程序、调研前端游戏引擎等等。

本文主要盘点前端一些常见领域分类、需要的技术、门槛、前景等,做一盘点式的漫谈。

中规中矩——写业务

前端从业者之中,最多的就是写业务的了。这个方向,主要是为了实现公司的业务流程,开发一系列的界面,以方便C端和B端用户查阅和操作。

开发难度: ★★★

就业岗位数量:★★★★★

不可替代性:★★

发展前景:★★★

入门门槛:★★

这个方向入门门槛比较低,几乎所有入门者都是从这个领域开始。市场上大多数岗位也都是规规矩矩的写业务。一般不会有太大的技术性难题,难点主要体现在对业务理解不够深刻而导致实现复杂。发展前景一般,因为写业务的前端岗位是最多的,但单纯靠写业务很难有实质性的成长,很难成为核心人物。由于从业者众多,竞争激烈,难度不高,因此不可替代性差,技术好和技术差的人在写业务上面体现不出太大的差别,因为就公司而言,是看你是否成功实现了相关业务、拥有较好的用户体验,比较难从技术上做人才区分。 

极致体验——做工具

如果公司业务属于工具型产品,那么对于前端开发者而言,就不再是单纯的写业务,而重点是实现工具属性。这种典型的产品是网页版编辑器,譬如操作webgl的在线3D编辑器、在线版的PS、在线版公众号排版工具、在线版的思维导图编辑工具。

开发难度: ★★★★★

就业岗位数量:★★★

不可替代性:★★★★

发展前景:★★★★

入门门槛:★★★★

该方面入门门槛较高,对技术实现比较纯粹,对用户体验要求极为苛刻,技术上会有很多探索性的尝试,因此技术不好、逻辑思维不够严密的人比较难胜任,也因此不可替代性也比较高。由于h5具有跨平台特性,未来网络带宽大幅提升,云编辑的概念将更加深入人心,用户无需安装额外的客户端,因此前景较好。

缺点是这方面的岗位相对较少,同时对算法、逻辑要求较高,要成功应聘并不容易。

移动端为主——h5、小程序

严格来讲,这一领域仍然大多数属于写业务。但由于有些公司的业务主要针对移动端和H5,因此这些公司会专门招聘熟练开发移动端的开发人员。

开发难度: ★★★

就业岗位数量:★★★

不可替代性:★★★

发展前景:★★★★

入门门槛:★★★

该领域的入门门槛和开发难度一般,难点主要体验在移动端的生态限制、复杂的设备兼容性适配。不可替代性不高,即便是其他领域的开发者也只需要一点熟悉相关生态的时间即可成功胜任。发展前景尚可,主要是当前的移动互联网流量已经超过PC,对各类移动端的开发需求较多。就业岗位数量一般,不多,但也不少。

缺点是开发体验不佳,开发者需要大量的时间用在设备兼容性、特殊开发工具的生态限制上面,譬如微信开发者工具需要使用类似于html和css的腾讯系开发语言,这些会给人带着镣铐跳舞的感觉,笔者个人认为体验是极为糟糕的,对于技术上反而偏离原生,很难有技术上的提升。

向后端靠近——全栈

这一领域从业者,会较多的参与与后端类似的工作。之所以说类似,是因为全栈一般和真正的专职后端的工作还是会有较大差异。全栈往往做的是中间件、数据中台、前端工程化相关工具的研发,其往往处于前端和后端中间。

开发难度: ★★★★

就业岗位数量:★★★

不可替代性:★★★★

发展前景:★★★★

入门门槛:★★★★

该领域的入门门槛和开发难度都比纯粹写业务高一些,主要是需要一些后端知识储备,如果缺乏后端基础直接从事将会一段阵痛期。但不可替代性相对较高,因为涉及到前后端的各种对接,并非随便一个前端都能胜任。发展前景尚可,因为前端的更新迭代会使得前端更多伸向后端领域,因此未来也多半会更加深入。同时因为相比于其他前端,更多的接触后端,多掌握了一些技能,也更容易受到企业认可。

缺点是全栈岗位数量不多,且要求较高,不易应聘成功。

向客户端靠近——移动端APP、桌面客户端、混合开发

前端还有一部分工作领域是在向客户端开发靠近,这里面比较有代表性的技术是移动端的react-native、flutter,桌面的electron。就使用前端进行客户端开发而言,一般企业考虑的是其跨平台特性较好,无需针对安卓、ios,windows和ios(pc)每一个平台组建一个技术团队来迭代。这方面代表应用也很多:譬如微软的协同办公软件teams和代码编辑器vscode就是使用electron开发,facebook app使用react-native开发,闲鱼、贝壳找房使用flutter开发等。

开发难度: ★★★★★

就业岗位数量:★★

不可替代性:★★★☆

发展前景:★★★☆

入门门槛:★★★★

就该领域门槛较高,需要掌握大量的跟原生通信的机制,同时譬如flutter甚至需要新学习一门语言,这个过程是比较痛苦的。开发难度也是较高,会面临各种平台的调用,容易遇到各种奇异的问题。这样,似乎不可替代性会很高,但由于这个领域会跟客户端开发者直接竞争,譬如很多企业的这个领域直接由客户端开发者开发,而非前端。因此会跟客户端开发者抢饭碗,又由于前端即便进行客户端开发,仍然需要大量的跟客户端开发者对接而无法脱离,故本人认为不可替代性为3星半。发展前景不明朗,有大量原生改为使用前端技术开发的案例,反之也有较多案例,并且由于用户体验始终比不上原生,资源占用过大,一些知名软件譬如微软的teams体验上被广为诟病,据说会改回使用原生,前景难测。

就业缺点是岗位较少,难度较高。

游戏领域——游戏引擎

有一部分前端从业者会专注于从事小游戏开发,比较典型的案例有支付宝的各种小游戏,这些小游戏具备丰富的交互元素。这个领域需要使用专门的游戏引擎才能实现。

开发难度: ★★★★★

就业岗位数量:★★★

不可替代性:★★★★

发展前景:★★★★

入门门槛:★★★★

该领域入门门槛和开发难度都较高,主要是需要使用大量的运算使得各种元素动起来,发展前景较好,目前各大app几乎都有小游戏类的嵌入。不可替代性也较高,招聘时一般只要具有相关经历的人士。

缺点是就业岗位数量一般,要钻研这个领域不容易。

高精尖——引擎层面、算法层面

到这个层面的,几乎已经不再是单纯的前端开发者,而是计算机领域的优秀人才了。这个领域会专注于算法实现与优化、引擎实现与优化、建模等,对于具体使用的技术则没有那么重要。譬如,3D领域研究webgl引擎的开发者,其主要工作是引擎的实现和优化,虽然也使用js,但js只是他们实现公司业务的一种技术而已,换一种语言他们也能胜任,他们主要的工作还是在算法、建模层面。这种领域的从业者可谓是顶尖人才了。

开发难度: ★★★★★

就业岗位数量:★

不可替代性:★★★★★

发展前景:★★★★★

入门门槛:★★★★★

就该领域而言,除了岗位少之外,开发难度、不可替代性、发展前景、入门门槛都是最为顶尖的,但可惜的是不是每个人都能做,甚至于只有极少数的开发者能到这个层次。一般都会成为公司的核心人物。

缺点是大多数人没法做这个领域。

需要指出的是,以上虽然做了区分,但实际工作中可能会出现交叉的情况,这是极为正常的。另外,此为作者一家之言,欢迎批评指正。

你还知道有其他的前端细分领域吗?

你可能感兴趣的:(漫谈,前端,javascript)