15关于大型网站技术演进的思考十五静态化处理前后端分离中_第1页
15关于大型网站技术演进的思考十五静态化处理前后端分离中_第2页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、关于大技术演进的思考(十五) -静态化处理关于大技术演进的思考(十五) -静态化处理前后端分离中面前比放web 前端开上篇里我讲到了一种前后端分离方案,这套方案放到服务端开面前或,很多资深前端工程师看到这样的技术方案可能会有种说不出来心情,工逐越来越专业化的前端开发后,我就时常被这套前后端分离方案所困惑,最近我终于明白了这个困惑的源在哪里了,那就是这套前后端分离方案其实是服务端驱动的前后端分离方案,它的实又是从服务端MVC 架构体系演化而来,因此该方案最大就是它并没有从根本上改变 web 前端从属于服务端的那么问题来了,有没有以 web 前端为驱动的前后端分离方案呢,该方案能让 web 前端的

2、能力获得更大的是绝对有。本篇就要讲讲以 web 前端驱动的前后端分离方案首先要提的就是 javascriptMVC,下面我摘抄的百科里对 javascriptMVC 的解释,具体如下JavaScriptMVCjQuery OpenAJAXJavaScriptMVCMVC开发与测试。由于 JavaScriptMVC 不需要任何服务器端的配合,因此它可以和任何的 服务接口与编程语言整合,如 ASP.NETJavaPerl 、 或 接下来是历史简短和专注在它独特的功能上。3.0201012 月释出。而从 JavaScriptMVC 中所独立出来的 MVC 架构“CanJS”20124百科里的解会发现

3、如下启示,它们分别如下启示一javascriptMVC是一个应用框架的名字jQuery 名是一样的,所以这里我要 一下,本系列里的 javascriptMVC 不是指代这个框架,而是指代的是使用 javascript 语言实现出的一类的 web 前端的 MVC 框架,本系列后面的 javascriptMVC 和前端 MVC 的含义是一致的。启示二javascriptMVC历史里 可以看到第javascriptMVC 产生2008 年,这个历史要远nodejs 出现的时间,这说明了前端的MVC 并不nodejs 的出现而产生的,应该是nodejs 推动了前端的 MVC 框架的应用和普及。启示三百

4、科里有一段解释JavaScriptMVC 不需要任何服务器端的配合,因此它可以和任何的 服务接口与编程语言整合,如 ASP.NET、Jav rl、 、 或 Ruby。这段话说明了前端 MVC 的一个很重要的特点就是前端 MVC 可以摆脱服务端语言的时前端 MVC 又可以和任何服务端语言进行整合,大家可以试想下如果开发的 web 应用前端达到了前端 MVC 的程度,那么公司在招聘 web 前端工程师的时候就不在会问你“你会 java 吗?”或者“你会启示三同时还隐含了一个问题,为什么好的前端 MVC 框架可以做到和任何服务端语言配合呢文中的第一阶段前后端分离方案里就提到了,那就是解决报文格式的和

5、交互接口的的技术手段,前端MVC 和服务端的灵活对接就不会再是问题了。但是仅仅这个达到这个需求还需要解决一个问题,这个问题就是要把服务端 MVC 霸占 web 前端的工作也要抢回来。那如何呢上篇文章里我分析过服务端 3) 的视图,服务端 3) 的视图层技术例如 PGG 里的 PYV 技术,个技术是将NS PGG 代码整合的技术,PGG KH 容器把完毕后最终生成为NZSR 这个 NS 要抢回服务端霸占的 前端的工上篇文章里我分析过服务端 3) 的视图,服务端 3) 的视图层技术例如 PGG 里的 PYV 技术,个技术是将NS PGG 代码整合的技术,PGG KH 容器把完毕后最终生成为NZSR

6、 这个 NS 要抢回服务端霸占的 前端的工就得分下这些动态页面技术到底做了哪些事情特别 前端的事情供的基本数据类型例如:字符、数字、日期等等,要不就是复杂点的数据类型例如数组、列表、键值对等属服务端的动态页面还需要服务端语言帮助做一件事情,那就是把服务端提供的数据整合到页面里,最终的 NZSR 网页,这个操作无非就是使用服的 NS 文件而已。不过一个页面里需要动态变化的往往只是其中一部分,所以做服务端的动态页面开发时可以直接写 NS 代码,这些 NS 代码就等于在构造页面展示的模板而已,而模板的空白处则数据填充,因此在 PGG 的 KH 开发里视图层技术延生出了KIZ_LKKSG 板语言的由来

7、由此可见,服务端 框架里抢夺的 K 前端的工作就是抢占了构建 NS 模板的工作其称之为K 前端的 框架时候对于和服务端对接这块只需要让服务端保持提供数据的特性即可。从这些论述现了,其实前端 框架要解决问题应该有这两个 它们分别是问题一:让模板技术交由浏览器来做,让服务端只提供单纯的数据服务。问题二:模板技术交由浏览器来承担,那么页面的动态性体现也就是根据不同的服务端数据进行页面部分刷新来完成的。问题解决办法那就是使用 GPG 技术,GPG 要让了前端承担模板技术,就得使用 GIXV 的模板技术,时下 GGI 的模板技术可谓是百花,很多朋友曾为这些技术称奇,其实探求它的本源无非就是用 GGIXZ

8、 为基础实现了个 放KRUZ 而已,如果有朋友还没接触过 PIOV 模板技术,可以这里就不展开谈论了里搜索下【PIOV 模板引擎】,本前端的到这里又出现了一个新的疑问,我上面讲到解决前端 两问段是GPG 术,GPG 是异步请求,那么这是不是就是说全部使用异步请就可以实现前端 并且解所有呢这个问题的回答当然是不可能的。一是没法摆脱与异步请求相对的同步请求,就算有把页地址的同步请求问题步做到了极致,但是它也无法摆脱用户第一把异步操作做到极致也无非就是做成了一个纯粹的单页面形式而已很多人一听到就觉得好牛 就意味要运的 PIV 编程和 *53 编程,前端代码难度也会大大增强,好的单页面应用如果这个应用

9、包含复杂的业务逻辑,那么单页面前端开发里很可能还会使用到如今很火爆的 PGIV 模块技术例WK 或者 YKGPY 技术,单页面听起来实在太完美了,但为单页面泼泼凉水了,具冷静下来思考下,单页面真的泼凉,但是并不代表用户看到的网页就是一个样子的,单页面GPG 的超强能力了,单页面不同模样的展示都是在 PIOV 代码里实现的,那么问题来了,单页面对于搜索引擎的网络爬虫就非常不友好了,因为网络爬虫是根据 抓取页面,抓取完毕后会忽略 PIV 代码,那么单页的设计方案就会导致 9+5 优化只能作用于首页,其他页面将无非有效的被 9+5 技术进行优化泼凉水二:一做成单页面以后那不同的展示都在一个 下面,但

10、是如果有些用户只是的某一部分功能很,而这部分功能又不是被单页面的唯一同步请求所展示的首页里的内容,那么结果就时候都要手动操作一下才能进入自己想要的功能页面里,假如首页进入功能页面的操作骤比较繁琐,那么这个必然会导的单页面的状态问题,这状态可以帮助首页能快速切换到具体的功能页面,要让客户端网页 了器支持 html5,那么保存段,能力也更强了是和客户端紧耦合的,那么如果碰到种情况就会出现问题了,例如如果有个人发现里一个很有趣的功能,这时候他正好和友 聊天,他告诉了他的朋友,他的朋友也该,让他发过来,那么这个朋友就不得不在从首页在重复作一遍,由此可的单页面的状态问题,这状态可以帮助首页能快速切换到具

11、体的功能页面,要让客户端网页 了器支持 html5,那么保存段,能力也更强了是和客户端紧耦合的,那么如果碰到种情况就会出现问题了,例如如果有个人发现里一个很有趣的功能,这时候他正好和友 聊天,他告诉了他的朋友,他的朋友也该,让他发过来,那么这个朋友就不得不在从首页在重复作一遍,由此可见段并没有全面解决这个问嘛是还真有,那就是使用 html ,的形式如下所示下面是我摘抄百科对的解释 的 的内容,个人上增加 ,锚文本为 “搜索引擎”。这样通过 改变一下 url 上的锚文字,反过来说使用锚文字做路由器,让其可以 由到对应的功能页面那么上我这里要补充一些知识,首先只能在客户端进行,但是传统的的变化是很

12、难被 javascript 语言发送到服务端的,那想改变控到的,直到 html5 的出现才从根本上解决了这个问题,html5 提供了 hashchange 事件,该事件可锚接的变化,因为 javascript 语言可的浏览器该怎么办了?这个主要是 锚的变化,那么使路由功能页面就成为了可能了,其实 ie8 包括 ie8 都支持 hashchange 事件,过 jQuery 有个插件可以让低版本的 ie 支持 hashchange 下啊一个问题,那就是讲到 web 前端技术引擎能不能智能化再厉害点了。这里加个题外话,我最近几天突一定要加强对 SEO 的思考,因为绝大多都会把搜素引擎当的生命线,这是

13、一个很难回,思考,这必然会导致整个架构变化。这个问题我会在静态化角度审视前后端分离方案时候重点讲下 会发的谈论里缺了一环那就是MVC 的M 层模型层,web 前端要侵入模型层了,这不就等于 web 了,它不仅仅想改变从属服务端的悲惨命运,还要抢夺服务端的部分能,让服务端成为浏览器对应系统,这不是无异于虎口夺食,在时下服务端如此强势的大环境下,这种实在的东西很讲道理的,只要道理站得住脚怎么个做法都是其次,回到问题本身,我个人觉得在 PC web 前型层其实往往利大于弊,就安全而言,模型层意味有大量业务逻辑推移到 web 保障难度会加大,就技术难度而言,web 型层会让 javascript 法简

14、直就是活得不耐烦了,哈哈,当然这是戏言了,做技术做工程还是要讲求个合理性和逻辑性的,技术和工程都管做的如何优秀,假如用户很难找到它,那一切都将会是百搭,端设计里要加入 SEO 这边,如解决这个问题,那只能是抛弃 javascript 了,这个玩笑就开大了,所只好祈求各大搜url#文字,锚的起始标记是#号,这个#号的内容其实是属于浏览器端的,也就是说#包括#号后面的内容是不会 要结合业务做仔细的权衡,其实我现在接触的一些说包含模型层能力的前端框架在实际运用里模型层的功能还是使用太少,不过这个问题如果放到移动端,或者是6)和移动端融合可能就会有些不同,这个问题我将在本系列的终篇里再谈谈,这里也不累述了。说到这里需要总结下了要结合业务做仔细的权衡,其实我现在接触的一些说包含模型层能力的前端框架在实际运用里模型层的功能还是使用太少,不过这个问题如果放到移动端,或者是6)和移动端融合可能就会有些不同,这个问题我将在本系列的终篇里再谈谈,这里也不累述了。说到这里需要总结下了,前端的 不应该等于单页面开发,前端 也不是把GPGP 用到极致,根据实业务场景需要适当的把同步请求和异步请求结合起来。如果前端 里包含同步请求,那么对于 里的 ) 层即控制层就会有更高的要求

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论