最新のWeb開発のチュートリアル
 

AppMLプロトタイプ


本章では、Webアプリケーションのプロトタイプを構築します。


HTMLプロトタイプを作成します。

まず、お好みのCSSを使用して、まともなHTMLのプロトタイプを作成します。

私たちは、この例では、ブートストラップを使用しています:

<!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を追加します。

<スクリプトSRC = "http://www.w3ii.com/appml/2.0.3/appml.js">

ローカルWebSQLデータベースを追加します。

<スクリプト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",
}

あなたは、ローカルデータベースを持っていない場合は、Web SQLデータベースを作成するAppMLモデルを使用することができます。

:単一のレコードを持つテーブルを作成するには、次のようにモデルを使用proto_customers_single.js

ローカルデータベースを作成すると、IEやFirefoxで動作しません。 クロムや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>
»それを自分で試してみてください