淘宝UED前后端分离

网站建设知识 phpacg 2年前 (2018-04-24) 102次浏览 0个评论

经过ebay等海外风的吹拂,前后端分别成了阿里集团前端组织往年外部推行的几大范围之一。

目前在公司外部还只是处在早期探求阶段,。固然经过半年的宣传和宣扬,在前端工程师的圈子里已有了不小的影响力,但目前还缺乏后端工程师的了解和参与,也没有重量级的架构师(阿里架构师普通是指后端架构师)和技术管理层的充沛讨论和鲜明支持,目前还是前端们的自娱自乐居多,各部门独立玩的居多,但曾经出现出比拟生动的开展态势,也是外部技术讨论热点,可谓路途迂回,前景黑暗。midway只是一个方案,不代表阿里在这方面的全部效果,很早之前就有nodejs/前后端分别的相关技术产品出生了。

在此不想评价midway的技术水平,应该说这是一个从实践场景动身、面向工程的技术架构,技术自身并有特别值得称道之处,但是勇气可嘉。从意义下去说,其实并没有非用不可的理由,midway宣称的那些益处,没有哪一条完全站得住脚,包括最基础的前后端代码共用和模板共用,细心研讨起来也是过于理想主义的,无视了实践工程的困难;至于利于功用优化或许bigpipe更是贻笑小气。

假设说前后端分别有什么益处,我觉得有三,需求辩证地看:

1,扩展了前端的权利范围,

对技术影响力、招聘、造轮子、发paper、提升争辩极为重要。要知道在阿里前端最高的级别是P8,人数则一只手能数的过去。这不能不说是前端这一层过于薄、离业务中心太远招致的,如今从技术上侵入效劳端,技艺树终于开了新分支,能够性猛然大了有数倍,一下子似乎发现了新大陆。对团体生长的盼望,是少量面临瓶颈的资深前端工程师无法顺从的诱惑!

2,前端开发形式的革新。

自己玩后端,技术上、项目上都不用去看后端项目的排期和配合了,极大提高了开发和测试的便利度、自主性。阿里很早就了nodejs写的开发效劳器用于外部测试,如今走到线上,也是厚积薄发,这为提高开发效率,进一步榨取前端劳力提供了能够。

3,促进阿里后端web框架的退化。

这一点是没有很多人甚至阿里人没留意到的(前端不懂webx,后端不留意),webx框架发布曾经很久,近期的技术晋级十分少,技术形状曾经堕入僵化,对如今的移动互联网趋向没有敏锐的发现时机并顺应革新,招致了mtop这种畸形的架构盛行。nodejs带来了重新发牌的时机,前端人员自然对多终端、多屏、交互、体验的关注会为后端框架吹过一缕新风,给这停滞的技术范围注入生机。——所以我是赞成后端工程师学习nodejs的。

同时效果也很多,这些困难和隐患不能不提:

1,不可无视的后端技术门槛。

不能不提这茬,即使midway很务虚的只挑选了视图层作为主攻方向,但不可防止的控制器层还会带出去少量技术效果需求处置,比如配管、部署、日志监控、运维工具、SOA、加解密、事务、缓存战略、音讯队列、异步伐用、平安效果,总有避不开的暗礁,对阿里目前的后端技术栈来说,这些技术面前是有数的系统战争台,缺一不可,midway目前还是个玩具。更何况nodejs/web framework自身都在飞速演化之中,ES5到ES6,技术特性变化猛烈。即使由前期探路者完成了基础设备树立,前期他人进入的学习本钱也十分高。时间长了,前端工程师自身又自然会分化成纯前端和nodejs工程师,如此前后端自然又发生了隔膜,呵呵,分久必合,合久必分。

2,前端游手好闲。

正是由于困难重重,后端技术比前端复杂,加上新范围容易出效果,客观上形成了前端精英力气会少量倾斜到这个范围,进而使纯前端技术停滞不前,外部人心浮动,假设管理上不能很好理清临时目的和短期方案、前后端如何分别等关系和利益的关键效果,对公司来说是喜忧参半的。

3,JS的技术缺陷

由于ES不时在退化中,ES6的yield局部处置了callback hell,module也初步有了,但是楼上推崇的前后端代码共享和模板共享,在我看来恰恰不太可行。对阿里来说,后端代码是需求维护的,少量模板、校验函数等代码假设暴显露去,对网站的平安是一大要挟,这个益处真实鸡肋。譬如最近我们就发现JDK的一个加密类库在js中基本找不到替代方案,自己写的话真实力有不逮。nodejs还太幼小,还有很多技术效果就不展开了。

4,益处不够清楚,推行困难。

这才是midway真正的死穴。如前文所说,目前的前后端分别运动还是局部前端工程师的孤立行为,绝大少数后端工程师和一线主管对此毫不关心(我除外),由于midway宣称的痛点不是他们的痛点,宣称的优点只要浪费后端人力这一条对他们有点意义,而这些人才是决议midway命运的人!随着时间的推移,这能够缓解,也能够尖利,毕竟这是前端们的西部大开发运动,是扩地之战,总是要纠缠一番的。

总结。

目前midway至少还有半年的路要走,前端要抑制自己的激动,有限制运用nodejs,置信在这个范围大有可为,但那时分他们就不是前端了,他们会有一个响亮的名字叫 “NodeJS工程师”。

喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址