下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Web前端和后端之区分,以及面临的挑战2014-05-3015:49:59|分类:互联网+|举报|字号订阅在我们实际的开发过程中,我们当前这样定位前端、后端开发人员。1)前端开发人员:精通JS,能熟练应用JQuery,懂CSS,能熟练运用这些知识,进展交互效果的开发。2)后端开发人员:会写Java代码,会写SQL语句,能做简单的数据库设计,会Spring和iBatis,懂一些设计模式等。现在来看,我们对前后端的要求还是蛮低的,尤其是后端,新员工经过培训之后都是可以参与到后端开发的,没有太高的技术门槛,唯一需要做的就是先变成熟练工种,这个阶段没有涉及到设计模式、架构、效率等一些列问题。还是先go
2、ogle一下,看看网上对Web前端开发、Web后端开发分别是什么?Web前端:顾名思义是来做Web的前端的。我们这里所说的前端泛指Web前端,也就是在Web应用中用户可以看得见碰得着的东西。包括Web页面的构造、Web的外观视觉表现以及Web层面的交互实现。Web后端:后端更多的是与数据库进展交互以处理相应的业务逻辑。需要考虑的是如何实现功能、数据的存取、平台的稳定性与性能等。我们再来看看大公司对前后端人员招聘的要求,通过这个角度看看前端、后端的技术要求:Web前端:1)精通HTML,能够书写语义合理,构造清晰,易维护的HTML构造。2)精通CSS,能够复原视觉设计,并兼容业界成认的主流浏览器
3、。3)熟悉JavaScript,了解ECMAScript根底容,掌握12种js框架,如JQuery4)对常见的浏览器兼容问题有清晰的理解,并有可靠的解决方案。5)对性能有一定的要求,了解的性能优化建议,并可以在工程中有效实施。6)Web后端:1)精通jsp,servlet,javabean,JMS,E,Jdbc,Flex开发,或者对相关的工具、类库以及框架非常熟悉,如Velocity,Spring,Hibernate,iBatis,OSGI等,对Web开发的模式有较深的理解2)练使用oracle、sqlserver、mysql等常用的数据库系统,对数据库有较强的设计能力3)熟悉maven工程配
4、置管理工具,熟悉tomcat、oss等应用效劳器,同时对在高并发处理情况下的负载调优有相关经历者优先考虑4)精通面向对象分析和设计技术,包括设计模式、UML建模等5)熟悉网络编程,具有设计和开发对外API接口经历和能力,同时具备跨平台的API规设计以及API高效调用设计能力6)从几个公司的招聘要求可以看到,做Web开发,对前端和后端的要各自所不同的。而我们目前的实际情况,也和这个差不多,但是,我们无论在知识的掌握程度上,还是知识掌握的宽度上,都是不够的。首先,我们在前端缺乏积累,没有沉淀,专业的前端技术的积累是从去年才开场的,同时,在前端也缺乏支撑与高手,所以,走起来比拟困难。同时,前端人员培
5、养的较少,一个原因是对前端了解太少,另外一个原因就是对前端与后端的工作比例估计缺乏。所幸,我们在这一年也在前端有了很快的进步,培养了几个优秀的开发人员,有意识的解决了前端的用户体验,这都是可喜的。今年,需要更进一步,专业化。其次,我们在后端开展的不够宽,后端的知识体系已经比拟完善,但是,很多应用点都没有涉及到。同时,对现有技术框架的理解都不够深入,太急躁。我们目前的设计团队在解决互联网高并发、大数据量的存取上经历与能力都还缺乏,需要正视这些问题。后端技术的开展需要更加的精进,以解决实际存在的问题为主。最后,我们在前端、后端都缺乏熟练工,这会影响到开发的速度,同时,也不利于后期技术的研究。web
6、前端跟后端有什么区分,经过搜罗也找到这么一篇文章,附上:我们经常对Webdesigner(网页设计师)和Webdeveloper(网页开发者,也称程序员)傻傻分不清楚,其实他们之间有着巨大的差异。两者之间的差异主要表现在:一个是有关的视觉或美学方面,被称为前端;另一个那么是看不见的编码方面的设计,被称为“后端简而言之,漂亮的界面都是出自网页设计师之手,而牛逼强大的功能那么是网页开发者的杰作以上只是从双方的职能上来理解彼此的差异,事实上他们的差异远不止这些。为此,国外设计Downgraf特意制作了一图表来展示两个职业的种种差异:网页设计师和网页开发者(程序员)都留胡茬,一个没钱,一个没时间;两者
7、都喜欢涵T恤,一个走字体设计路线,一个走代码风;两者都配自家设备,一个必带MacBookPro,一个只挑小键盘?辎了以上种种差异,他们还有一个共同点:害怕MM,看来都是“宅”惹的祸再来看一下前端设计师与后端开发师的比拟形象的区分:WEB前端和后端开发面临的挑战要成为一名高效的Web开发者,这需要我们做很多工作,来提高我们的工作方式,以及改善我们的劳动成果。而在开发中难免会遇到一些困难,从前端到后端,近日,在问答知乎上,有人抛出了“前Web发面临的挑战主要有哪些?”和后端开发主要的挑战有哪些?”。一、Web前端开发所面临的挑战盛大Web工程师阳:前端语言的胶水性需求太强前端必须重视可维护性1.C
8、SS和DOM提供的接口水平太低了,而BOM提供的控件只有input、select、textarea这几种最根本的,稍复杂一点的UI效果,都要前端自己利用CSS和DOM去组合创造。看到一个需求,脑子里第一步要想如何利用CSSDOM这些根本的零件组合成最终的效果,实现最终效果其实是一个“创造的过程,比方说tabView,treeView,richEditor,colorPicker这种看起来常见的组件,其实在前端里都是没有现成可用的,需要自己去实现。2.前端语言的胶水性需求太强。CSSDOM、JS是三种不同的技术,这也是前端知识系统中要掌握的最重要的三个根本功。server端编程当然也会需要不同方
9、向的知识,比方PHP、SQL等,但server端编程大局部时间只用专注在某一个知识点上,只要必要时粘一下其它语言。但前端不同,前端的效果是通过CSSDOM、JS三者配合起来最终呈现出来的,脱了任何一个技术都寸步难行,时刻要同时考虑多个方向的知识点。换句话说,server端编程像是一个单线程,即使有技术交差,也是串行的,而前端编程像是开了三个线程同时在跑,复杂度是成倍增长的。3.CSS+DOM+JS的组合实在太强大了,同一个效果可以有多种完全不同的实现方式,每一种实现方式都会有不同的开发难度、扩展性、可维护性。解决方案太多,看到一个效果首先会先想到如何用CSS和DOM里那些lowlevel的接口
10、实现,这是一个“创造的过程,这时脑子里可能冒出好多种不同的实现方法,“创造完了之后还要“比拟,权衡各种解决方案的优劣,纠结一阵之后,才能选出最适合的方案。当然,并非前端都是完美主义,一定要选一个最好的方式出来,而是因为前端是GUI编程,直接面向用户,是最直接的产品呈现的局部,是门面。正因为如此,所以前端也是最容易被反复修改的局部。反复修改有多可怕,是个程序员都懂的,如果可维护性不好,那简直是恶梦。所以前端不得不重视可维护性,不重视可维护性直接等于自虐。4.浏览器兼容性。浏览器种类非常多,IE、Firefox、Chrome、Opera、还有众多的IE加壳浏览器,类似搜狗、傲游、360,再加上这些
11、浏览器的移动终端版本。需要有Web标准,前端的知识大局部是通用于各个浏览器,但还是会有历史遗留问题,不同的浏览器有不同的问题特别是市场占有率最高的IE系,就IE自己市面上就有6、7、8、9这4个版本,4个版本之间各有各的问题。如果不积累点经历,面对疑难杂症那是一头雾水。豆瓣前端工程师克军:前端开发的五大挑战第一大挑战:兼容性。虽然微软已经决定将IE6安乐死,IE9/10看起来相当标准。向后兼容似乎轻松了,但向前兼容又开场越来越让人头疼了。Android上的webkit是多么混乱,在桌面浏览器上总是有CSSHack可以摆平,但在mobile上只能考虑退化方案。从兼容浏览器(外加套壳的浏览器)到兼
12、容设备,实际上兼容性变得更复杂了。第二大挑战:交互的复杂度。和目前UI/交互的要求相比,浏览器引擎给我们接口确实太低级了。于是今年前端技术的热门话题是各种Javascript,CSS的预处理器、各种MVC框架和微框架的讨论。第三大挑战:代码可维护性。复杂度的提升直接影响代码的维护性。JS心SS/HTML代码生命周期越来越长,也就越来越需要从代码质量、架构和工具上保证它们的可维护性。代码的历史问题是永远的痛点。第四大挑战:性能。第五大挑战:个人成长。互联网评论员莫言:开发者的思路很重要前端的开发,如果没有总体的设计思路,会成为一种碎片似地程序,一个效果一堆代码,一个功能一滩脚本,一个需求片逻辑,
13、我曾经遇到过,因为ue调整,把整个前端的代码除了核心数据处理函数保存,其余的全部修改的情况。根本上前端的开发,处于DOM操作,数据处理,数据交互三局部,如果合理的分配这三局部的功能,那么前端的代码就很容易扩展和调整。他认为真正的前端开发挑战,还在于开发者的思路。兼容性,布局,CSS和JS都不是问题,问题在于如何合理的组织语言逻辑,如果正确抽象出需求中的模块。如何用代码处理,清楚的用代码表达出思路,清楚的写好注释,给后续维护者一个可阅读的思路。前端的改动量,是后端的数倍,前端没有绝对,只有跟随需求不停的修改。二、Web后端开发面临的挑战:1.第一大挑战,后端开发最重要的挑战,来自于规模规模的扩大
14、,比方访问量扩大,文件存储量扩大,数据量扩大,效劳器数量扩大等。一个前端看起来一模一样的,某一种指标如果扩大十倍,几乎都会面临一大堆的问题和挑战。另一方面,在规模扩大以后,后端系统架构,一定会复杂化。原来只有一台Server,LAMP都装在一起。然后数据库分出来,反向代理,负载均衡,分库分表,Memcache,MessageQueue,事务处理,CDN,NOSQL,种种架构,Server,就逐渐的演化出来了。架构的复杂化,自然会带来更多的问题和更多的挑战。2.第二大挑战,来自于平安平安问题层出不穷,防不胜防。需要技术手段,也需要管理制度。3.第三大挑战,来自于效率能否提供足够的处理速度,能否提
15、供足够的带宽,能否保证响应能力,这些是对外的效率。能否使用更少的效劳器,能否使用更加廉价的效劳器,能否使用更加节省能源的效劳器,这些是对的效率。4.第四大挑战,来自于需求变更当然,无论前端后端,都会面临需求变更,只要是软件开发,这都是大挑战。但是当一个系统已经稳定的,高效的运行时,需求变更来了,在满足需求之后,原本来没有问题的局部,会不会突然崩溃,一旦崩溃,就是后端工程师的噩梦。5.第五大挑战,来自于教条这个世界上有无数IT大公司,他们都很开放,都愿意分享自己的架构与技术。于是,对于“眼界开阔的后端工程师而言,困难不在于如何解决,而在于如何从众多的解决方案中做出挑选。框架、实践不断涌现,成功案
16、例也不断涌现。人家都用得好好的,你敢用吗?底是勇于尝鲜,还是保守要紧呢?这个很难。互联网评论员NeoLee:后端开发的三大法那么1.Designforfailure。后端相当比例的代码不是为了一般情况下正确而存在,而是为了保证特殊或者极端情况下系统可承受的响应而存在的。这里有非常多的折衷要做:渐进改良还是超前设计冰平扩展、业务优化、前台还是后台处理小量的折衷都是要根据不断变化的环境和需求去权衡的,所以很容易犯错。2.Architectureisaboutabstract。为什么要抽象池为抽象的概念有更好的适应性,更易于复用,更能灵活适应变化。但是抽象是很难的,不恰当的抽象更是贻害无穷,要命的是,这些并没有很好的方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏省淮安市2024-2025学年高一第一学期期末调研测试数学试题(含答案)
- 2025年度幕墙工程劳务分包合同风险评估与防控措施3篇
- 2024版:专业技术人员聘用协议3篇
- 2024食用油产品退货及售后服务合同3篇
- 2025年度个人二手房交易税费减免专项合同3篇
- 2024版造林绿化承包合同
- 福建省南平市旧县中学高二数学理联考试卷含解析
- 福建省南平市建州高级中学2021年高一地理下学期期末试卷含解析
- 2024行政事业单位内部控制规范与内部控制风险防范合同3篇
- 2024蔬菜买卖合同
- 《神经发展障碍 儿童社交沟通障碍康复规范》
- 2025年中建六局二级子企业总经理岗位公开招聘高频重点提升(共500题)附带答案详解
- 2025年辽宁省大连市普通高中学业水平合格性考试模拟政治试题(一)
- 2024版户外广告牌安装与维护服务合同2篇
- 云南省昆明市五华区2023-2024学年九年级上学期期末数学试卷
- 安徽省合肥市第四十中学2024~2025学年九年级上学期化学期末模拟试题(含答案)
- 安徽省淮北市(2024年-2025年小学六年级语文)部编版期末考试((上下)学期)试卷及答案
- 注浆工安全技术措施
- 大学生职业生涯规划
- 干燥综合征的护理查房
- 江苏省徐州市2023-2024学年六年级上学期期末科学试卷(含答案)2
评论
0/150
提交评论