最新的Web开发教程
 

AppML原型


在本章中,我们将建立一个Web应用程序的原型。


创建HTML原型

首先,创建一个体面的HTML原型 ,用你喜欢的CSS。

我们在这个例子中使用的引导:

<!DOCTYPE html>
<html lang="en-US">

<title>Customers</title>
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">

<body>

<div class="container">
<h1>Customers</h1>
<table class="table table-striped table-bordered">
  <tr>
    <th>Customer</th>
    <th>City</th>
    <th>Country</th>
  </tr>
  <tr>
    <td>{{CustomerName}}</td>
    <td>{{City}}</td>
    <td>{{Country}}</td>
  </tr>
</table>
</div>

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

{{...}}对于未来的数据占位符。


添加AppML

你已经创建了一个HTML原型后,您可以添加AppML:

<!DOCTYPE html>
<html lang="en-US">

<title>Customers</title>
<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>
<script src="http://www.w3ii.com/appml/2.0.3/appml_sql.js"></script>
<body>

<div class="container" appml-data="customers.js" >
<h1>Customers</h1>
<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:

<SCRIPT SRC = “http://www.w3ii.com/appml/2.0.3/appml.js”>

添加本地的WebSQL数据库:

<SCRIPT SRC = “http://www.w3ii.com/appml/2.0.3/appml_sql.js”>

定义数据源:

appml数据= “customers.js”

定义HTML元素被重复记录在每一个记录:

appml_repeat = “记载”

为简单起见,与像本地数据开始customers.js连接到数据库之前。


创建AppML型号

为了能够使用一个数据库,您将需要一个AppML数据库模型:

proto_customers.js

{
"rowsperpage" : 10,
"database" : {
"connection" : "localmysql",
"sql" : "Select * from Customers",
"orderby" : "CustomerName",
}

如果您没有本地数据库,你可以使用AppML模型来创建Web SQL数据库。

要创建一个记录表,使用这样的模式: proto_customers_single.js

创建本地数据库并不在IE或Firefox的工作。 使用Chrome或Safari。

使用该模型在应用程序中。 更改数据源以本地模式= proto_customers_single?

<div appml-data=" local?model=proto_customers_single ">
<h1>Customers</h1>
<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>
试一试»

创建多个记录本地数据库

要创建具有多个记录的表,使用这样的模式: proto_customers_all.js

数据源切换到本地?模型= proto_customers_all

<div appml-data=" local?model=proto_customers_all ">
<h1>Customers</h1>
<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>
试一试»

添加导航模板

假设你想所有的应用程序有一个共同的导航工具栏:

为它创建一个HTML模板:

inc_listcommands.htm

<div class="btn-group" role="toolbar" style="margin-bottom:10px;">

  <button id='appmlbtn_first' type="button" class="btn btn-default">
  <span class="glyphicon glyphicon-fast-backward"></span></button>

  <button id='appmlbtn_previous' type="button" class="btn btn-default">
  <span class="glyphicon glyphicon-backward"></span></button>

  <button id='appmlbtn_text' type="button" class="btn btn-default disabled"></button>

  <button id='appmlbtn_next' type="button" class="btn btn-default">
  <span class="glyphicon glyphicon-forward"></span></button>
 
  <button id='appmlbtn_last' type="button" class="btn btn-default">
  <span class="glyphicon glyphicon-fast-forward"></span></button>

  <button id='appmlbtn_query' type="button" class="btn btn-primary">
  <span class="glyphicon glyphicon-search"></span> Filter</button>

</div>

<div id="appmlmessage"></div>

保存在文件模板中包含一个合适的名字"inc_listcommands.htm"

包括在你的原型属性模板appml,包括HTML的

<div appml-data="local?model=proto_customers_all">
<h1>Customers</h1>
<div appml-include-html="inc_listcommands.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>
试一试»