如何评价淘宝 UED 的 Midway Framework 前后端分离
发布网友
发布时间:2022-04-23 07:33
我来回答
共2个回答
热心网友
时间:2022-05-03 02:08
评价淘宝 UED 的 Midway Framework 前后端分离:
1,扩大了前端的势力范围,
对技术影响力、招聘、造轮子、发paper、晋升答辩极为重要。要知道在阿里前端最高的级别是P8,人数则一只手能数的过来。这不能不说是前端这一层过于薄、离业务核心太远导致的,现在从技术上侵入服务端,技能树终于开了新分支,可能性猛然大了无数倍,一下子似乎发现了新*。对个人成长的渴望,是大量面临瓶颈的资深前端工程师无法抗拒的*!
2,前端开发模式的变革。
自己玩后端,技术上、项目上都不用去看后端项目的排期和配合了,极大提高了开发和测试的便利度、自主性。阿里很早就了nodejs写的开发服务器用于内部测试,现在走到线上,也是厚积薄发,这为提高开发效率,进一步榨取前端劳力提供了可能。
3,促进阿里后端web框架的进化。
这一点是没有很多人甚至阿里人没注意到的(前端不懂webx,后端重心后移),webx框架发布已经很久,近期的技术升级非常少,技术形态已经陷入僵化,对现在的移动互联网趋势没有敏锐的发现机会并适应变革,很遗憾地缺席了新时代。nodejs来了,洗牌开始,前端人员天然对多终端、多屏、交互、体验的关注会为后端框架吹过一缕新风,给这停滞的技术领域注入活力。——所以我是赞成后端工程师学习nodejs的。
同时问题也很多,这些困难和隐患不能不提:
1,不可忽视的后端技术门槛。
不能不提这茬,即便midway很务实的只挑选了视图层作为主攻方向,但不可避免的控制器层还会带进来大量技术问题需要解决,比如配管、部署、日志监控、运维工具、SOA、加解密、事务、缓存策略、消息队列、异步调用、安全问题,总有避不开的暗礁。对阿里目前的后端技术栈来说,这些技术背后是无数的系统和平台,缺一不可,midway目前还是个玩具。更何况nodejs/web framework本身都在飞速演变之中,ES5到ES6,技术特性变化剧烈。即便由前期探路者完成了基础设施建设,后期他人进入的学习成本也非常高。时间长了,前端工程师本身又自然会分化成纯前端和nodejs工程师,如此前后端天然又产生了隔阂,呵呵,分久必合,合久必分。
2,前端不务正业。
正是因为困难重重,后端技术比前端复杂,加上新领域容易出成果,客观上造成了前端精英力量会大量倾斜到这个领域,进而使纯前端技术停滞不前,内部人心浮动,如果管理上不能很好理清长期目标和短期计划、前后端如何分离等关系和利益的要害问题,对公司来说是喜忧参半的。
3,JS的技术缺陷
因为ES一直在进化中,ES6的yield部分解决了callback hell,mole也初步有了,但是楼上推崇的前后端代码共享和模板共享,在我看来恰恰不太可行。对阿里来说,后端代码是需要保护的,大量模板、校验函数等代码如果暴露出去,对网站的安全是一大威胁,这个好处实在鸡肋。譬如最近我们就发现JDK的一个加密类库在js中根本找不到替代方案,自己写的话实在力有不逮。nodejs还太幼小,还有很多技术问题就不展开了。
4,好处不够明显,推广困难。
这才是midway真正的死穴。如前文所说,目前的前后端分离运动还是部分前端工程师的孤立行为,绝大多数后端工程师和一线主管对此毫不关心(我除外),因为midway宣称的痛点不是他们的痛点,宣称的优点只有节约后端人力这一条对他们有点意义,而这些人才是决定midway命运的人!随着时间的推移,这可能缓解,也可能尖锐,毕竟这是前端们的西部大开发运动,是扩地之战。
总结。
目前midway至少还有半年的路要走,前端要克制自己的冲动,有限度使用nodejs,相信在这个领域大有可为,但那时候他们就不是前端了,他们会有一个响亮的名字叫 “NodeJS工程师”。
热心网友
时间:2022-05-03 03:26
我比较认可rank的观点,MidWay 尽管目前带来的实际价值不高,但是在引领方向,在为真正前后端分离的落地做铺垫。而且在这个项目的影响下,支付宝和天猫已经开始NodeJS前后端分离的技术规划,这本身就让人兴奋。
基于Node的前后端分离有两个价值
一,异步
淘宝首页就是被几十个HTML片段(每个片段一个文件)拼装成,之前PHP同步include这几十个片段,一定是串行的,Node可以异步,读文件可以并行,一旦这些片段中也包含业务逻辑,异步的优势就很明显了,真正做到哪个文件先渲染完就先输出显示。前端机的文件系统越复杂,页面的组成片段越多,这种异步的提速效果就越明显。
二,前后端模板统一
无线领域很有用,PC页面和WIFI下页面适合前端渲染(数据Ajax到前端),2G、3G弱网环境适合后端渲染(数据随页面吐给前端),所以同样的模板,在不同的条件下走不同的渲染渠道,模板只需一次开发。
NodeJS 的很多潜力可能还没有发掘出来,我们也在摸索,而且淘宝现在已经开始考虑将Node部到CDN上了,这将为前端工程师带来更多的想象空间。
还有人提到前端工程师能力是不是跟得上,我觉得一定会跟得上,跟不上的伪前端正好被淘汰掉。