最近看到前端趋势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, Parse, Backendless。而国内的我尚未发现,但我觉得这种开放平台应该会很有市场,谁用过谁知道。。。 对一些大公司而言这是不是一个机会呢?

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

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

好文章分享自:http://www.aliued.cn/2013/05/26/%E6%97%A0%E5%90%8E%E7%AB%AF%E7%9A%84web%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91%E6%A8%A1%E5%BC%8F.html

浪风小园子先分享这么多,以后会继续分享我的小工具给大家。分享万岁,技术永存。浪风小园子 -- 比较认真的PHP平台开发

[前端开发] 未来趋势“无后端”的web应用开发模式的更多相关文章

  1. “无后端”的web应用开发模式

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

  2. 学习参考《Flask Web开发:基于Python的Web应用开发实战(第2版)》中文PDF+源代码

    在学习python Web开发时,我们会选择使用Django.flask等框架. 在学习flask时,推荐学习看看<Flask Web开发:基于Python的Web应用开发实战(第2版)> ...

  3. Android开发9:网络访问&Web服务开发

    前言 啦啦啦各位小伙伴们好~ 一起进入我们今天的主题.今天我们将和大家学习网络访问和Web服务开发的相关知识,一起学习熟练使用 HttpURLConnection 访问 WebService,熟悉使用 ...

  4. OSGI企业应用开发(十三)OSGI Web应用开发(二)

    上篇文章介绍了OSGI Web应用的两种开发模式,并把Jetty应用服务器以Bundle的形式整合到Equinox容器中,已这种模式开发Web应用,所有的应用程序资源,例如Servlet.JSP.HT ...

  5. Java开发工程师(Web方向) - 01.Java Web开发入门 - 第1章.Web应用开发概述

    第1章--Web应用开发概述 Web应用开发概述 浏览器-服务器架构(BS-architecture) browser/ App    ---- request ---->    server ...

  6. FlaskWeb开发:基于Python的Web应用开发实战

    所属网站分类: 资源下载 > python电子书 作者:熊猫烧香 链接:http://www.pythonheidong.com/blog/article/63/ 来源:python黑洞网,专注 ...

  7. 【转】Yeoman:Web 应用开发流程与工具

    原文转自:http://blog.jobbole.com/62098/ 随着 Web 2.0 和 HTML 5 的流行,现在的 Web 应用所能提供的功能和交互能力比之前传统的 Web 应用要强大很多 ...

  8. 【转】无后端(nobackend):前端优先的Web开发【译】

    每个应用都由两样东西构成:该应用独有的功能和所有应用共有的功能,比方说用户注册.登录.忘记密码等.而从用户的角度出发,那些独有的功能归结起来就是用户界面以及系统的行为模式.而在视觉表象之后的功能,用户 ...

  9. Web系统开发构架再思考-前后端的完全分离

    前言 前后端完全分离其实一直是Web开发人员的梦想,也一直是我的梦想,遥想当年,无论是直接在代码里面输出HTML,还是在HTML里面嵌入各种代码,都不能让人感到满意.期间的痛苦和纠结,我想所有Web开 ...

随机推荐

  1. WebLogic Server 12.1.2后的字符型安装模式

    weblogic Server 12.1.1全部都可以用原来方式. WebLogic Server 12.1.2后已经取消了console安装模式,目前只有gui和静默安装模式.并且安装方式下也有很大 ...

  2. WebLogic Server 12.2.1 多租户安装配置

    1.安装WebLogic 12.2.1版本 下载安装的时候记住选择Fusion Middleware Infrastructer Installer. 2.安装OTD OTD需要单独下载安装,安装的时 ...

  3. Linux下获取本机IP地址的代码

    Linux下获取本机IP地址的代码,返回值即为互联网标准点分格式的字符串. #define ETH_NAME "eth0" //获得本机IP地址 char* GetLocalAdd ...

  4. cpp面向对象编程

    如下图,先建好文件, 这里用的是Visual studio 2010 当然也可以用eclipse for cpp,如下图: AbstractShape.h #ifndef ABSTRACTSHAPE_ ...

  5. javascript快速入门17--事件

    事件(上) JavaScript事件列表 事件 解说 一般事件 onclick 鼠标点击时触发此事件 ondblclick 鼠标双击时触发此事件 onmousedown 按下鼠标时触发此事件 onmo ...

  6. Java笔记4:JDBC纯驱动方式连接Oracle

    JDBC纯驱动方式连接Oracle 1 下载Oracle提供的驱动程序包 下载地址: http://www.oracle.com/technetwork/database/enterprise-edi ...

  7. Docker解析及轻量级PaaS平台演练(二)--Docker的一些简单命令

    上一篇中,我们对Docker有了一个基本的了解 下面将讨论Docker中Image,Container的相关实际操作 Image管理: 镜像的命名和版本管理: 普通镜像的命名规范 {namespace ...

  8. 在 XenServer上调试windows程序

    WinDbg WinDbg is one of a number of tools available from Microsoft that can be used for debugging Wi ...

  9. JSON--百度百科

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族 ...

  10. 应用程序池和应用程序域的区别(Difference between application pool and application domain)

    来自StackOverFlow:  http://stackoverflow.com/questions/8486335/difference-between-an-application-domai ...