职能上的差异
首先,我们要分清Web designer(网页设计师)和Web developer(网页开发者,也称程序员)的差异。两者之间的差异主要表现在:一个是有关网站的视觉或美学方面,被称为“前端”;另一个则是看不见的编码方面的设计,被称为“后端”。简而言之,漂亮的网站界面都是出自网页设计师之手,而牛逼强大的功能则是网页开发者的杰作。
技术上的差异
我们再从技术的方面,瞧瞧在实际的招聘中,各大企业要求前端人员与后端人员分别具备怎样的能力。
Web前端:
1. 精通HTML,能够书写语义合理,结构清晰,易维护的HTML结构。
2. 精通CSS,能够还原视觉设计,并兼容业界承认的主流浏览器。
3. 熟悉JavaScript,了解ECMAScript基础内容,掌握1~2种js框架,如JQuery。
4. 对常见的浏览器兼容问题有清晰的理解,并有可靠的解决方案。
5. 对性能有一定的要求,了解yahoo的性能优化建议,并可以在项目中有效实施。
Web后端:
1. 精通jsp,servlet,java bean,JMS,EJB,Jdbc,Flex开发,或者对相关的工具、类库以及框架非常熟悉,如Velocity,Spring,Hibernate,iBatis,OSGI等,对Web开发的模式有较深的理解。
2. 熟练使用oracle、sqlserver、mysql等常用的数据库系统,对数据库有较强的设计能力。
3. 熟悉maven项目配置管理工具,熟悉tomcat、jboss等应用服务器,同时对在高并发处理情况下的负载调优有相关经验者优先考虑。
4. 精通面向对象分析和设计技术,包括设计模式、UML建模等。
5. 熟悉网络编程,具有设计和开发对外API接口经验和能力,同时具备跨平台的API规范设计以及API高效调用设计能力。
总而言之,两者的差异在于职能上,前端主要负责界面的设计;后端主要是制作界面后的功能。
形象上,前端注重形式、美观;后端注重功能、实用性(为此,小编还特地去了乔布堂的研发部做了实地考察,发现我们的前端工程师买了2台Macbook,而后端工程师买了2个键盘。惊人的符合!)
企业招聘中,前端工程师需要精通JS,能熟练应用JQuery,懂CSS,能熟练运用这些知识,进行交互效果的开发;后端开发人员需要会写Java代码,会写SQL语句,能做简单的数据库设计,会Spring和iBatis,懂一些设计模式等。