转载声明:文章来源https://zhuanlan.zhihu.com/p/84794866
什么是前端开发呢?提到这个问题,有些人想到的答案是 美工,有些人想到的答案是 使用 HTML、CSS、JavaScript这些技术编写网页的开发人员……甚至有些人根本没有听说过这个概念,在它们开来开发人员可以完成所有的工作,那么到底什么是前端开发呢?既然我们在这里想要给大家传递前端开发方面的一些经验,那么首先必须让大家理解什么是前端开发。
很多人或许会疑惑,为什么提到前端开发,我们会得到不同的答案呢?究竟哪种说法是正确的呢?其实造成这种情况的原因很多,不过主要还是前端开发的复杂性导致的。
在工作中,有这样一群人,他们经常在办公室走来走去,时而和美工窃窃私语,时而又和设计人员讨论的唾沫横飞,一转眼他们又在和后端开发人员激烈的争论着什么……这些人不是刚刚到公司上班的实习生,也不是爱好传播小道消息的八婆,他们就是前端开发工程师,这就是他们每天的工作。
当然因为团队规模的大小,上述的场景可能有所不同,有些团队中并没有美工,也没有设计人员,所以前端开发人员既需要掌握美工作图的技术,同时还需要具备设计者的思维能力,因为这些缘故,所以在有些人看来会使用PS 这些作图工具的是前端开发人员,有些人认为会使用 HTML、CSS、JavaScript 这些技术编写网页的是前端开发人员,也有些人认为那些负责产品设计的人员就是前端开发,是不是感觉这个工作好复杂?
除了工作需要外,导致对前端开发认识的原因还和互联网发展的过程有密切的关系,在最初的时候,网站的功能很单一,就是一个简单的页面,然后可以传递一些信息,并没有像今天看到的网页那么高级,不过后来随着互联网应用的不断发展,特别是 2005 年 Web 2.0 诞生之后,网页的功能越来越丰富,所以对前端开发的要求也越来越高,而这时候那些最初只会单纯使用表格设计网页的后端开发人员逐步的转换到前端开发的工作中,所以也不就不难解释为什么直到今天我们对于前端开发的工作依然很难给一个准确的描述了。
工作要求
通过刚才的介绍,大家对于前端开发有了一定的认识,那么前端开发人员在工作中具体负责哪些事情呢?相信这也是很多人感兴趣的地方,接下来就给大家简单的介绍下。
通过我们刚才的介绍,工作中前端开发人员需要了解 产品设计人员的思想,确定自己需要开发的界面大致是什么样子,同时要和美工沟通,让他们了解自己需要哪些素材,其中哪些素材又需要注意什么,除此之外,前端开发人员还需要和后端负责提供接口的人员沟通,看对应的数据是否可以正常的提供,所以这是一个十分复杂的工作,需要他们具备很好的沟通能力,是否感觉这些工作很混乱呢?
在传统的开发过程中,一般都是后端确定需要提供哪些数据,然后前端开发人员再根据这些数据去设计相应的界面,这对于早期网站的静态页面来说,没有多大的问题,但是随着网站的功能越来越复杂,如果依然按照这种传统的方法去开发,那么前端人员的思维会受到很大的限制,最终导致界面设计并不理想,所以在现在的开发过程中,经常是前端开发人员确定界面,然后后端再去设计相应的数据接口,不过这中间依然存在很大的问题。
因为我之前一直负责的都是后端的开发工作,对于这块的内容并不是很了解,所以相信前端开发人员在实际的工作中依然有很多需要完成的工作,远不止我们上述的那么简单。
技能要求
我们为大家介绍了前端开发工作的一个流程,那么作为一个前端开发人员来说,应该掌握哪些技能呢?这也是很多初学者关心的问题,接下来就给大家简单的介绍下这方面的内容。
首先,要完成前端开发的工作,必须掌握HTML、CSS、JavaScript 这些前端开发的基础技能,只有熟悉它们才可以完成网页的开发,这是前端开发人员具体的工作体现,所以熟悉这三者十分重要;
第二,应该掌握一些常见的前端开发框架,比如 jQuery、Bootstrap、VeuJS 等等,通过使用它们可以降低我们的开发难度,但是在开发中选用哪种框架应该看具体的需要,而不能神化这些框架,单纯的认为某种框架就一定很好,当然要合适的选择它们首先应该熟悉这些框架的作用以及区域;
第三,应该熟悉一些常见的作图工具,比如 PS,因为大多数团队中,对岗位的安排并不是那么完整的,一兼多职的情况经常发生,所以前端 开发人员也可能需要去完成美工作图的工作,不然你根本没有素材可用;
第四,应该熟悉一些设计方面的思想,这点很重要,因为开发和设计是两种完全不同的工作,这也是为什么经常听说产品经理和开发人员之间争吵的原因;
第五,熟悉常见浏览器之间的差异,这是因为从浏览器诞生到今天,不同的浏览器之间存在一定的差别,这导致某些功能在不同的浏览器中得到的支持可能并不相同,但是作为一个刚刚开始接触前端的开发人员,目前并没有找到关于这些浏览器差别相关的资料,即使有也是纯英文的形式,理解难度太大;
工作难点
如果您想要进入前端开发这个行业,那么除了要了解它的概念,职责以及要求外,您还应该去熟悉一些在这个行业中存在的一些难点,然后在工作中有意识的去弥补它,这里不妨分享一些我工作中接触的那些前端开发人员的看法。
首先,作为一个前端开发人员来说,面临的第一个难点就是你认为的知识很简单,但是真实的应用却很复杂,而且经常状况百出,引发很多无法预料的情况发生,比如您可能认为 HTML 很简单,在熟悉了一些常用的标签之后就认为自己已经掌握它了,不过您可能不知道有些标签虽然现在还在使用,但是已经不在 W3C 的推荐范围之内了,也就是说开发中是不建议使用的,再比如我们在学习 JavaScript 中的时候认为它很简单,但是即使一个单纯的定时函数,你都可能疑惑为什么在指定的时间内定时函数并没有执行,而引发它不执行的原因可能和了JavaScript 是单线程的编程语言有关,所以在前端开发方面,它的学习是简单的,但是工作却是复杂的。
第二点,工作中,我们很少会跟随项目的整个开发阶段,一般我们接手都是二次开发或者其他开发人员的代码,这时候对于前端开发人员来说是一件十分痛苦的事情,因为在前端开发方面很少去制定规范,导致前端的代码十分的混乱,难以理解。
第三点,浏览器之间的差异,这也是前端开发中一个十分头疼的问题,特别是项目中需要兼容那些 IE8 之前浏览器,这将是一个十分棘手的事情,虽然现在这些版本的浏览器很少使用,但是如果客户有这方面的需求,那么我们必须解决它。
上述内容部分来自工作中,其他开发人员传授的经验,部分来自近段时间的学习和总结,如果感兴趣记得关注哟!
帖子还没人回复快来抢沙发