浅谈web前端开发

486 阅读5分钟

这是我参与更文挑战的第5天,活动详情查看:更文挑战

对前端开发的三个总体理解和体会

我对前端开发的总体体会有三:
第一:杂而难,难度甚至超过了一般的后台开发,如果有人觉得前端开发简单只能说明他还没有入门。
第二:web前端开发正在向响应式和移动端方向大步迈进。
第三:前端工程师其实就是编程技术人员,用一句话来形容“比UI设计懂技术,比技术人员更懂交互”,当然也有人说前端工程师是工程师中的设计师,是设计师中的工程师。既然是编程工作,那就不会做一辈子,毕竟太累。认真敲几年代码然后去卖水果吧,还望师弟师妹们来照顾我生意。

Web前端开发一般要掌握哪些技术和具备哪些条件?

第一、要掌握曾经网页制作师掌握的基本技术。如各种页面布局,面向对象编程,JS模块化编程,设计模式,前端MVC等等。
第二、网站性能优化,SEO。如尽量减少HTTP请求次数、cssSprites图片整合技术、合并css与js、运用CDN技术。减少DNS查找次数、避免重定向等。
第三、要会UI设计。当然在一些相对较小的公司前端工程师也担任着UI设计的角色。在大公司虽然有专业的UI设计师,但是前端工程师会UI设计能帮助你更准确的理解设计师的意图,在原型不完整的时候也能正确的反馈设计缺陷,将问题阻挡在设计的环节,会大大减少UI bug数量,比如,设计师会给出理想状态下的容器样式,却往往忽略了文字溢出折行、长连续字符、容器宽高是否适应内容尺寸变化而变化,溢出部分是作截字还是隐藏等诸多细节,因为设计师不一定懂“边界值测试”的道理,而这些问题往往在测试阶段才被发现,所以,如果能在拿到UI设计稿时就提醒设计师补充完整这些场景,自然减少测试回归次数。
第四、至少要会一门后台编程语言。职业的特殊性决定了我们需要跟后端工作者频繁的沟通。如果只顾页面实现,不考虑后台,写出来的页面也有一部分是废弃代码,在后台进行数据交互的时候用不了。还有一方面就是从招聘信息可以得知,现在几乎所有公司前端开发岗位都明确要求会后台语言,在实际工作中可能也要做客户端和服务器端之间的数据交互等。
第五、必须学会运用各种工具进行辅助开发。
第六、除了掌握技术层面的知识,还有掌握理论层面的知识。包括渲染原理,代码的可维护性,组件的易用性,分层语义模板等等。
第七、要有细心和耐心。和UI设计一样,我们必须精确到每一个像素,耐心也体现在多方面,比如让初期开发者头疼的兼容问题,如果编码不够规范,解决兼容问题的时间远远超过了页面实现的时间。
第八、热爱并不断学习新技术。前端几乎每天都有新技术产生,从事这一行,在打牢基础的情况下要不断学习新技术。包括开发流程部署,预处理技术,前端框架(如RequireJS、ReactJS、AngularJS等等),移动终端,标准规范等。

浅谈自己的体会

前端开发工程师是一个易学难精的职业,我们必须深入、系统地学习并掌握前端知识,如果简单地自学一下就能成为web前端工程师,那我想现在市场上也不会出现高薪找不到前端工程师的情况了。有经验的web前端开发工程师都知道,要精通这一行,必须先精通十行。有一些有经验的前端工程师,在不断寻求新的技能上的突破,最明显的一点体现是,开始关注“底层协议”,即HTTP、第三方应用、系统对接、制造工具、工作流程等,这时思考的重点已经脱离了“切页面”,变为“出方案“,比如要架设一个站点,能够搭建站点框架,预见站点后续(前端)开发中的所有风险,并一一给出解决方案。

新进入这一行或者转行者的心态比较容易走两个极端,一是只看到新行业的好,二是只觉得原工作很糟糕。但不管是什么行业,对自己的职业规划的思考都应当先行一步。进入这一行必须先清晰的回答这些问题:
1.我能做什么?
2.我不能做什么?
3.我的优势是什么?
4.我的劣势是什么?
5.做这一行对我有何好处?
6.做这一行会让我付出何种代价?
7.如何定义成功?

对自己学习和工作的要求

N.C.Zakas曾经勉励过大家,现在成为了我对自己的要求和对已结确定要走Web前端开发方向的人的建议:热爱你的工作。热爱跨浏览器开发带来的挑战、热爱互联网技术的种种异端,热爱业内的同行,热爱你的工具。互联网发展太快了,如果你不热爱它的话,不可能跟上它的步伐。这意味着你必须多阅读,多动手,保证自己的才能与日俱增。要为如何编写易于维护、高质量的前端代码奋斗。下了班也不能闲着,要做一些对自己有用的事儿。可以参与一些开源软件的开发,读读好书,看看牛人的博客。经常参加一些会议,看看别人都在干什么。要想让自己快速成长,有很多事儿可以去做,相信付出一定会有回报。