微信号:infoqchina

介绍:有内容的技术社区媒体

技术发展与技术政治

2013-07-09 15:49 InfoQ

最近,InfoQ中文站就前端趋势大会上被人提及的noBackend概念进行了跟踪。这种概念提倡让前端就可以完成一个完整应用的开发,将后端完全转化成接口给隐蔽起来。


根据阿里UED团队王涛同学的解释:


“noBackend并非是一种新技术或是一种新架构,而是一种新的web开发模式。我们经历过前后端分离的开发阶段,就是后端同学提供数据接口,让前端同学调用来实现页面逻辑,其实在这个阶段,就已经奠定了noBackend的架构基础……业务开发的重担会落在前端层面,而多条产品线,甚至整个公司的产品都可以共用一套后台接口服务平台。”


很多前端听说这一概念之后都感到很兴奋:如果只依靠前端就可以独立完成产品的研发,那么前端在团队中的价值无疑会大幅提升。同时,noBackend模式对前端开发提出了更高的要求,这意味着做前端成了一个更有技术含量的工作。


在以前,前端要么附属于设计,要么附属于产品。在很多网站,前端只是把PSD变成HTML的一道工种。写CSS的工作,在很多后端看来,根本不是开发。


Ajax技术到来之后,网站能做的事情更多了。随着JavaScript能做的事情越来越多,前端对产品的影响力也逐渐上升。可以说,JavaScript技术的成熟度决定了前端在团队中的话语权。


虽然如此,我们还是发现,并不是所有的前端都喜欢noBackend这个概念。


豆瓣前端团队负责人张克军,他所站的角度不是前端的角度,而是工程的角度。


“我对所谓“noBackend“持反对意见,这种叫法很哗众取宠,个人不喜欢。


所谓“noBackend“不过想说,前端有个完整的“MVC框架“(或类似概念框架)负责产品全部的展现逻辑和数据交换。后端只提供纯粹的数据服务。


对于规模足够大的产品来说,这种模式问题很多:


1. 为了给搜索提供入囗,前后端最好是共用模板。这样很多server端成熟的模板系统就不能用了

2. 浏览器(包括手机浏览器)的兼容问题,坑太多

3. 把大量计算放到进浏览器里实现影响体验。手机浏览器明显不适合这样做

4. Javascript不安全

5. 这不是未来。未来应该是web components这种基于组件的开发思路

6. 这也不是重点。当前重点应该是利用前端技术更好解决产品使用体验跨设备、跨平台布署的问题


前端架构上应该保持简单,合理利用后端的计算能力。不会刻意追求全JS技术堆栈的方案。”


是站在前端的角度,还是站在项目的角度?是站在团队的角度,还是站在工程的角度?


用@gaosboy的话总结来说就是:从前端角度谈noBackend就是谈政治。站在整个网站的角度,看看开发成本最低,最合理的方式吧。


搞前端的童鞋们,你们怎么看?


本文作者简介


杨赛(@lazycai),InfoQ中文站编辑。到处串门的互联网信徒,相信规则的力量。


InfoQ微信周二专栏作者招募中!邮件 editors@cn.infoq.com 了解详情!


***********************************

本文来自InfoQ微信公众账号:infoqchina

1、回复“今日新闻”,查看今天更新的新闻;

2、回复“今日英文”,查看今天英文站的更新;

3、回复“文章 +关键词”,搜索关键词相关内容;

4、回复“QCon”,了解QCon大会相关信息;

5、回复“活动”,了解最近InfoQ组织的线下沙龙;

6、回复“架构师”,获取《架构师》下载地址;

7、回复“投稿”,了解投稿和加入编辑团队的流程。

***********************************

 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 React Native开源项目-云翻译客户端 心疼张小龙,微信应用号还没出现,有人已经把他的想法实现了! 别人的 App 不好用?自己改了便是。Moves 篇(上) 写履历表 Devops 云计算常用流行工具