位置:河南新互联教育科技有限公司 >> 学校动态 >> 查看新闻

Web前端开发前景何去何从

2016-07-15

  老是有人喜欢讨论说做前端开发有前途没有,前几天还有一个刚毕业的大学生问我。说实话我也不知道怎么样,但是我很喜欢做前端开发。要说做业务是挑战自己,做前端开发也是很挑战自己的,因为信息更新速度很快,要断的学习,去研究。下面是我来网上转来的一篇文章,写的很有道理。希望我们做前端开发的人心能静下了,好好的学习。因为要学习的知识太多了。在这里我说一句,三百六十行,行行出状元!

  关于一个WEB前端的职业规划,其实是有各种的答案,没有哪种答案是完全正确的,全凭自己的选择,只要是自己选定了,坚持去认真走,就好。在这里,我只是简要说一下自己对于这块儿内容的理解。有一个观点想要分享给大家的是:任何规划和目标的实现都依赖于知识的积累,而知识的积累来源于学习及学习后大量的实践。我提供一个实践途径,我们可以在工作之余的时间在网上或外包公司那里接一些私单做,因为目标不是赚钱,我们可以用最低的价格来提升自身竞争力,获得大量订单就意味着获得大量的实践机会,同时,还有一些收入作为工作成就感之外的安慰奖,还是不错的。

  一、职业方向定位

  首先,只有确定好自己的职业方向,才能做好职业规划。在我看来,做WEB前端技术能够找到的职业方向有以下几种:

  (1)资深WEB前端工程师

  这个方向算是一个WEB前端最基本的选择了,在国外,很多老外都能够把自己的专业做到极致,能一辈子就在一个专业领域不断学习和积累。主要在于内因和外因两方面,内因是老外通常思想比较简单直接,容易一直专注于一个领域;外因是国外的环境很好,能够良好的支撑这样的职业发展道路。反观国内,从内因来讲,WEB前端技术人员还是蛮浮躁的,通常会因为WEB前端知识的更新速度太快而觉得学习起来辛苦,最终转向后台或其他道路。从外因来讲,WEB前端人员没有获得公平的待遇,可能从HTML页面制作就开始并沿袭下来的,从来WEB前端人员都比后端人员低一等,貌似前端就是“浅显”的代名词、后端就是“深奥”的代名词,这也直接造就了前端人员的收入无法和后端人员媲美,同时直接影响到前端人才市场的活跃程度。另一方面,前端的技术入门较容易,造成另一个极端情况:人员泛滥、人才稀缺。我想对所有的WEB前端工程师说:面包总会有的,要耐得住寂寞!我个人比较推荐这个职业发展方向,因为,在这个方向下,只要足够耐心、厚积薄发,成功的概率是非常高的。同时,这是一条最单纯的路,我们更多的是花费精力在技术的钻研上,而不是办公室政治等其它琐事。

  (2)资深WEB架构师

  说功利点儿,我喜欢这个方向,既兼顾了工作的单纯性、又能够减少实际Coding的工作量能腾出更多时间钻研技术。在国内,WEB前端工程师遇到较多的情况是总是反复编写着同样的代码,总是面对着同样的技术和产品,容易感觉枯燥。由于我们拥有最为广泛的WEB相关知识沉淀,使得我们更加容易成为一名架构师。这个职业发展方向不如第一种来得平滑,主要是作为一名架构师不得不学习:后端技术、DBA、Platform等内容,而这种学习通常需要实际操刀做项目,不是自己在家里写两个Demo就好的,这就势必会遭遇一段时间的阵痛期。虽然不是很平滑,但是,对于一个大局观好、悟性好、知识面广的前端工程师,我推荐你们努把力,走一条光荣的架构师之路吧。

  (3)自己创业

  其实,自己创业是最好的道路、也是成功率最低的道路,挑战和机遇并存。这里,作为一个前端技术人员,需要将自己的视野更多放在行业的动态、产业链的动态、相关产品领域的动态,把关注细节的优势继续保持,同时,增强自己把控一个产品乃至一个公司命运的能力。但是,这条道路和技术之路稍有分歧,后续将不再赘述。

  (4)转岗管理或其他

  由于这条职业道路和WEB前端技术之路关系不大,故而,这里不做过多讨论,但是,无论是否走上这条道路,我觉得对于任何技术之路,更好的大局观、更广泛的视野是良好发展的必备条件,拥有良好的大局观和更广泛的视野别无他法,只能不断的进行知识的横向拓展和积累,同时,多在横向拓展知识的时候进行实践,把知识变成技能。

  二、职业发展目标

  我都有一个最终的目标,在这个目标之上,我们需要给自己制定一系列学习和成长计划,制定的方法如下:

  第一、梳理知识架构;

  梳理知识架构的目的在于,我们要了解清楚,哪些技术是前置、哪些技术是后继,那些技术是深度、哪些技术是广度,按照这两个维度梳理好知识架构之后,我们才能准确地制定清晰的成长目标、高效的成长计划。

  第二、分解目标;

  我认为,大抵可分解为三个阶段,包括:起步阶段、提升阶段、成型阶段。这三个阶段分别对应着不同的目标:

  起步阶段:

  1、基本知识的掌握

  在我们梳理的知识架构中,按照我们分析的两个维度里最前置的、最浅显的部分,作为打基础的阶段,必须要在这个过程中更多投入到实践中去,我们通常做的多了、熟练了,就认为这部分知识和内容掌握了。

  2、常用工具的掌握

  对于常用工具的掌握应该掌握一些有大公司或专业团队背景的流行工具,这些工具的熟练掌握能够提升专业度、职业度,同时,能提升我们的工作效率。我们只有在检验自己对于知识和技能熟练程度的时候,才会自虐式的用Notepad去编写页面、css和脚本等内容。

  3、沟通技巧的掌握

  通常做技术的人会被定位为“不善沟通”的人,这是为什么呢?究其原因,主要是因为多跟程序和代码打交道,跟人的沟通较少导致。这种时候我们要特别注意增加和人沟通的机会,着重提升这块儿的能力。另一方面,我们通常被称为“不懂沟通技巧”的人。作为一个技术人员,包括我自己,似乎天生就有一些难以接受挑战的缺陷。在国内,我们的技术人员通常都是自己制定方案、自己执行方案,在执行过程中又缺乏相关产品、交互设计等人员的沟通,大多是在自己的思路贯彻下进行开发,久而久之,我们习惯于信任自己的观点、在自己的视角看问题,对于挑战总是百般地“据理”力争。我们需要更多提升的是,如何在对方的视角看问题、如何在用户的视角看问题。

  4、良好的开发习惯

  开发习惯是养成的,一旦有不好的习惯,对于将来去修正带来的将是很大的麻烦,我们在培养良好开发习惯一定要从起步时做起,例如:写代码之前先分析、先写文档、先写注释。定义变量最好能用直接可理解的语义,最好是拼音,别整英文,尤其是生僻单词,将来自己忘了还要开金山词霸。文件最好有有意义的文件夹命名来管理,文件名最好有意义,需要版本号的最好能和项目版本号一同更新……等等。

  提升阶段:

  1、高级技术的掌握

  在提升阶段对于知识和技能掌握,我们需要从梳理好的知识架构中选择更深一层次的技术进行学习,选择之前,我们先通过类比或预估的方法,衡量自身学习的难点,以学习难点和自己最不感兴趣的部分为主。这样推荐大家的原因是:这个阶段我们兴趣正浓,已经度过了苦涩的起步阶段,到达了兴奋的提升阶段,我们要用兴趣和兴奋去挑战最困难的部分,在我们信心受挫和兴趣浓厚之中找到平衡。同时,辅以其他的深层次知识一起学习和研究。

  2、产品思想的学习

  没有正确的产品思想,很难设计出良好的程序,无论从界面、交互,还是接口、逻辑,不能够理解产品、理解用户需求,我们会给自己造成很大的麻烦,例如:我们千辛万苦用最新技术、最复杂的实现做出的功能,却得不到使用者或领导、同事的认可。为了使我们的工作和学习更加有效率、避免无用功,我们需要不断的学习产品的思想,只有理解了产品的思路,我们才知道用我们的技术去输出什么。

  3、各种框架的学习

  框架是我们提高工作效率的优秀手段,对于框架的学习是成长必经之路。我们学习框架的路线通常应该是:使用——》分析——》个性化定制——》模仿编写自己的框架。只有大量的使用,才能明白设计框架者在设计背后的思路,只有了解到设计的思路,才能做正确全面的分析,只有正确全面的分析才能支撑我们去对其裁剪或扩展,只有经过实际分析、修改别人的框架,才有可能写出优秀的、自己的框架。学习通常的路线是:学习、理解、模仿、创造。

  4、富客户端应用的学习

  随着带宽和计算机性能的提升,以及WEB2.0的如火如荼,富客户端应用充斥着互联网,如果你不懂得富客户端应用,你就不能称之为一个合格的前端技术人员。可以按照:Flash动画——》Flash编程——》Flex——》——》Air——》Silverlight动画——》Silverlight编程的步骤学习,先学Flash后学Siverlight的原因,一来Silverlight还不太成熟,二来,实际Silverlight借鉴了很多 Flash的思想,最好在学习的时候不要本末倒置。

  5、各种网络协议的学习

  WEB前端技术就是云上的技术,云的协议有N种,我们应该着重学习:TCP/IP,UDP,HTTP,POP3,SMTP这几种协议,在开发WEB前端应用过程中,这些协议是我们的技术的载体,有时候决定了我们的应用是否能实现、有时候决定了我们的应用是否高性能,同时,这些协议还是我们和后端技术交互的重要手段,这些协议就像是密码字典,帮助我们把后端传输过来的密文解释成我们前端技术能够理解的明文。

  6、程序设计

  这个阶段我们需要学习OO、UML、设计模式、设计方法……,我们要让技术开发工作变成有目的性、有计划性,并且,这些目的和计划必须有理论的支持,这样,我们设计出来的程序才能够更优秀、我们的开发才更有效率,这样,我们的技术才能有所提升。为什么要学习程序设计呢?主要是,就算我们不用Flash的ActionScript编写程序的前端逻辑,我们至少要把我们自己的Javascript函数、包的定义规划起来,避免将来自己或他人维护代码的时候出现问题。程序设计能力,在技术人员仍然被看作是程序员的这个年代,是灰常、灰常重要滴。

  三、成型阶段:

  到了这个阶段,我也没什么好说的了,如果能达到这个阶段,就证明后续的成长之路是异彩纷呈的,是成为一个资深WEB前端工程师,还是成为一个资深WEB架构师,亦或其他,都要具体分析自身的特点和兴趣所在。如果是资深的前端工程师,我觉得更重要的是去作新技术的研究,互联网技术发展速度日新月异,不断学习新技术,否则就被淘汰。此外,我建议在知识的广度、深度方面最好能挑选一个自己最擅长和最感兴趣的一两个领域深入钻研,不要挑太多,多而不精。如果是资深的WEB架构师之路,我建议要深入了解后台技术,这种深入了解一定要伴随着实际的项目开发,基本方法是:按照别人设计的架构实现几个Server——》自己设计并实现几个Server。

  前端的侍遇

  淘宝是前端的半壁江山,是发展的土壤,淘宝总部就在杭州!

  商城类网站多如牛毛,光杭州知名的就有几十家!

  淘宝,拍拍,凡客,京东,等等数不清的。。。

  前端的发展前前后后经历的4--5年的样式,我们来谈谈起源:

  改变世界的Web前端开发

  ugmbbc发布于 2009-01-13 12:12:26

  JavaScript游戏一段时间内将还只是开发者们的“玩物”,要真正转换为商业应用,可能还有一段漫长的路要走。但是,当Super Mario跳跃在Web网页上时,这昭示着JavaScript的时代已经到来了。JavaScript能做什么?2008年的答案是:JavaScript连游戏都能做!

  乔布斯说:“活着就是为了改变世界,难道还有其它原因吗?” 2008年,在Web前端开发界,无论国外还是国内,都发生了不少事情,有哪些是改变世界或即将改变世界的大事件呢?

  JavaScript游戏

  2008年4月9日,Dion Almaer发现了一款非常经典的JavaScript游戏:Super Mario.这款游戏由Jacob Seidelin开发,大小仅14k.

mario

  (Super Mario JavaScript版本:http://jsmario.com.ar/)

  不少Web开发者们大跌眼镜:这真的是用JavaScript开发出来的?答案是肯定的。这款游戏利用了Canvas元素(IE中用HTML模拟),图像存储在加密的字符串中,还用base64存储了MIDI背景音乐。除了这些技巧,其它代码就是我们熟悉的HTML、CSS和JavaScript.

  Super Mario JavaScript版本的横空出世(之前也出现过用JavaScript写的游戏,但没有像Super Mario一样引起大家的关注),激起了一股用JavaScript编写游戏的热潮:

  许多经典的游戏都有了JavaScript版本:Pac-Man(经典的吃豆子游戏), Space Invaders(太空入侵者),Spacius(百玩不厌的雷电)等等。

  甚至还出现了一些比较复杂的角色扮演游戏:Andrew Wooldridge创造的Tombs of Asciiroth和CanvasQuest,Pierre Chassaing创造的ProtoRPG等。

  伴随JavaScript游戏的热潮,还出现了不少专门用于游戏开发的JavaScript库。最突出的是GameJS(基于Canvas的一个2D游戏开发库)和GameQuery(这是jQuery的一个插件)。、

  除了用Canvas构建2D游戏,用JavaScript还可以构建3D游戏,还出现了非常出色的Processing.js,以及JavaScript PlotTool绘图工具等等。

  感慨:JavaScript游戏一段时间内将还只是开发者们的“玩物”,要真正转换为商业应用,可能还有一段漫长的路要走。但是,当Super Mario跳跃在Web网页上时,这昭示着JavaScript的时代已经到来了。JavaScript能做什么?2008年的答案是:JavaScript连游戏都能做!

  大放异彩的jQuery

  2008年,无论对于jQuery的作者John Resig还是jQuery库本身来说,都是非常棒的一年。jQuery首页上有一行很明显的加粗文字:

  jQuery is designed to change the way that you write JavaScript.

  jQuery设计成可以改变你书写JavaScript的方式。

  jQuery用数据和事实证明了它的魅力。一定程度上,甚至可以毫不夸张地说:jQuery改变了Web前端开发界。下面是用Google Trends统计的常用JavaScript库在2008年的搜索量曲线图:

jslib_trend

  2008年9月份,jQuery团队战绩斐然:Microsoft和Nokia正式将jQuery集成进他们的应用程序开发平台。此外,Google的部分应用里,也早就采纳了jQuery. 从jQuery的首页上还可以看出,DELL, Bank of America, Digg, Technorati, Mozzila等站点都在使用jQuery.

  当然,除了jQuery,其它JavaScript在2008年也都有可圈可点的发展。YUI3的Preview版本,是我见过的最具有发展潜力的框架。ExtJS在国内的普及也非常迅猛,JavaEye社区里,ExtJS一定程度上成了Ajax的代名词,各种有关ExtJS的技术文章和书籍非常多(遗憾的是书籍的质量不高)。Prototype不温不火。Mootools则在低调中用其优雅的代码吸引了不少忠实用户。

  感慨:上面提到的每个JavaScript库都是非常优秀的,掌握任何一个,对于我们的日常工作来说,都绰绰有余了。只是对于2008年来说,jQuery的表现太突出了,连我这个天天工作用YUI的人,在2008年,都不得不为jQuery鼓掌,为John Resig喝彩!各种JavaScript库的争奇斗艳,这是JavaScript时代已经到来的另一个标志。

  蹒跚起步的网页工业化

  2008年,如果你是一名Web前端开发工程师,却没有听说过“栅格”两个字,那你一定是工作太忙太专心了。2008年10月份,在淘宝UED博客,出现了一篇“960的秘密”,揭开了网页栅格系统在国内的研究小热潮。

grid

  伴随着栅格系统的争论,国内的前端技术博客里还出现不少对CSS框架和布局的探讨。这一切,所要解决的是以下两个问题:

  网页的规范性。随着站点的成长,页面会以几何级数的速度增加。面对成千上万个网页,如何保持风格的一致性是一个不小的挑战。

  网页的工业化产出。在遵守规范和保证质量的基础上,如何让页面制作容易,如何让运营人员能批量制造页面,这是目前许多大型站点面临的另一个问题。

  国内站点中,淘宝、百度有啊、网易等站点的已逐步采用栅格系统。淘宝的首页和频道目前已经全部栅格化,同时尝试性开发了TMS(模板管理系统)来解决网页的工业化产出问题。

  感慨:网页的高质量工业化产出,在国内很多公司才刚起步。2009年,我相信工业化将依旧是Web前端开发界的关键词。

  这些也很出色

  渐进增强。2008年10月份,Aaron Gustafson在ALA网站上发表了一系列有关渐进增强的文章,探讨的核心问题是:JavaScript应该做什么以及Web前端开发的技术流程。JavaScript游戏让我们看到了JavaScript的魔力,Aaron提醒我们不能滥用JavaScript,我们要仔细考虑JavaScript的使用场景。可用性,无侵入性,可访问性等等,这些理念是每一个前端开发工程师需要好好思考的。

  D2(前端技术论坛)。 2008年,在北京和上海分别举办了两届D2,这是国内前端开发工程师们的两场盛会。前端工程师,这个新生的职位逐步被国内各大公司接受。D2的意义在于,我们聚集在一起,发出了自己的声音!

  Google Chrome的诞生。 2008年,Chrome, JS V8引擎,Google迫使各大浏览器厂商开始比拼JavaScript引擎速度,这是JavaScript时代已经到来的另一个标志。Google和Mozzila的努力,在年末的时候带来鼓舞人心的统计结果:IE的使用率跌破70%. 万恶的IE6,早点灭亡吧。2009年,Google的号角和淘宝网即将掀起的 NO IE6 活动,将加速IE6的灭亡。

  最后,用两句话来结束本文:

  2008年,我们努力改变世界!

  2009年,我们继续改变世界,同时世界将开始为我们而改变!

  站在一定的高度上来看前端,才能正确把握前端的方向和结构.才能定制好我们需要的课程体系,很显然,这是一个变化的世界,我们的课程将时俱进,作站在中国前端方向的人,我们时时关注内在的与外在的变化!。

  # 我们有2-3年的实际为淘宝[TaoBao]送人的实战成功经验。

  无论是浙江理工大学、杭州电子科技大学,工商大学,中国计量学院等等名校都有我们的学员,现在正在成为淘宝的中坚力量!

  我们有完善的为淘宝定制的课程体系。。

  # 为了更加适应越来越多,量越来越大的前端人才需求.我们不能在局限于淘宝的定制班,要面向所有的电子商务企业,面向所有需要前端人才的地方!

  特建议设置 :

  前端开发工程师班(前端+后台开发的试)

  4个月或4.5月

  从发展的难度与深入程度来看,这个方向更靠谱!