记得在大学时,班主任就曾给过我这样的建议说,你们女孩子可能更适合前端开发,学起来没有后端那么难,女孩子在软件开发行业还是比较适合做前端。那么前端和后端有什么区别呢?
前端:通常我们这里所说的前端泛指Web前端,也就是在Web应用中用户可以看得见碰得着的东西。包括Web页面的结构、Web的外观视觉表现以及Web层面的交互实现。
web前端分为网页设计师、网页美工、web前端开发工程师。首先网页设计师是对网页的架构、色彩以及网站的整体页面代码负责网页美工只针对UI这块的东西,比如网站是否做的漂亮,web前端开发工程师是负责交互设计的,需要和设计师与后端开发人员交流,共同完成产品的开发。
后端:**后端更多的是与数据库进行交互以处理相应的业务逻辑。需要考虑的是如何实现功能、数据的存取、平台的稳定性与性能等。说白了就是为前端的展示业务逻辑功能做处理。
后端用户看不见的东西,通常是与前端工程师进行数据交互及网站数据的保存和读取,相对来说后端涉及到的逻辑代码比前端要多的多。
前端:
1)精通HTML,能够书写语义合理,结构清晰,易维护的HTML结构。
2)精通CSS,能够还原视觉设计,并兼容业界承认的主流浏览器。
3)熟悉JavaScript,了解ECMAScript基础内容,掌握1~2种js框架,如JQuery
4)对常见的浏览器兼容问题有清晰的理解,并有可靠的解决方案。
5)对性能有一定的要求,了解yahoo的性能优化建议,并可以在项目中有效实施。
后端:
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高效调用设计能力
普遍来说,偏前端的前端会写界面样式多一些,偏后端的前端会写数据交互多一些。如果没有分这么细,那工作就是按图纸画界面,按UE设计动态效果,按业务逻辑展示数据和页面跳转以及反馈用户信息给后端。如果图纸和UE都没有,你可能会兼任。另外,不管是经理还是总经理,无论是美工还是后端,都"有资格"站在你面前指指点点(这里不论孰优孰劣,是真的前端涉及的东西比较多)。
那么后端,你可以简单地说他是对数据库的增删改查,相应地,前端也就是写写画画。后端的工作相对来说耳根清净。不论是经理还是总经理,不管是前端还是DBA(数据库管理员),也无所谓OSer(操作系统管理员,自创词汇)基本都没有资格在你面前指指点点。如果这些你都会,你就是爷爷。如果这些你都不会,那你就是…所以后端的工作就是写代码,纯写代码。但若是公司没有以上职位,那你就得会数据库,会操作系统,会网络安全,啥都得会。
前后端其实就像一座海上冰山,一半漏在外面,一半藏在水里,漏出来的是前端,人们看得见,实现起来也相对简单。藏在水里的人们看不见,也相对复杂,并且是前端的支柱。