最近看到前端趋势2013大会上的一篇文章,题目是《各位快看,不用后端》,觉得有点意思,恰好近期的一次讨论及半年前的一次开发实践也涉及到这种模式,简单谈谈我的想法。

不得不说,文章的题目确实很吸引眼球,开发应用可以不用后端了?前端同学完全自己搞定?那服务器、数据库、服务接口神马的怎么办?

说到这,大家可能会想到开放平台,开放平台不就是这种的架构模式吗?服务器、底层数据、OpenAPI大公司都给你提供了,前端同学完全可以通过JS来操作各种数据,把注意力集中在显示层上,独自完成一个应用的开发。

纵观国内的开放平台可以分为两大类:

一种是业务接口开放平台,比如1688开放平台,目的是为了让开发者围绕其业务生态圈创建自己的应用,它只提供业务型OpenAPI,开发者还是需要搭建自己的服务器,甚至是数据库等,算不上noBackend。

另一种是玩“云”概念的开放平台,比如GAE、BAE、阿里云等,他们提供的是服务器和存储(数据库),OpenAPI也有,但通常是比较底层的和业务无关的通用型接口,如存储,消息通信等,真正的业务接口还是需要用后台语言开发,也算不上是文章所谓的noBackEnd。

而国外目前有另外一种类型的开放平台,可以说是为移动应用而生的 (PC站点也能支持),它真正的做到了noBackEnd。 我之前曾折腾过一个移动小应用,偶然接触了Titanium Cloud Services,真是感觉相见恨晚,佩服至极。。。服务器、数据库就不必说了,对开发者完全透明。而他的亮点在于OpenAPI,不像国内的那种纯底层接口,而是暴露给应用一些更偏向业务层面的通用API,比如用户注册API、好友关系API、json格式的KV存储API、文件处理API等等。这些通用接口组合起来,解决80%应用的后端逻辑是不成问题的。

有了这样的开放平台,应用开发时就可以完全通过js来完成各类业务逻辑,而无需进行任何的后台开发和配置工作,对开发应用的前端同学而言,这听起来貌似不错。类似这样的平台国外还有几个,比如 Firebase, ParseBackendless。而国内的我尚未发现,但我觉得这种开放平台应该会很有市场,谁用过谁知道。。。 对一些大公司而言这是不是一个机会呢?

noBackEnd的开发模式其实对前端同学提出了更高的开发能力要求,当后端的模板层完全撤去,只剩下纯净的数据接口时,意味着js将负责更多的业务逻辑处理,代码的组织架构需要有更好的设计。责任大了,压力也自然不会小,据闻腾讯盛行这种开发模式,而其配有500+的前端开发队伍,也就完全可以理解了。

不管你信不信,我是相信noBackEnd的趋势的,应用致胜的关键是idea及用户体验,后台的服务功能是趋同并可抽象的,也因此有了新型开放平台的存在,让我们不必再重复开发后台逻辑;而显示层的设计是无法趋同的,对体验的追求不会有极致,更多的精力和开发将会投入其中。

转自 http://www.cg3.net/post/2013-06-26/40051693447

“无后端”的web应用开发模式的更多相关文章

  1. [前端开发] 未来趋势“无后端”的web应用开发模式

    最近看到前端趋势2013大会上的一篇文章,题目是<各位快看,不用后端>,觉得有点意思,恰好近期的一次讨论及半年前的一次开发实践也涉及到这种模式,简单谈谈我的想法. 不得不说,文章的题目确实 ...

  2. ASP.NET Web Froms开发模式中实现程序集的延迟加载

    延迟加载是一个很大的诱惑,可以达到一些比较好的效果,比如: 1.在实体框架中,由于关联数据的数量和使用时机是不确定的,通过延迟加载,仅在使用的时候去执行关联数据的查询操作,减少无谓的数据查询操作,可以 ...

  3. Java web MVC开发模式入门感悟

    当我进行第一个完整的java web项目的开发时,对以前所学的Java web知识体系有了一个清晰的进阶认识.我觉得非常有必要对此进行必要的总结. MVC,意指model(数据持久层)+viewer( ...

  4. asp.net简述Web Forms开发模式

    详情请查阅:http://www.runoob.com/aspnet/aspnet-intro.html 1.Web Forms 是三种创建 ASP.NET 网站和 Web 应用程序的编程模式中的一种 ...

  5. Java开发web的几种开发模式

    Java Web开发方案有多种可供选择,这里列举一些经典的开发模式进行横向比较,为Java Web的开发模式选择提供参考.除此之外还有好多方案(如Tapestry和Wicket等等)并不了解,这里就不 ...

  6. java web几种开发模式(转)

    Java Web开发方案有多种可供选择,这里列举一些经典的开发模式进行横向比较,为Java Web的开发模式选择提供参考.除此之外还有好多方案(如Tapestry和Wicket)并不了解,这里就不列举 ...

  7. Web前端开发工程师养成计划【转载】

    Web前端开发工程师养成计划(入门篇) 最原始的忠告:这个世界上有想法的人很多,但是有想法又能实现它的人太少! 首先要感谢伟大的Web2.0概念.产品概念.用户体验概念.jQuery插件,是它们在中国 ...

  8. web前端开发浅析

    原文地址:http://www.cnblogs.com/babyzone2004/articles/1807381.html 摘 要:前端开发作为一项新的领域,经历的时间随然较短,却显示了强大的生命里 ...

  9. java经典开发模式

    Java Web开发方案有多种可供选择,这里列举一些经典的开发模式进行横向比较,为Java Web的开发模式选择提供参考.除此之外还有好多方案(如Tapestry和Wicket等等)并不了解,这里就不 ...

随机推荐

  1. rem 的使用

    1.填加以下代码 (function (designWidth, maxWidth) { var doc = document, win = window, docEl = doc.documentE ...

  2. 通过关闭 UseDNS和GSSAPIAuthentication选项加速 SSH登录

    通常情况下我们在连接 OpenSSH服务器的时候假如 UseDNS选项是打开的话,服务器会先根据客户端的 IP地址进行 DNS PTR反向查询出客户端的主机名,然后根据查询出的客户端主机名进行DNS正 ...

  3. 由于C++类库版本不同导致的OpenCV编译链接错误

    太长不看版:GCC4和GCC5使用的C++标准库下,string的名字不一样,导致链接错误. 之前在Ubuntu下使用OpenCV的时候一切正常.后来再次编译的时候,连接器提示有些库函数找不到: ma ...

  4. Java发送HTTPS请求

    前言 上篇文章介绍了 java 发送 http 请求,大家都知道发送http是不安全的 .我也是由于对接了其他企业后总结了一套发送 https的工具.大家网上找方法很多的,但是可不是你粘过来就能用啊, ...

  5. Linux Shell中有三种引号的用法

    Linux Shell中有三种引号,分别为双引号(" ").单引号(' ')以及反引号(` `). 其中双引号对字符串中出现的$.''.`和\进行替换:单引号不进行替换,将字符串中 ...

  6. 让IE浏览器支持CSS3表现

    http://www.zhangxinxu.com/wordpress/2010/04/%e8%ae%a9ie6ie7ie8%e6%b5%8f%e8%a7%88%e5%99%a8%e6%94%af%e ...

  7. DP解LCS问题模板及其优化

    LCS--Longest Common Subsequence,即最长公共子序列,一般使用DP来解. 常规方法: dp[i][j]表示字符串s1前i个字符组成的字符串与s2前j个字符组成的字符串的LC ...

  8. Linux配置Hadoop 常用的命令

    uname -a 看主机位数 ip a 看IP地址 vi /etc/sysconfig/network 改主机的名字 vi /etc/hosts 改映射关系 vi /etc/sysconfig/net ...

  9. TZOJ 2754 Watering Hole(最小生成树Kruskal)

    描述 Farmer John has decided to bring water to his N (1 <= N <= 300) pastures which are convenie ...

  10. 对于局部变量,text、ntext 和 image 数据类型无效

    开发存储过程时报如上错误.大多数人说用varchar(8000)代替text,但值我这里超过8000,不可取 解决: sql2005或以上版本支持新数据类型:varchar(max)nvarchar( ...