最近看到前端趋势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. RabbitMq install on Centos

    安装服务(root) erlang官方安装说明:https://www.erlang-solutions.com/resources/download.html step 1: 安装erlang的yu ...

  2. GBDT 将子树结果当成lr输出

    http://scikit-learn.org/stable/auto_examples/ensemble/plot_feature_transformation.html#example-ensem ...

  3. poi转geohash

    import geohashimport sysfor line in sys.stdin: fields = line.strip().split('\t') hostid,POS_TIME,POS ...

  4. SQL获取分组后取某字段最大一条记录(求每个类别中最大的值的列表)

    获取分组后取某字段最大一条记录 方法一:(效率最高) select * from test as a where typeindex = (select max(b.typeindex) from t ...

  5. spring jpa exists

    Subquery<A> subquery = criteriaQuery.subquery(A.class);Root<A> root1 = subquery.from(A.c ...

  6. MyEclipse/eclipse 添加作者、注释、版本、时间等

    preferences>>java>>code style>>code templates>>comments>>找到相应的编辑即可

  7. pyhon模块之日志模块

    #Auther Bob#--*--coding:utf-8--*-- import logging #python一共有5个级别的日志,debug.info.warning.error.critica ...

  8. iOS - 工程文件冲突 - 解决方式

  9. Linux下Google Test (GTest)测试环境搭建步骤

    1.下载GTEST 下载链接为:https://code.google.com/p/googletest/downloads/list 目前GTEST的最新版本为gtest-1.7.0.zip,因此我 ...

  10. php 的 PHPExcel1.8.0 使用教程

    PHPExcel是用来操作Office Excel文档的一个PHP类库,它基于微软的OpenXML标准和PHP语言.可以使用它来读取.写入不同格式的电子表格.   一.下载PHPExcel http: ...