最新的Web开发教程
 

AppML架构


现代Web架构

AppML结合了最先进的最新技术和现代网络的发展思路。

AppML注重速度,简单性和成本低:

  • 面向服务的MVC架构
  • 极低的带宽消耗
  • 优化云计算
  • 从演示内容的完全分离
  • 智能声明式编程
  • 快速和敏捷Web开发
  • 高可扩展性和可测试
  • 简单的配置和重新配置
  • 对用户帐户和角色支持SMART

MVC架构

AppML使用MVC架构

MVC代表模型,视图,控制器

模型描述了您的应用程序。

视图显示您的数据。

控制器控制您的应用程序(of course)

维基百科: 模型,视图,控制器

MVC

模型 - 只需JSON

该模型描述了应用。

该模型是在不同的硬件和软件平台的可重复使用的(Server, PC, iPhone, Tablets, etc.)

该模型是不关心呈现或用户界面(UI)

该模型是用JSON:

模型

{
"rowsperpage" : 10,
"database" : {
    "connection" : "localmysql",
    "sql" : "SELECT CustomerName, City, Country FROM Customers",
    "orderby" : "CustomerName"
},
"filteritems" : [
    {"item" : "CustomerName", "label" : "Customer"},
    {"item" : "City"},
    {"item" : "Country"}
],
"sortitems" : [
    {"item" : "CustomerName", "label" : "Customer"},
    {"item" : "City"},
    {"item" : "Country"}
]
}

查看 - 刚刚HTML

该视图是在UI (User Interface) ,用于显示(and input)的数据。

视图是用HTML和CSS:

HTML查看

<!DOCTYPE html>
<html lang="en-US">
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<script src="http://www.w3ii.com/appml/2.0.3/appml.js"></script>
<body>

<div class="container" appml-data="local?model=model_customers">
<h1>Customers</h1>
<div appml-include-html="inc_listcommands.htm"></div>
<div appml-include-html="inc_filter.htm"></div>

<table class="table table-striped table-bordered">
<tr>
  <th>Customer</th>
  <th>City</th>
  <th>Country</th>
</tr>
<tr appml-repeat="records">
  <td>{{CustomerName}}</td>
  <td>{{City}}    </td>
  <td>{{Country}} </td>
</tr>
</table>
</div>

</body>
</html>
试一试»

控制器 - 客户端和/或服务器脚本

网页中的客户端脚本可以控制应用程序:

  • 如在模型中定义AppML能够显示数据
  • 由HTML属性定义AppML能够显示数据。
  • AppML应用程序可以运行独立的HTML (hidden)
  • (可选地)可以AppML从web服务器(SQL服务器)请求数据模型
  • (任选地)AppML用户可以编辑数据
  • (任选地)AppML可以发送数据到web服务器

服务器脚本可以控制应用程序:

  • 从客户端接收请求(browser)
  • 将数据返回到客户端
  • 从客户端接收数据
  • 更新服务器上的数据
  • 以验证和安全的护理

编程的艺术

保持应用程序的大小和复杂性低,是所有节目的主要问题。

控制计算机应用的复杂性,是程序设计的真正的艺术。


声明式编程

软件开发经常断裂期限和预算。 成品软件常常爆满编码错误的。 这是因为计算机代码是很难开发,测试和维护。

编码已超出 。 你应该更多的描述做什么 ,少怎么办呢。

随着AppML您在模型视图 声明你的应用程序。

随着AppML(sometimes nothing)代码

维基百科: 声明式编程


快速和敏捷应用开发

控制计算机应用的复杂性是程序设计的真正的艺术。

在控制下保持应用程序的大小和复杂性是所有节目的主要问题。

RAD是使用最低限度的计划有利于快速原型的软件开发方法。

AppML提供超快速的原型设计,高达100倍,比传统的开发方法更快。

应用原型,可以直接从应用模式运行,无需任何编码。

维基百科:快速应用程序开发

敏捷软件开发是基于一步一步的发展,在解决方案的用户和开发者合作创建了一个方法。

随着AppML,应用可以用一步一个脚印,以小的增量,从原型到完整的应用程序。

维基百科:敏捷软件开发


代码优先

Web应用程序可以在两种不同的方式进行开发:

1.代码首先:使用预编程的,预测试代码,只添加新的应用程序的描述。

2.合同第一:编码从头开始使用完整的应用需求描述的应用。

AppML使用最合理的概念: 代码第一


面向服务的架构(SOA)

面向服务的架构(SOA)是一种用于构建Web应用程序的架构。

SOA提供了开发成本低,灵活性高。

有了SOA,应用程序可以创建从无到有,或从现有的IT基础架构,并使用由不同的应用程序,在不同的硬件和软件。

SOAMVC声明式编程 ,其中数据可以不如何的关注很容易消耗再合适不过了。


网页服务

Web服务是数据,通过URL标识的接口,就像一个网页。

一个Web服务从网页不同,只有在它传达信息的方式。

一个典型的Web服务只提供数据到网页。

随着AppML,HTML是用户界面,Web服务提供的数据。

原始Web服务被设计为使用XML标准,如SOAP,WSDL和UDDI。

现代的Web服务,如AppML更容易使用。

  • 容易理解 - 人类可以阅读
  • 轻量级 - 没有不必要的代码或标记
  • 易于实施 - 无需开发工具

Web服务的好处

  • Web服务是代码的小户型
  • Web服务是专门用来处理一组有限的任务
  • Web服务使用基于HTTP通信协议
  • Web服务是独立的操作系统
  • Web服务是独立的编程语言
  • Web服务可以连接不同的应用程序,系统和设备
  • Web服务可以很容易地发布信息
  • Web服务有利于快速应用程序开发

例如:一个小程序设计与证券交易所的价格供应其他应用程序。

例如:航班时刻表和机票预订系统。

由于Web服务使用HTTP,他们是独立于操作系统和编程语言。


云计算

云计算是SOA的扩展:应用作为一种服务,存储作为一种服务,数据作为一种服务。

对于大多数人来说,云计算是有关存储在网络上的数据:

  • 电子邮件和日历
  • 文档和电子表格
  • 书籍,笔记,待办事项
  • 音乐,图片和电影
  • 数据库和应用程序

原因是很明显的:

  • 有来自世界各地的访问数据
  • 分享我与其他人的数据
  • 为了生存硬件更改或崩溃

随着AppML,这是很容易把数据库和应用程序在云中。