我的前端观

2019 / 07 / 14

转行三年,毕业两年,从业两年半,也算是积累了相当多的领域知识了,技术在进步,想法在更新,所以对前端的理解也在不断改变。

前端是什么

前端是什么,刚毕业不久的我可能会回答道;

前端是构建用户界面的软件开发工程师

这个回答对于这个问题在很多时候应该都是一个比较标准的答案,就好像问一个人人生是什么,如果去掉各种感性和幻想的修饰,那么回答很有可能是,一个人从幼年,青春期,壮年,更年期,暮年的生活经历。嗯,挺标准的定义,但是这么回答对于外星人了解地球可能是有意义的,而对于人类来说这个回答貌似没有任何实际意义。同理如果一个外行人问前端是什么,上边那个回答是有意义的,但对前端来说可能意义确实不大。那么有意义的回答应该是什么样子呢,我猜这篇文章对于给出一个合理的“答案”也是无能为力的。

人生观和前端观

标题用了一个词叫做前端观,上边也用人生是什么去类比前端是什么这个问题。其实当一个前端问你前端是什么的时候,他可能更想知道的是你的观念,就是所谓的前端观,就像一个人问你 人生是什么的时候,他可能更想知道你的人生观是怎么样的。

说到人生观,我想到了昨天和某个小老弟的一段谈话。

“学长,我问你一个很现实的问题啊,假如过有个富婆愿意包养你,他给你留了个电话,并且让你在想要钱的时候给他打电话,就会打100万过来。你会怎么办。”

我第一个反应是当然不会打过去了,而且我可能会扔了这个电话,永远不会想这件事情,但又想了一下,或许如果有一天遇到非常着急用钱的话,比如非常亲近的人需要好几十万的话与其到处求人,打个电话又有何妨。所以我当时给小老弟的回答就是这样子的。

但又想了一下,我觉得这种东西其实舍弃的越果断那么思想可能越自由,所以不要把这种机会留下,这样的机会让你的人生的路变得过于平坦而索然无味。

这个回答让自己感觉到一股前所未有的高尚,我差点就觉得“没错自己就是这样的人”,但试想一下如果真的没什么的话,完全白给也是完全没问题的,不一定非要白手起家,有几百万基础投资也是可以的。这是一个没什么意义的幻想,但是也能大概看出一个人的一些观念。我又想到了拯救大兵瑞恩或者钢铁是怎样炼成的中的暮年时回首一生,是否不是碌碌无为,是否是个好人,认真的人。

人生观是个很沉闷的话题,如何过活自己的人生是需要花一辈子去思考的问题。

为什么要说人生观这个词汇的含义,其实也是为了引出前端观,和人生观一样,树立正确的前端观也是无比重要的,良好的人生观可能会让你的人生不会卸入沉闷,苦恼和绝望中,让你把时间和精力消耗的更有意义,每天过的更充实,那么良好的前端观也会让你的前端道路更加光明,走的更加开心。

我的前端观

解决问题是软件开发者的核心价值观

无论是拓扑,面向对象,建模,系统化,结构化,计算机的无数理念都无一例外的在做同一件事,那就是解决问题,计算机从诞生以来就是在高效的解决问题创造遍历。前端和所有的软件开发者一样,需要用自己的前端知识去解决领域问题。解决问题对于很多人并不是一枯燥乏味的事情,就像解答一道数学题抑或是分析找到某个怪异事件的幕后元凶,前端开发者运用丰富的领域知识去综合起来解决问题有时候也会找到类似的乐趣。

雕磨玉石匠人

匠人和程序员可能还是有区别的,匠人让人联想到木匠,装修工人,也会有几分艺术家的气息比如花匠,画匠,泥匠。优秀匠人会呕心沥血的创造和打磨一个作品,他们喜爱自己的工作并且把作品当作自己的孩子,他们不会贪图快或者简单方便,一心只为做出最优秀的作品。

去年一直听到的工匠精神就是在说这些对领域有专门研究的人,我也很喜欢工匠精神这个理念。因为我觉得前端开发者其实也只是一个匠人,打磨好每一个组件,拼凑成一个应用,就像一个建筑师或者工人,在盖一个令人叹为观止的摩天大楼,也像一个小木匠在雕琢一个核桃大的工艺品。工匠精神的含义很多,比如追求完美和卓越,比如孜孜不倦,专注艺术和技术,而这些都是前端开发们所需要的。

匠人有匠人的乐趣,打磨和沉醉在自己的“艺术品”中可能是一种很奇妙的状态,更重要的一点是他会帮你在赢得认可的同时也会赢得更多的peace和happiness,他会让你的工作更加有乐趣,有意义,有灵魂。匠人可以喜欢财富和名利,但要明白最最核心的仍然只是手中的事情。

遇到一个拥有灵魂的设计师或与很难,但如果遇到了那一定要倍加珍惜,因为如果要雕琢一个精美的产品最先需要的便是设计师们对界面的思考。当然遇到一个伟大的产品精力可能是更加求之不得的。

面向用户的专家

前端需要知道的知识很多,要想成为一个专家。但和后端,安全,DBA还是有很大的不一样的。

前端需要熟悉自己的语言和环境,javascript以及它的解释器环境和浏览器,需要懂渲染机制和组件化,需要懂UI和布局规范,需要知道数据和状态管理,需要知道用户体验和交互设计,需要知道跨平台,跨设备的兼容方法,甚至需要可以懂原生设备才能驾驭native的功能,也需要知道网络,知道工程化建设。

说了这么多前端需要知道的东西,那有什么特点呢,我觉得主要是

1. js是最初是基于浏览器,目前的前端开发也大多也在基于浏览器工作,这是前端独有的特点。

2. 前端貌似并不容易接触到算法,网络,数据库的应用,更多的是界面,各种复杂的界面,要想写出好看的界面,必须懂点UI和用户体验,面向界面也让前端开发具有所见即所得的特征。

3. 产品和UI行为不容易预测,这是前端开发们比较烦恼的一点,但也导致开发必须动UI和产品。

当然前端领域的专家并不应该把自己局限在设计图和用户交互上,不要放弃后端的知识和其他的语言,真正的前端领域专家肯定是需要从各种方面学习经验,才能驾驭更多的可能性。

然后,前端主要工作是构建界面,构建可拓展,可复用的组件是门艺术活,因为准确的推测到产品的和UI的想法,才能准确的构建出界面,但界面也是前端的特点,还能和审美,体验,艺术挂钩。

作为一个两年开发经验的小前端,主要工作还是构建用户界面,偶尔也能搭建一下项目。但我最大的期望还是做出一款应用复杂的前端领域技术的产品或者一款有着优秀的界面,用户体验,强大的功能的2C的产品。

总结

又想到之前之前某个产品拿来够课转化率提高了的数据给我看,并且告诉我这让他做产品的自信增加了,并且问我们感觉振奋人心么,我当时不知道自己是什么样的一种感觉,因为数据增加了好像和我的关系并不是很大,我写的页面还是有bug,不能秒开,体验也并不算好。所以他问到我那你的前端开发的成就感是源于什么的,我想了很久也没有给答复。

后来我觉得这个问题其实类似于问一个建筑师你的成就感来自于什么,我猜他的成就感是做出了宏伟的建筑,或者是让很多人受益的建筑。工程师们也一样,做出一个宏伟的产品,或者是一个让人受益的产品,同时也肩负着以更小的成本,更高的效率去开发产品和更平稳的节奏迭代产品的职责。或许每个行业都应该很相似。

总而言之,还是期望开发们学了那么多东西可以学以致用,可以做出最棒的产品。

嗨,请先 登录

加载中...
(๑>ω<๑) 又是元气满满的一天哟