深圳搬家搬厂网站建设公司
当前位置:网站首页 > 建站百科 > 网络公司做网站注重前后分离 返回列表

网络公司做网站注重前后分离

发布时间:2019-01-10来源:admin
网络公司做网站注重前后分离,什么是前后端分离,传统开发模式相信很多做过Web开发童鞋应该都会经历这样一种开发模式,利用后端语言提供的模版引擎编写HTML/XML页面,比如:<br /> <br /> PHP 开发有 Smarty模板引擎<br /> <br /> Java web工程有jsp页面<br /> <br /> Python 各个Web框架都有各自的模板引擎<br /> <br /> NodeJS 的express你懂得<br /> <br /> 都有一个共同的特点,服务器端后台语言生成解析后的HTML/XML格式返回给客户端,例如浏览器端访问直接返回解析好的HTML,浏览器直接就解释执行。<br /> <br /> 在传统的像ASP,JSP和PHP等开发模式中,前端是处在一个混沌的状态中,可以说是没有独立的“人格”可言。<br /> <br /> 前端负责切图和编写静态页面模板,后端将数据渲染到前端提供的页面模板中,最后将页面渲染到浏览器展示。<br /> <br /> 这个过程中,前端只提供页面模板或者写一些JavaScript脚本,有的甚至JS脚本都是后端来写,前端的作用只局限于切图和样式模板文件,这种角色就是传说中的“切图仔”。<br /> <br /> 前后端分离,不只是简单的代码的分离。<br /> <br /> 首先是要架构上分离解耦,逐渐摆脱前后端在架构上的依赖,前后端各司其职,分开部署在不同的服务器上,通过RESTful接口传递数据。减轻后端服务器的压力,后端服务器不再负责页面渲染,只负责输入数据,吞吐量提升了好几倍。<br /> <br /> 其次是逻辑分离,不分离的时候,对于业务代码的界限很不明确,业务逻辑基本都放在后端,分离之后,前端也承担了一部分不该后端来写的业务逻辑,数据处理更加清晰。<br /> <br /> 最后是系统分离,同一个后端系统,可以将同样的接口数据提供给PC端、Mobile端和Native端等不同的前端终端,不需要为每一种终端提供一套接口。同样,对于前端应用来说,可以更方便的调用多个后端服务器的接口,处理和展示多个系统间的数据。<br /> <br /> 为什么要前后端分离<br /> 前后端分离,让软件开发的流程更加清晰,解决了开发阶段的痛点。<br /> <br /> 从前,前端不止要学习后端的模板渲染语法,还要配置后端的开发环境,并不断同步后端的代码,这对于前端来说是非常痛苦的。<br /> <br /> 而现在,前端有自己的服务器,不需要再依靠后端服务器来支持项目运行,如果在开发阶段,还可以使用mock数据(要先和后端确定接口数据结构),摆脱对后端接口的依赖,这样极大的提高了开发效率,系统分工也更加明确。<br /> <br /> 前后端分离后,需要考虑哪些事情<br /> 分离后的前端,不再是一个简单的HTML文件,已经是一个独立的应用系统。除了要考虑页面的数据渲染展示,还要用工程化的思想来考虑前端的架构,前后端的交互和数据安全等事情。<br /> <br /> 架构<br /> **前端应用部署在Nodejs、Nginx或者Nodejs和Nginx组合的服务器上,通过反向代理转发页面请求到后端服务器,相当于在传统的流程中加了Nodejs这一层。**当然,也可以用Nodejs服务器来承担一部分负载均衡的工作,业务逻辑也可以放在Nodejs这一层来处理,例如:通过判断请求是来自 PC 还是 APP ,将请求发到不同的后端服务器<br /> <br /> Nodejs的架构中,分层如下<br /> <br /> 让我们来回想一下软件开发流程中的几个关键环节:<br /> <br /> (1)产品经理提需求,画原型;<br /> <br /> (2)UI设计师根据原型出设计图;<br /> <br /> (3)测试团队根据产品原型编写测试用例,制定测试计划;<br /> <br /> (4)架构师根据原型编写API文档;<br /> <br /> (5)前后端工程师基于API文档完成业务开发;<br /> <br /> (6)测试、改BUG、发布。<br /> <br /> API文档环节直接关系到了前端和后端两个开发团队,也是整个软件开发流程中耗时最大的环节。<br /> <br /> RESTful接口交互<br /> 前后端分离之后,更多的是采用 RESTful 风格的接口与后端进行数据交互。(如果你们的项目还在使用静态的API文档,比如word文档,那你们必定经历着巨大的痛苦)<br /> <br /> REST是“呈现状态转移(REpresentational State Transfer)”的缩写,一种API的架构风格,在客户端和服务端之间通过呈现状态的转移来驱动应用状态的演进。<br /> <br /> 在 REST 样式的 Web 服务中,每个资源都有一个地址。资源本身都是方法调用的目标,方法列表对所有资源都是一样的。这些方法都是标准方法,包括 HTTP GET、POST、PUT、DELETE,还可能包括 HEADER 和 OPTIONS。<br /> RESTful的API设计,使得后端通过接口向前端传递数据,数据的格式通常是JSON这种通用的格式。对前端来说,只要后端返回过来的是RESTful的数据就行,不管后端是用Java写,还是用python或PHP,拜托对后端的依赖,做到前端系统的独立。<br /> <br /> REST服务的调试:Postman 和 Insomnia<br /> <br /> 使用模板引擎<br /> 前后端分离之后,前端工程师需要将通过API获取的数据呈现到页面上,虽然也可以通过jQuery对页面一个一个赋值,但是这种效率太低了,或者也可通过在JavaScript中拼接HTML,但是这种方式太难维护HTML代码了,也很难阅读。因此最好的方式就是使用模板引擎。<br /> <br /> 前端的模板引擎跟后端模板引擎很相似,比如JSP或cshtml(razor),他们的语法都非常相似,他们所实现的功能也几乎一样:将数据绑定到HTML模板。VueJs和react都可以充当这样的模板引擎。我们最终没有选用react而是选用了VueJs的原因只有一个,那就是VueJs是真正的响应式,而react改变model之后需要手工调用setState才会更新UI,这是完全无法忍受的。<br /> <br /> 因为这个原因,我们只能选择VueJS作为模板引擎。<br /> <br /> 工程化构建<br /> Nodejs不止可以用来做前端服务器,在开发阶段,它也能发挥很大的作用。<br /> 前端生态的发展,是围绕着Nodejs进行的。用npm来管理项目依赖,可以很好的维护和运行在Nodejs环境上。<br /> 打包工具grunt、gulp、webpack和rollup等,都是运行在nodejs上,再结合语法编译、打包部署等插件,将应用输入成一个完整的应用。<br /> 如果你使用了Angular、React或Vue框架,或者你使用浏览器暂时还不兼容的ES6语法,还需要在应用打包前用babel将语法编译成浏览器可识别的ES5的语法。<br /> <br /> SPA<br /> SPA是单页Web应用(single page web application,SPA)的简写,就是只有一张Web页面的应用,是加载单个HTML 页面并在用户与应用程序交互时动态更新该页面的Web应用程序。<br /> <br /> 像Angular、React或Vue就是为了SPA而设计的,结合前端路由库(react-router、vue-router)和状态热存储(redux、vuex)等,可以开发出一个媲美Native APP的Web APP,用户体验得到了很大的提升。<br /> <br /> 当然,SPA也不是完美的,也不是适合所有的web应用,需要结合项目和场景来选择。<br /> <br /> SPA有如下缺点:<br /> <br /> 初次加载耗时增加。可以通过代码拆分、懒加载来提升性能,减少初次加载耗时。<br /> <br /> SEO不友好,现在可以通过 Prerender 或 Server render 来解决一部分。<br /> <br /> 页面的前进和后端需要开发者自己写,不过现在一些路由库已经帮助我们基本解决了。<br /> <br /> 对开发者要求高,由于做SPA需要了解一整套技术栈,所以,要考虑后期是否有合适的人选进行维护。<br /> <br /> mock(模拟数据)<br /> 前后端分离框架中的API mock思路<br /> 想要实现真正的前后端分离,那就必须得用好API mock(模拟数据)。使用mock数据的好处有两个:<br /> <br /> 前端开发人员可以基于API文档生成mock数据,在后端开发人员将API发布出来之前就可以完成整个业务流程的开发;<br /> <br /> 使用mock数据能够更低成本、更快速地,通过直接修改mock数据的方式,调试页面样式、调试页面功能。<br /> <br /> 全局的mock开关<br /> 为什么要设置这样一个全局的mock开关呢?主要基于以下两点考虑:<br /> <br /> 设置全局的mock开关之后就不再需要针对每一个页面设置mock开关,更容易维护,避免项目中有多个mock开关而难以统一开关状态;<br /> <br /> 如果发布时忘记将mock开关给关掉,那么发布之后一运行发布者就会发现mock开关忘了关,然后可以快速修复之后再重新发布,从而避免不小心将正式服更新为mock数据源。<br /> <br /> 正是由于以上两点考虑,我们的全局mock开关可以帮助程序开发者和发布者更不容易犯错。<br /> <br /> 解决请求问题<br /> 前后端分离后,我们只需要Server端告诉我们Api URL即可,那么这会产生一个问题:Ajax跨域。这里就不能使用一般的跨域解决方法去解决,比如jsonp,iframe信使等等,因为我们还有POST请求。<br /> <br /> 于是Http Proxy类工具就有用了,比如我就会在BrowserSync加入中间件判断每一个请求,如果是/api前缀就会代理到API Server端,API Server端收到数据后再返回给BrowserSync,BrowserSync再返回给浏览器端。这样就解决跨域请求的问题<br /> <br /> 生产环境有两种部署,一种是放到后台项目里,这就没啥说的,另外一种就是前后端分开部署,那就在前端WebServer处理端写点转发规则就好,如Nginx,Apache都支持。<br /> <br /> 静态资源路径问题<br /> 如果你的项目有上传资源功能,那自然就会产生用户资源,那前后端分离后,如何来处理这个问题呢?得先看模式。<br /> <br /> 资源与后台项目放一起,后台处理完后需要返回前台一个相对路径,如果资源时一台单独的服务器,那就需要返回资源的绝对URL即可。<br /> <br /> 会话<br /> Web项目最头疼的就是无状态导致会话问题,传统的Web项目都使用Session/Cookie,但在前后端分离,集群部署模式下这Session明显缺陷太多。token方式已经是当前Web端解决会话的主流,并且有很多开源好用的token生成管理程序,基本上拿来就能用。<br /> <br /> 做网站公众平台每天为您分享原创Web开发资讯,开发经验,为您的技能充电。期待您的关注与分享,同时欢迎您留言,让我们每天进步一点点!<br />
联系方式:   0755-84185494

阅读过此文章的读者,还阅读过下面的文章

  • 深圳网站制作好后来年到期了该怎么办
    <p> 深圳网站制作好后来年到期了该怎么办,不管是个人还是公司,要想制作好一个网站真的不容易,不仅仅需要做网站前期的规划和策划工作,还需要对网站建设的栏目,内容进行填充和建设,面对这一堆的要求和东西,整体还是比较麻烦和费事的,所以,网站建设制作好之后,一定要注意来年的续费问题,好多公司不注意这个问题,造成了网站后期打不开了,不能正常方面了,出现了问题才想起来网站没有续费,接下来我们来看看深圳网络公司是如何建议的。 </p> <p> 1.域名到期的影响<br /> &nbsp;一般情况下,网站域名需要一年进行一次续费,也可以一次购买多年,如果域名到期没有及时续费,网站就会打不开,域名续费期一般是一个月,过了这个时间就会进入赎回期,这时候就不能续费了。<br /> &nbsp;2.服务器到期的影响<br /> &nbsp;服务器到期与域名一样,到期后网站同样不能打开,如果之前网站在做推广,会直接影响展现效果,长时间不续费的话,网站数据就会全部删除了,之前的努力就全白做了。<br /> &nbsp;3.网站维护服务到期<br /> &nbsp;有些网络公司服务商会有网站维护费用,一般都是一年为一个期限,如果到期后您没有及时维护,网站出现问题后就不会有人给您维护,就会造成影响。影响最大的就是网站展现的效果。<br /> </p>
  • 深圳做网站公司做网站时要明白这些
    <p> 深圳做网站公司做网站时要明白这些。其实做网站有的时候不仅仅是在做网站,更多的是在帮助其他公司在做网络宣传门户,站在这个角度上你就知道你所承担的责任了,作为现在公司网站建设不仅要符合时代潮流,更多的需要紧扣时代网页设计特色和要求,只有这样制作设计出来的网站才能更好的满足现在人们的使用要求和观念的,不管是在网站设计理念,网站布局规划,以及网站内容建设等等,这些方面都需要进口时代主题和要求的,接下来我们来看看深圳网站制作公司是如何做的,需要做好那些方面的要求和规范呢? </p> <p> 审美在变,网站设计要紧跟潮流<br /> 也许用户访问时,不会逐一阅读网站内容,但首先映入眼帘的一定是设计。也许网站在几年前设计制作的确实很漂亮,但是我们无法否认的事实是,用户对网站设计的审美一直在不断改变。这个比较容易对比,随便找一个行业,然后通过百度搜索到十家网站,分别对应年份和网站的网址,让一个不知情的人去逐一打开并评判感受。大体趋势是越是新近设计制作的网站,越容易赢得用户的接受承认。其实这就是用户的真实感受,每年快速改版重做对于很多公司来说有些压力,但是笔者认为一般而言网站2-3年是需要重新设计制作快速的。一个通过网站寻找供应商的用户,其浏览网站一般也就几十秒到几分钟时间,先进的网站设计效果是吸引其深入了解进而咨询的较好方法。<br /> 技术在变,网站制作要贴合需求<br /> 周围的一切都在发生着巨变,网站技术也是如此,此前被很多网站公司采用的ASP网站开发语言几乎已经没人使用,相对于传统的PC端网站,现在更多看重的是移动端,公司设计制作的网站现在多为自适应PC端、PAD端以及手持移动终端的响应式网站。谁也不知道网站技术会走向哪个方向,但是对于普通的企业而言,我们可以把握趋势,至少每隔两三年对网站重新快速设计制作。<br /> 企业在变,网站建设要适应发展<br /> 网站总是为企业服务的,换句话说就是网站的设计制作需要跟上企业的发展步伐。现在急剧变化的市场面前,如果想立于不败之地,企业的经营策略一定在不断调整优化。作为给企业发展提供服务的网站,其理应不断调整不断优化以适应公司需求。现在是互联网时代,用户了解公司更多的也是通过网络,网站不仅是营销的工具,更是企业品牌形象的展示窗口。由于人力成本的不断升高,而网站设计更多的需要技术人员手工完成,所以真正定制开发的网站都价格不菲。但是同样是网站建设公司网站改版也不一定就选择定制,如果有合适的模板网站,也是不做的选择。我们需要的是一个紧跟时代和用户需求的网站,而非一定采用哪种方式实现它。 </p>
  • 英文网站制作需要注意那些问题和事项
    英文网站制作需要注意那些问题和事项。英文网站制作还是跟中文网站制作有比较大的区别的,应为中文网站面对的客户群体是国内的用户,而国内的用户对网站的使用习惯,要求都是跟国外不一样的,从而在制作英文网站的时候,一定要注意,像这种英文网站制作还是需要从国外人使用网站的习惯,使用网站的一些喜好出发,只有这样制作出来的网站满足国外人的使用的,这是一个方面,另外一个方面就是国外网站面对的搜索引擎,也是不一样的,国外的搜索引擎跟国内有着比较大的区别的,搜索引擎也是制作英文网站必须要考虑的一个方面了,最后就是网站制作价格方面了,一般英文网站制作价格要比国内的网站制作价格高一些,这是一定的,毕竟国外网站制作的细节要求,以及针对搜索引擎优化方面还是有比较高的要求的,所以,这些都是工作量,也都是需要处理好这些方面的细节工作的。
  • 网站设计公司的发展趋势详解
    <p> 网站设计公司的发展趋势详解,目前网页设计公司慢慢的转型升级成为一种综合性的设计公司了,不仅仅是在网站设计了,如果单纯的依赖于网站设计,对于这样的公司来说现在还是很被动的,并且目前的网站制作价格已经白热化了,竞争也是很大的情况下,好多公司已经赚不到什么钱了,面对这样的市场形式,作为网站设计公司要不断的扩大和尝试新的方式和方法,实现公司业务的升级和转型,这也是摆在深圳<a href="http://www.szbc888.com" target="_blank"><strong>网站制作公司</strong></a>面对不可逾越的一个问题了,毕竟现在网站制作公司的活量不大,如果养一个专业的网页设计技术团队专门作网站,根本养活不了这样的公司的发展了,更多的还需要通过其他的渠道,其他的平台上获得更为有质量的客户,这也是当下网站制作公司不得不面对的一个话题了。 </p> <p> <img src="static/picture/20231030113846_47114.jpg" alt="" /> </p> <p> <a href="http://www.szbc888.com" target="_blank"><strong>网页设计公司</strong></a>业务范围扩大,于是着这个网站制作行业市场需求量在逐渐的缩小,并且凡是使用到网站的多半集中在一些公司,单位方面的需求了,对于一些个人对网站的需求还是很少的,除非一些专业化路线的个人才会这样做的,网站设计公司的转型升级,不仅提升的服务质量,更多的将服务方位不断的扩大,从而得到更好的市场群体,能够为更多的市场客户服务。 </p>
  • 网站制作低价格策略已经成为网站制作行业的杀手锏
    <p> 网站制作低价格策略已经成为网站制作行业的杀手锏,整个大环境不好的情况下,好多公司在制作网站的时候,已经在想尽办法降低网站制作的成本了,从当初的网站制作就直接去搜索引擎上搜索网站制作公司了,而如今制作网站已经发生变化了,从搜索引擎走向了淘宝,拼多多这些低价平台了,并且这些平台都是担保交易了,好多的需要<a href="http://www.szbc888.com" target="_blank"><strong>制作公司网站</strong></a>的商家慢慢转向这个方面来了,所以制作出来的网站不是模板的就是仿制的网站,价格的确很低,并且效率也是很高的,这也是聪明的用户慢慢的转型和变化了,如果这些模板网站放在搜索引擎来的客户的话,这些网站制作下来的费用基本上在好几千了,面对这样的市场转型和升级,这也让好多网站制作公司寻找不同的出路了。 </p> <p> <img src="static/picture/20231030113212_16069.jpg" alt="" /> </p> <p> <a href="http://www.szbc888.com" target="_blank"><strong>深圳网站制作</strong></a>的价格的确没有那么低,但是作为一些低价平台上的用户,他们为了争取到客户,低价引流,从而实现了低价格制作网站的形式,作为网站制作公司,你这样低价格去做的目的就只有一个,那就是辛苦转不到钱的,都是转一些辛苦钱而已,面对这样的市场形式和要求,作为网站制作公司一定要不断的提升网站制作的附加值,提升<a href="http://www.szbc888.com" target="_blank"><strong>网站制作</strong></a>的质量,让用户以质量取胜,不能专门走低价格战略,不然你的公司是发展不起来的,也作不大的,作为用户而已,你公司小还可以这样去做,如果公司发展到一定程度的去制作网站,这对于你的公司来说是灭顶之灾了,所以选择网站制作公司还是要从专业的角度出发去帮助客户解决实际的问题,从而实现网站制作公司的价值和效益。 </p>
  • 深圳网站定制开发全流程详解
    <p> 深圳网站定制开发全流程详解,作为网站定制开发公司接下来给大家普及一下网站定制究竟要经过那些过程呢,前期的网站沟通肯定是少不了的,除此之外,网站备案这块也是需要的,只要是正规的公司,正常的流程,网站备案也是需要做的,剩下的就是网站制作过程中的一些沟通了,接下来我们来看看<a href="http://www.szbc888.com" target="_blank"><strong>深圳网站制作</strong></a>公司的一个标准的流程。 </p> <p> 需求分析: 通过对客户业务的了解和与客户对流程的讨论对需求进行基本建模,最终形成需求规格说明书<br /> 总体设计: 通过分析需求信息,对系统的外部条件及内部业务需求进行抽象建模,最终形成概要设计说明文档<br /> 详细设计: 此部分在对需求和概要设计的基础上进行系统的详细设计(也包含部分代码说明)<br /> 开发编程: 对系统进行代码编写<br /> 测试分析与系统整合: 对所有功能模块进行模拟数据测试及其它相关性测试并整合所有模块功能<br /> 现场支持: 系统上线试运行进行现场问题记录、解答<br /> 系统运行支持: 系统正式推产后,对系统进行必要的维护和BUG修改<br /> </p>

Copyright © 2015 深圳市鑫惠广网络科技有限公司 粤ICP备2023111395号