前端和后端是计算机行业最常用的两个术语;在某种程度上,它们成了流行语。它们决定了你作为软件开发人员的工作类型、你使用的技术以及你得到的报酬。如果你对前端感兴趣,可以来达内教育报名参加Web前端培训,通过系统全面的学习和专业老师的面授指导教学,你可以获得快速进步。那么前端开发该如何与后端开发合作?下面小编详情为大家解析,一起来了解吧。
一、前端开发该如何与后端开发合作?
(1)前后端分离
前端与后端的分离,能使前端的开发脱离后端的开发模式,拥有更大的自由度,以此便可做前端工程化、组件化、单页面应用等。
(2)尽量避免后端模板渲染
web 应用的渲染方式分为服务器端渲染和客户端渲染,当下比较推荐的方式是客户端渲染,数据使用全 ajax 的方式进行交互。
除非在一些不得不使用服务器端渲染的情况下(如门户、电商等),应当尽量使用客户端渲染,因为客户端渲染更能使前后端分离(项目分离、代码解耦、协作分离、职责分离等),也能更好的做本地接口模拟开发,提升开发效率。
即使用服务器端渲染,在技术支持的条件下,可以使用 node 中间层(由前端人员开发),代替传统的后端模板渲染,这样可以使后端与前端完全解耦,后端与前端只有数据上的往来。
(3)尽量避免大量的线上调试
做好本地接口模拟开发(包括后端模板渲染),避免大量的线上调试,因为线上调试很不方便,也很费事,并且每次更新代码,都需要重新构建,然后同步到服务器。
所以做好本地接口模拟开发,只要程序在本地运行是没问题的,一般线上就不会有太大的问题,这样就能大幅降低调试工作量,提升开发效率。
(4)本地接口模拟开发
本地接口模拟就是在本地模拟一个与服务器差不多的环境,能够提供数据所需的接口,进行错误模拟处理等等。
本地接口模拟开发的意义就在于能够在本地完成几乎所有的开发与调试,尽量减少线上的调试,提高开发效率。
一些常用库:
browser-sync:能让浏览器实时、快速响应文件更改( html、 js、css、 sass、 less 等)并自动刷新页面,并且可以同时在PC、平板、手机等设备下进行调试。
webpack-dev-middleware:A development middleware for webpack。
webpack-hot-middleware:热更新本地开发浏览器服务。
另外,本地接口模拟开发需要后端开发人员有规范的接口文档。
(5)规范的接口文档
前端与后端协作提升开发效率的一个很重要的方法就是减少沟通:能够形成纸质的文档就不要口头沟通、能够把接口文档写清楚也不要口头沟通(参数、数据结构、字段含义等),特别是线上协作的时候,面对面交流是很困难的。
一个良好的接口文档应当有以下的几点要求与信息:
格式简洁清晰:推荐用 API Blueprint
分组:当接口很多的时候,分组就很必要了
接口名、接口描述、接口地址
http 方法、参数、headers、是否序列化
http 状态码、响应数据
接口文档可以用一些文档服务(如 leanote)来管理文档,也可以用 git 来管理;书写方式可以用 markdown,也可以 YAML、 JSON 等。
推荐使用 markdown 方式写文档,用 git 管理文档。
(6)去缓存
前端需要做好去客户端缓存的功能,保证用户始终都是使用的最新资源,不会因为因为缓存的问题而出现 bug。
传统的去缓存是在静态资源 url 上加上版本号或者时间戳,不过因为构建工具的出现以及一些浏览器已经不支持这种方式了的缘故,这种方式已经是过去时了。
现在去缓存是将文件 hash 化命名,只要文件变动,文件名就会不一样,以此才能彻底的去缓存。如果使用 webpack 进行打包,会自动将所有文件进行 hash 化命名。
(7)做好错误处理
前端与后端都需要各自做好错误处理,以便发生错误能够有友好的提示,也能在用户反馈时快速准确定位错误来源和原因。
一般前端的错误分为:
脚本运行错误: js 脚本错误,找到堆栈信息,然后解决
接口错误:服务器报错、数据返回不对、没有响应数据、超时等
而接口错误分为:
状态码错误(状态码非 2XX):服务器报错、超时等
数据错误:没有响应数据、数据格式不对、数据内容不对
(8)运行时捕捉js脚本错误
当用户在用线上的程序时,怎么知道有没有出 bug;如果出 bug 了,报的是什么错;如果是 js 报错,怎么知道是那一行运行出了错?
所以,在程序运行时捕捉 js 脚本错误,并上报到服务器,是非常有必要的。
(9)移动端远程调试、vConsole、TBS Studio
因为移动端的开发无法像 pc 端开发一样使用 Chrome 的开发者调试工具,所以调试移动端需要一些额外的技巧。移动端应用一般都运行在微信浏览器中、 webview 中、手机浏览器中。
远程调试(Remote Debugging)
远程调试就是通过 USB 连接、端口转发、搭建代理等方式,将一个设备的 web 页面映射到另一个设备上,比如将手机的 webview 映射到 pc 上,达到调试的目的。
移动端 web 应用调试难题从一开始就有,不过后来浏览器厂商基本都推出自己的远程调试工具来解决这个问题,包括 OperaMobile、 iOSSafari、 ChromeforAndroid、UC 浏览器等,另外还有一些第三方开发的远程调试工具,比如 weinre等。
(10)前后端并行开发
正常情况下,前端的开发在完成 UI 或者组件开发之后,就需要等后端给出接口文档才能继续进行,如果能做到前后端并行开发,也能提升开发效率。
前后端并行开发,就是说前端的开发不需要等后端给出接口文档就可以进行开发,等后端给出接口之后,再对接好后就基本上可以上线了。
在本地化接口模拟的实现下,就可以做到前后端并行开发,只是在代码层面需要对 ajax 进行封装。
关于达内教育
达内教育集团成立于2002年,是一家由留学海归创办的品牌职业教育培训机构,是中国一站式人才培养平台、一站式人才输送平台。2022年4月3日在美国成功上市,融资1亿美金,是中国首家在美国上市的职业教育集团,成立至今,已形成高端培训、高级人才、青少培训、高端软件为一体的多元化、综合性的职业教育及人才服务IT培训机构。
达内教育包含的课程方向有:JAVA企业级应用软件工程师、Java互联网架构软件工程师、Java大数据工程师、Web前端开发工程师、网络运维与网络安全、Linux云计算工程师、Python 人工智能软件工程师、国际嵌入式软件工程师、C 国际软件工程师、PHP/web.3.0互联网工程师、国际软件测试工程师、Android软件工程师、IOS软件工程师、.NET软件工程师、全链路UI设计师、商业插画、商业视觉设计课程、产品级UED交互设计师、全栈式CAD设计师、产品经理、VR开发工程师等等培训课程,想了解更多在线点击【预约咨询】。
【达内教育】课程预约及活动咨询联系电话:400-0808-102
线上线下深度融合,OMO模式锋芒毕露
达内的线上线下融合的OMO模式,不仅仅包括课程教学,而是从招生、学员服务、在线教学、学员与老师实时沟通互动到学习平台的保障,学员就业技巧的传递,以及推荐就业在内的整套服务体系的融合并重,一体化的学员管理、全流程的品保服务,解决了学员课程从学习到就业的一系列难题。达内教育将线下教育、线上课程、双师课堂等在内的所有数据全打通,形成线上线下联动的全场景教学闭环,为学生提供了高品质、全场景、个性化的学习体验。随着互联网技术的发展,达内教育依靠科技的力量,结合达内目前现有的大数据的数据行为分析,进一步推动线上线下教育的深度融合,持续引领我国职业教育的发展。
中国IT职业教育领军企业 达内时代科技集团有限公司(简称达内教育),美股交易代码:TEDU,成立于2002年。 2014年4月3日成功在美国上市,融资1亿3千万美元。成为中国赴美国上市的职业教育公司,也是引领行业的职业教育公司。 达内致力于面向IT互联网行业,培养软件开发工程师、测试工程师、系统管理员、智能硬件工程师、UI设计师、网络营销工程师、会计等职场人才。2015年起,推出面向青少年的少儿编程、智能机器人编程、编程数学等K12课程。 达内的使命:缔造年轻人的中国梦、缔造达内员工的中国梦 达内的愿景:做管理-的教育公司 开设课程 达内时代科技集团成人类课程方向:Java企业级应用软件工程师、Java互联网架构软件工程师、Java大数据工程师、Web前端开发工程师、网络运维与网络安全、Linux云计算工程师、Python 人工智能软件工程师、-嵌入式软件工程师、C++-软件工程师、PHP/web.3.0互联网工程师、-软件测试工程师、Android软件工程师、IOS软件工程师、.NET软件工程师、全链路UI设计师、商业插画、商业视觉设计课程、产品级UED交互设计师、全栈式CAD设计师、产品经理、VR开发工程师、VR次世代模型师、-网络营销师、新电商运营官、企业级影视视效、人力资源经理人课程、总账会计课程

江苏省
苏州市沧浪区东吴北路221号惠康新地5楼
南京市秦淮区中山东路532-2号 南工院金蝶大学科技园A2栋2楼
南京市雨花台区软件大道66号华通科技园一楼105室
南京市秦淮区中山东路532-2号 南工院金蝶大学科技园A5栋2楼
无锡市新区湘江路2-3金源国际大厦A座1506
北京|上海|广州|深圳|南京|成都|武汉|西安|青岛|天津|杭州|重庆|厦门|哈尔滨|济南|福州|沈阳|合肥|郑州|长春|苏州|大连|长沙|昆明|温州|太原|南昌|无锡|石家庄|南宁|中山|兰州|佛山|珠海|宁波|贵阳|保定|呼和浩特|东莞|洛阳|潍坊|烟台|运城






















