Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于前端的那些事 #132

Open
lifesinger opened this issue Mar 25, 2013 · 13 comments

Comments

Projects
None yet
@lifesinger
Copy link
Owner

commented Mar 25, 2013

7a6deb9ccccaf74dbbf728cb313e4c3050daa66039bdb-rziXu6_fw580

这是一篇投稿,来自淘宝 UED 前端工程师堂主。堂主是个高高又帅气的小伙子,不光写得一手好代码,还练就一手好毛笔字。介绍到此,来看文章。


关于前端的那些事

好吧,最近有些人又在讨论“前端是不是一个低级工种”、“前端这个职位是不是有存在的必要”等类似的问题了。这里说“又”是有原因的,因为这类话题出现的频率虽不似月经贴,但每隔一段时间年也总会出来秀一下下。

作为一个立志于为前端布道的从业者,有些个体的声音需要发出。

1. 前端的尴尬

目前,前端的地位及受重视程度,相比前几年有了极大的提升。但尴尬之处仍存在,具体体现为:国内大部分有互联网业务的企业确实不需要专业前端,专业前端的就业面及需求量相比 JAVA、PHP 等开发工程师而言明显局限。

对大部分有互联网业务的企业而言,它们的互联网产品,开发工程师或者视觉设计师自己写一写 table 可能就够了,甚至其产品都是外包公司做出来的。即便需要前端也只是充当切图的页面仔,涉及到 JS 也只是实现一些简单交互。有的从业者甚至通过搜索引擎,搜出一些模板、代码片段,修改一下来满足需求、应付老板。这导致了相当一部分从业人能力平庸,被一些程序员同行概括认为前端技术难度有限,职位可有可无。

前端地位的尴尬返回来也导致学校教育上的漠视,在互联网技术快速发展的当下,迟迟不开设前端对应的专业课程。我在大二时就被当时拥有博士学位的数据结构老师点名批评:“就你天天研究的那些网页的东西,一点技术含量都没有,随便找个同学培训他一周 DreamWeaver 就能全学会!”微博微信上大学同学众多,堂主不会说谎话。

不过现在似乎有点改观,自从学校知道我这个挂科大户、反面典型来到淘宝工作后,我就变成了就业典型。甚至毕业前几个月院长还专门咨询过我,开设前端对应的课程,哪些书籍是适合作为教材的。能通过自己的就业对学院的教学改革产生一点点布道的作用,我现在还感到高兴和欣慰。

那么,前端的技术含量到底怎么样?是不是真的像其他人说的那样,企业不值得为其单独设立一个职位呢?

2. 企业中的前端

个人观点,其互联网业务仅作展示窗口作用的,可能确实不需要设立专业的前端职位。如企业展示类网站、政府网站等,其运营业务的核心渠道不基于互联网,其互联网产品更多承载的是品牌推广手段多样性的作用,其网站产品的开发完全可以通过外包来实现,顶多只需要设置1、2 位运营编辑人员即可。

而对于那些核心营生基于互联网的企业而言,专业前端的职位就是必须的。因为前端作为一个职业存在的价值主要体现在:“叫专业的人干专业的事,解放并提升了产品方的生产力”。翻译成人话就是,前端解放了交互、解放了视觉、解放了开发,并用其专业技能提升了客户端的用户体验。

说解放了交互及视觉,是因为从此交互只专注于操作体验,视觉只聚焦于艺术呈现,而不用附带还要做切图切页面的事,且你叫交互、视觉去写要具备专业编程能力的 Javascript 语言他们也很难搞定。

说解放了开发是指开发可以将精力都投入在诸如底层系统架构、算法优化、数据处理等核心业务上,而不同再去写页面套页面,且你叫专业开发去捣鼓需要具备极强人文修养的 HTML 和 CSS,他们多半也会崩溃的。

说提升了客户端的用户体验,是因为,你找出一个能同时搞定 HTML 语义性、CSS 兼容性、JS 优异交互、整体性能经过优化、结构样式及脚本具备优异扩展性支持、且界面还原精确到 1 像素的交互、视觉或专业开发给我看看,有一个我们团队要一个!

3. 前端的工作内容及技术含量

作为前端开发工程师,我们中的绝大部分(极少部分的前端工程师的工作内容是面向底层库的开发,为其他前端提供更便捷的开发工具),在日常的开发实践中,确实鲜有要用到算法的情况。如此好似低端,却不意味着做好就容易。

相比字面意思理解性较差的 F2E (Front End Engineer,前端开发工程师),我们中绝大部分的工作性质更准确的形容应该是 UIE(User Interactive Engineer,用户界面开发工程师)。我们要处理的事务包括但不限于:产品界面的在浏览器端的展现、前后端数据的通信以及基于 DOM 操作的交互体验。

因前端编码手段过于灵活,质量参差的 HTML、CSS 和 JavaScript 可能都可以满足当前的产品需求。可若一旦涉及可用性、扩展性、细节控、性能优和兼容性,质量不佳的代码劣势立现。如,对很多人最不重视的、认为最没技术含量的 HTML:一个优异的 HTML 结构,且不论其本身就具备的高优雅性及可读性,更可以节省一大半的 DOM 操作;且具备良好的可扩展性,避免未来因需求变化而导致的大规模结构重构;更能避免绝大部分的 CSS 兼容性问题 —— 我就不提什么模块化复用性、搜索引擎优化和盲人阅读器的那些事了。

另外因前端职业成型晚,技术迭代快(且这种迭代属于技术累加式而非替换式,使得越往后入门的新人需学习的东西越多),产品兼容问题多(想做到 “write once, run anywhere" 是F2Er共同的梦),校园教育缺失,自学成本高、最佳实践积累少、职业思维模型需跨技术与人文等种种因素,都导致前端职业修养的养成成本更高,靠谱的人才稀少。

所以说,“糙活也能用,细活养成难”的现实一是阻碍了很多从业者的进步,二也造成了行业上认为前端“没难度级别低”的错觉。

但错觉终究是错觉,互联网的快速发展会帮助大家逐渐纠正这一认知。前端现在不论作为一个职业,还是其背后代指的一干技术与思维,都依然显得青稚,需要积淀与成熟。但请相信前端成熟的路不会更类似其他职业的开发——我会告诉你一个好的前端应该具备很强的人文气息么?人文这东西说不清道不明,但可以肯定它属于是感性的一类,正如 HTML 和 CSS,看似简单,却绝非简单,一如文学创作,语境的形成不取决于语法,却依赖于开发者自身。

(完)

原文地址:http://www.osmn00.com/personal/244.html
堂主的新浪微博是:@堂主


最后,增加一个小小的栏目,玉伯有话说。

  1. 昨天发出 WTP 近期数据与感想 一文后,在微信上收到了很多温馨的回复,非常感谢朋友们的信赖与支持。因为有大家的关注,我相信 WTP 会越来越好。
  2. 堂主今天的话题,是否月经贴,取决于读者自身。收获来自于思考,如果能有新的思考,每个月讨论一次又何妨?比如堂主文章里提到的 UIE 工程师,是非常好的新思考。支付宝,今年还将前端开发部改名成了交互技术部。前端的核心职责是交互,不仅是与用户的交互,也包括与后端的交互。名字不代表什么,也代表着什么,取决于你怎么看。
  3. 越来越不在意微博上的言论,我要的是思考与真实。比如陈皓,前面多篇文章有提及。每次交流的背后,更让我看到的是陈皓的难得与可贵。陈皓对前端的理解,绝非像微博上很多前端认为的那样肤浅。对未知领域的好奇、探索、尝试性交流,这一切令人钦佩、难能可贵。
  4. 昨天发了一条微博说:三年后,希望大家提到玉伯,不再想起前端。这个微博没什么深意,只是提醒自己,除了技术,还有产品、自由梦。希望三年后,自己的名字被人提及时,联想到的是像 Evernote、Dropbox 一样的产品,而不是具体的技术。这个感慨来自阅读鬼脚七的微信(希望大家以后提到鬼脚七,不再想起搜索)。
  5. 继续鼓励并期待大家的投稿,无论是阿里的前端,还是阿里之外的前端。投稿方式很简单,将文章地址告诉我就行。
  6. 另外,微信回复上,有不少人对霜波的心理学系列很感兴趣。我跟霜波联系过,同意在 WTP 上连载。如果各位想看,可以回复“想要霜波”,回复超过 100 个,就开始连载。

题图:不知道为什么,看着这张图,会想起前端。


欢迎订阅 WTP(Web 技术与产品交流)微信公众帐号。WTP 关注技术、产品、自由梦,在每个工作日(偶尔休息日)会定期推送一篇原创文字。欢迎扫描二维码订阅:

@freestyle21

This comment has been minimized.

Copy link

commented Mar 25, 2013

呵呵。同感,只要说是前端,一大群人就会马上想到写点css,html。
周围还有一些,各种网上搜代码贴上就说精通JavaScript之类的,无力吐槽。
任何一个东西,没有深入了解就妄下断言的,有点不负责任~
前端是一个了解的越多,就不了解的越多的行业~~
个人觉得,如果学校开设的课程,会更水。

@qianzhangsheng

This comment has been minimized.

Copy link

commented Mar 25, 2013

支持堂主

@yiye

This comment has been minimized.

Copy link

commented Mar 25, 2013

我们学校开了一门web开发的课,将html,css,javascript. 第一节课就讲了很多个不用的标签, 下课后果断把课给退了...

@workwsl

This comment has been minimized.

Copy link

commented Mar 25, 2013

是啊,提前前端,大家都会说是不是DIV+CSS

@xiaoji121

This comment has been minimized.

Copy link

commented Mar 25, 2013

我相信前端骨子里都有一种文艺范er的,“人文这东西说不清道不明,但可以肯定它属于是感性的一类”,对于堂主在文章中提到的人文这东西深有同感。相信堂主会书法才会说出“人文”二字。我说前端骨子里是文艺的,因为在我碰到的前端里面很多人都是多才多艺的,前端这个行业还是偏感性的。

@neekey

This comment has been minimized.

Copy link

commented Mar 25, 2013

@yiye 觉得有前端相关的课程已经很可贵了。我觉得高校里面现在还是缺少比较专业的前端老师。

@jamesfancy

This comment has been minimized.

Copy link

commented Mar 25, 2013

@lifesinger SeaJS可不就是产品么?技术产品也是产品,何必非要瞄着应用产品呢……要是没有技术产品,叫咱这些搞技术的咋个活啊!

@sansheng5shen

This comment has been minimized.

Copy link

commented Mar 26, 2013

先不说前端的只是庞而杂,有多少人专业的学习过前端?有多少人是从后端被迫接受前端的工作,为了完成任务只能使用搜索引擎,这就是需求急功近利的表现,无奈啊。真正的前端只有在前端的路上的人才能体会,就是全能的it工程师的合体啊,任重而道远了

@biqing

This comment has been minimized.

Copy link

commented Mar 28, 2013

学校里都是编程的基础教学, 并不针对Web前后台或什么客户端, 所以真的要对在校学生有影响大概还是当下流行的技术, 这一点上我认为前端目前并无明显的劣势.
从前端技术上讲, 专业程度上的要求很大程度上是由产品需求决定的, 复杂的前台交互与架构, 如果没有产品需求驱动, 开发同学也不会整得那么复杂, 但从WebQQ等产品上可以看到在复杂场景下, 前端工程师还是有很大的发挥空间.

总的来说, 前端可以学习的东西很多, 同一堂主的UIE说法, 如果企业需要高质量、体验好的用户界面, 为什么不让这些专业的工程师专注做好他们的事呢?

@kavenyan

This comment has been minimized.

Copy link

commented Apr 2, 2013

想要霜波

@zeayes

This comment has been minimized.

Copy link

commented Apr 16, 2013

今天又被JS虐了

@WilliamHSS

This comment has been minimized.

Copy link

commented Jul 17, 2013

支持堂主
堂主谈到要具有文艺范.我觉得很有道理.前端一个重要的工作是提升用户的体验.体验这东西往往有很大的感性成分在里面.没有一些人文的情怀,很难做出令人感动的东西.

@aprilcai

This comment has been minimized.

Copy link

commented Jun 27, 2014

这篇文章对于一个即将由后端转至前端的初学者来说,真是太有力量了。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.