前端的意义是什么?

上一门必修课的时候,老师介绍了许多她的科研成果,感觉好高端。最后,老师让我们思考一下自己学计算机的意义是什么?难道就是为了写写网页? 我个人深知将网页…
关注者
1,041
被浏览
319,989

94 个回答

首先,如前大佬们所说,前端首先是一个人,然后是一个程序员,最后才是一名前端,去思考它的意义的时候,从后往前,意义会越来越深刻。

从我个人来说,作为一名前端,我在解决一个特定领域的问题,这个领域的问题并不局限于切图(我司都是设计师给切图的),构建结构良好的页面,构建炫酷的交互,构建复杂前后端数据交互的系统,构建类似PC软件一样的大型单页面系统。当然这些还只是基础,但是有些事情已经不是那么容易完成了。

我们接着讲,仍然是作为一名前端,团队人多了之后,你要制定统一的规范,业务多了,你要制定统一的选型,重复劳动多了,你要思考如何抽象可复用的部分(组件只是其一,还有整个工作流程中涉及的工具链/开发方式,甚至是人员方面的复用),到了后来,我们统一叫这些工作是“工程化”,除了我提到的问题,其实还包含很多跟效率和可复制性能够扯上关系的话题,这些都是目前一些偏高级的前端工程师非常关注的领域。

当你突破上面这个层次之后,你仍然是一名前端,你需要带团队,学习摸索如何管理前端团队,你开始为别人为团队的人考虑问题,考虑他们每个人应该如何成长,考虑前端技术给公司带来的真正价值,考虑团队的发展,你招牛人进来带领团队,也培养新人成为牛人,培养一支能够随时顶上去的团队,培养一支在业界有一定影响力的团队。

假设,没有达到这个层次,你开始迷茫了,那我们抛开前端这个职业,你仍然是一名程序员,你为什么要做程序员?初心是什么?

说说我的初心:创造,creator(这个词很牛x,可以代指上帝)。

恩,就是这么简单,我觉得编程很神奇,可以创造出大多数人都非常惊奇的产品,这个在我做的一些业余小软件中体会深刻,所以做的时候也会非常有激情。但是回到工作中,的确事情就没有那么的有意思了,我们解决的是特定领域的特定问题。如何解决这个矛盾呢?

一,工作不是全部,我可以利用业余时间创造啊,所以看到很多同学抱怨自己公司环境不好,但是却一问三不知,这就不可原谅了,公司只是你生活的一部分,如果真的是一个好的程序员,你自然会通过别的方式来发挥自己的兴趣。

二,工作也是在创造,给出各种解决方案,做一些还不得心应手的项目,虽然你可能觉得做某些项目很无聊很累,可是在你都还没有觉得自己随手写出的代码很优雅之前,做项目不正是给你一个学习的过程,反思的机会。不要以为掌握了js就觉得什么都会了,软件领域博大精深,可能你工作五六年,那也只是入门而已。

我觉得一个程序员存在的价值就是创造,所以一直告诫自己要守住初衷,这也是内心的一杆秤,每当迷茫或者面临选择的时候,我就把这个程序员基本原则拿出来,事情就明了的多了。

最后,就是“人”的问题了,不过这个话题太大了,我也说不清楚,反正就是人活着的意义,你自己活着的意义,你最想要的自己是什么样子,我觉得每个人心里应该都至少有一个模糊的定义,如果没有仔细想过,可以花点时间冥想一下,否则一切行为都没有什么根本的指导原则了。

前端面临的问题其实是一个难题

为什么说它是难题呢?

因为软件工程的核心目标是用通用的模型解决一切问题,比如人工智能和机器学习。构筑在软件设计模型和程序设计理论的基石之上的一条道路,最终的终点指向一个目的地——抽象。不断深入研究各种问题,总结各种模式,直到将来某一天,机器能够代替人类思考,甚至机器能够代替人类存在,这才是终极目标。

然而从这方面来说,前端这个领域简直太难太难了。因为 AI 可以代替人类思考,甚至 AI 可以代替人类存在,但是 AI 可能永远也不会是人类,因为 AI 不会有人类的感觉,AI 不像人类那样拥有一颗脆弱、感性、多变、追求美的心,AI 可能不具有贪、嗔、痴、爱、慢、疑。

AI 可能也不会像人类一样对一个行业的前途忧心忡忡,在这种问题下面瞎比比。

人类对美的体验是极致的,从形象到抽象,从一维到多维,从远古到未来……

看过大刘的科幻小说《诗云》后,我认为诗云中的事情不会发生,因为有一天也许 AI 能够学会作诗,毕竟之前我们都认为 AI 不会下围棋,但是现在他们已经比世界最好的人类棋手还要厉害了。

但是,AI 也许永远也不能欣赏美,因为 AI 不能代替人类自身去感知这个世界。

从某种意义上说,前端追求的一些东西是与人类软件工程的核心背道而驰的,是与极致抽象精神背道而驰的,因为人类追求的是个性,不是共性,因为人心多变。所以我们期望用统一的方法论来解决人类与世界、人类与自身交互问题,有可能很难做得完美。

前端不像任何其他的软件工程领域,因为前端直面人心,前端掌握的方法论,不管内容怎样,前端掌握的工具,不管形式是什么,最终要解决的问题直击人心——帮助人类感受美,从而获得愉悦的心情,快速完成工作。要想用一个程序来彻底解决这个问题,很可能如同计算终极答案一样,在人类探寻宇宙的过程中,任重道远。

也许在很多年以后,很多问题都可以用一段代码来解决。但是人心不可以,前端面对的问题依然是五花八门,前端寻求真理的路依然看不到尽头。

说了那么多,我想表达一点,许多做前端的人只把前端当成一个工作来看(当然其他领域也一样),从来没有思考过前端的本质是什么,我们究竟要解决什么问题。

不能因为一些人干苦力,一些人瞎折腾,就对行业悲观,觉得行业可有可无。任何行业都一样,不管前端后端,高端低端,永远有一些人干苦力,一些人瞎折腾。

自己明白就好,别跟着人瞎起哄瞎折腾。别把自己限制在自己的工作领域,我们要学习的东西很多,除非自己你想要瞎折腾一辈子,没人逼你天天瞎折腾。

不管怎么样,切页面是我们的工作职责之一,然而整天做简单的事情,重复地切各种页面,难道是不去学习,不去追求的理由么?

Any way,前端只是软件工程和程序世界里很小很小的一部分,而整个软件工程和程序世界也只是人类文明海洋里的一朵不起眼的浪花。我们每个人都在这个世界上承担一小部分工作,但是因着我们的努力,人类总有一天终将飞出地球,畅游在宇宙无尽的时空中。

总之,一句话,不要恐慌。