Web前端和后端开发的区别和要求
有时候自己会分不清,其实是因为前后端都了解,类似于全栈工程师,但又什么都不是很精通。那到底什么是前端、后端呢,偶整理了一些企业要求级别的前端/后端基础,开发框架等。
Web前端开发
什么是 Web 前端?
Web前端,顾名思义是来做web的前端页面的。这里所说的前端泛指web前端,也就是在web应用中用户可以看得见碰得着的东西。包括web页面的结构、web的外观视觉表现以及web层面的交互实现。web前端分为网页设计师、网页美工、web前端开发工程师。首先网页设计师是对网页的架构、色彩以及网站的整体页面代码,负责网页美工只针对UI这块儿的东西,比如网站是否做的漂亮。web前端开发工程师是负责交互设计的,需要和程序猿进行交互设计的配合。
Web前端开发需要掌握的技术:
1.熟练掌握前端开发技术(HTML5、JS、JSON、XHTML、CSS3),了解各项技术的相关标准
2.掌握Ajax异步编程,能够写出高性能、可复用的前端组件;
3.对OO、MVC、MVVM等编程思想、前端框架有深刻理解,熟练掌握一个前端框架(常用前端框架 Vuejs,AngularJS,React,Bootstrap,QUICK UI,移动端有:Frozen UI,weUI ,SUI,MUI,AUI)了解其原理(框架有很多,选择两三个主流的框架,熟练,深度了解才可以);
4.善于Web性能优化,可访问性、对SEO等有良好的体验;理解表现层与数据层分离的概念、 Web语义化(这些也是在找工作中,很有用的加分项);
5.了解前端安全机制,熟悉HTTP协议以及浏览器缓存策略;
6.熟悉常见JS开发框架源码实现,(如:prototype、jQuery、Mootools,Ext, Dojo,underscore、YUI、Kissy),至少熟练一种(当然也不要去选一些用的人很少的框架,要明白大项目都是团队做,不能自己搞一套);
7.拥有良好的代码编写,设计文档撰写的经验,熟练使用Git等版本控制工具;
8.对常见的浏览器兼容问题有清晰的理解,并有可靠的解决方案;如IE6/7/8/9、 Firefox、Safari、Chrome;
9.具有较高的审美(这个很重要,多去见识一些模板,高端的项目,就能感觉到有多大的差距)
web后端开发
什么是 Web 后端?
Web后端更多的是负责产品的服务技术实现,包括业务逻辑,数据存储和处理,消息队列处理等。以及产品服务端接口实现,包括与前端的接口,第三方的接口,服务体系内部接口等。后端开发主要是对数据库进行交互以处理相应的业务逻辑。web后端的话可供开发的语言有 java、php、python、jsp、.NET 这些后端开发语言,并且要掌握几个常用后端框架。
Web后端开发需要掌握的技术:
1.目前多数企业要求对服务器端高并发,大数据量处理经验(简单的说就是优化服务器处理高并发事务的能力)
2.精通 java,php,jsp,servlet,java bean,JMS,EJB,Jdbc,Flex,python 开发,对相关的工具、类库以及框架非常熟悉,常用后端框架如 SSM(Spring+SpringMVC+MyBatis)框架集,Velocity,Hibernate,iBatis,OSGI等,对Web开发的模式有较深的理解(只少熟练掌握一套后端框架);
3.至少熟悉一种关系型数据库,如:mysql,oracle等。熟练使用oracle、sqlserver、SQL Develpoer,PLSQL,MySQL Workbench等常用的数据库管理工具,对数据库有较强的设计能力
4.熟悉maven项目配置管理工具,熟悉tomcat、jboss等应用服务器,同时对在高并发处理情况下的负载调优有相关经验者优先考虑
5.精通面向对象分析和设计技术,包括设计模式、UML建模等
6.熟悉网络编程,具有设计和开发对外API接口经验和能力,同时具备跨平台的API规范设计以及API高效调用设计能力
7.熟悉部分前端知识
总结
偶感觉无论在知识的掌握深度上,还是知识掌握的宽度上,都是不够的。