可复制的前后端分离开发模式_第1页
可复制的前后端分离开发模式_第2页
可复制的前后端分离开发模式_第3页
可复制的前后端分离开发模式_第4页
可复制的前后端分离开发模式_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

Cisco

WebEx–杜欢dh20156@126.comWEB开发方式历史回顾问题与挑战迎接挑战组织结构上的前后端分离F2E

&

SDE改变的意义开发模式上的前后端分离合理的开发流程Yahoo!的分离开发经验全新的思想-可复制的前后端分离开发模式验证与实践面临的问题:开发人员:学习成本高,学习不够深入;企业:招聘成本高,较难招聘到各方面都符合预期的员工面临的问题:多数开发人员需要参与到开发的全过程,数据库,服务端和客户端,但每个领域都缺乏深入的专业的支持开发资源紧张,容易出现不合理的任务分配,所有项目组人员都要从头做到尾,从数据库设计到客户端页面,时间紧,效率低,无论是对员工情绪、项目质量、公司信誉,都将带来不好的影响。如何降低招聘成本?如何提高项目质量?如何完善开发资源分配?

如何提高企业的专业形象?如何为员工提供技能升级的空间?如何为员工提供更好的职业规划指引?F2EFront

End

Engineer泛指WEB前端开发SDEServer

Develop

Engineer泛指WEB后端开发每个部门各司其职,对各自负责的领域可以进行深入研究及长期积累组织结构Team

LeaderTechnic

LeaderTeam

member企业√提高生产力√提高项目品质√降低招聘成本√提升专业形象员工√做自己想做的事√具备成为领域内专家的基础√获得更为清晰的职业规划路线明确的需求F2E前端变动的需求转换成明确的需求非紧急,重大变动的部分可以版本更新的方式进行处理制定适合的“需求更改”流程PHPMaple

System

+

PHP存在的问题在页面中找到要替换的假数据有点困难,需要“淡定”经常弄丢HTML中的字符、引号、结束符等等SDE表示“压力很大”SDE套页后的页面拿到前端跑不起来QA需要等到后端全部弄好后才能开始测试指令}引入JS的I18N资源文件<@easySC.i18nJs

path=“…/feed.js”/>页面中调用该指令后,应该输出如下代码:<script

type=“text/javascript”src=“…/feed_en_US.js”></script><script

type=“text/javascript”

src=“…/feed.js”></script>“en_US”应该由该指令自动识别客户端语言如果站点允许用户选择“语言”,则以此为准页面中输出的I18N信息<@easySC.i18nMsg

key=“feed.userinfo”arguments=“Charlie”

/>该指令应该从相应的i18n属性文件中取到key为”feed.userinfo”的值,如果支持参数形式,则可以将参数传递过去,支持多参数以数组形式的传递,如:

arguments=”[\”a\”,\”b\”,\”c\”]”前端Mock环境时将只有一个模拟i18n文件(每种语言一个)例如,i18n资源中有:feed.userinfo={0}"s

Info那么,调用该指令后应该输出:Charlie’s

Info业务数据的访问<@easySC.bizData

name=“feed”service=“feed.feed_list”params=“{pageSize:10,pageIndex:0}”

/>“name”取到的数据将赋值给它,以便在后面可以通过它来访问取到的数据“param”该service需要用到的参数“service”在前端mock环境下,它会去读取对应的

mockdata/biz/feed/feed_list.json这个文件,在真实环境中,它由后端对该指令接口的具体实现去提供真实数据,service和params将传递进去。通过AJAX访问业务数据bizcall.ext [.do,

.php,

.asp(x)]所有通过AJAX访问业务数据的请求都指向到同一个bizCall.ext,发送一个字段:字段名:bizcall字段值:{name:“feed”,

service:“feed.feed_list”,params:{pageSize:10,pageIndex:0}}对后端来讲,他们仍然可以使用easySC.bizData来处理,对前端来讲,他们的假数据不需要编写多份.提示:前端对业务数据访问的AJAX

Call可以封装为一个通用方法,如“bizCall”环境数据访问<@easySC.envData

name=“username”key=“currentuser.username”

/>“key”在前端开发的mock环境中,应该匹配到前端模拟的环境假数据文件中的“currentuser.username”,在真实环境中,则由后端对该指令接口的具体实现去提供真实数据,key将传递进去。“name”取到的对应KEY的返回值,如:“Charlie

Du”,可以在后面的代码中使用“指令”,可以由任何语言进行实现“指令”设计思想:“指令”在前端mock环境中取假数据

“指令”在真实环境中取真实数据

环境切换由开关控制业务数据格式需要由前后端共同约定{status:message:result:“SUCCESS|FAILURE”,“当前请求的情况资讯”,“返回值,可以是任何数据类型,比如String,Array,Object,需要前后端一起约定”}环境数据格式{rootpath:skinpath:jspath:currentuser.cred:“/”,“/resource/skin_default/”,“/resource/js/”,“U1U7EXG5”,/*数据出处*/currentuser.username:“Charlie

Du”

/*备注信息*/}需要由前后端共同约定,后面的注释可以由后端同事补齐,用于后端在真实环境中取数据时可以明确数据出处(比如,来自Session或Cookie)。前端模拟假数据文件结构表单数据约定Action

URLItems’

NameSubmit

Method链接URL、参数约定所有这些约定最终需要形成“数据接口文档”Data

Interface

SpecificationXXX

ProjectVersion:0.1F2E

Owner: Charlie

DuSDE

Owner: Bo

Song2010/10/09Easy

Separate

and

Cooperate它是一个简易的前后端分离框架基于可复制的前后端分离开发模式思想,JAVA

+Freemarker的简单实现HTTP

ServerEasySC

Framework前端环境真实环境实现接口BizDataEnvDataI18N

温馨提示

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

评论

0/150

提交评论