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

AppMLアーキテクチャ


現代のWebアーキテクチャ

AppMLは、最新の技術と近代的なWeb開発のアイデアを兼ね備えています。

スピード、シンプル、かつ低コストに焦点を当てAppML:

  • サービス指向MVCアーキテクチャ
  • 超低帯域幅の使用量
  • クラウドコンピューティング向けに最適化
  • プレゼンテーションからのコンテンツの完全な分離
  • インテリジェントな宣言型プログラミング
  • 迅速かつアジャイルウェブ開発
  • 高度にスケーラブルでテスト可能
  • 簡単設定と再構成
  • ユーザーアカウントと役割のためのスマートサポート

MVCアーキテクチャ

AppMLは、MVCアーキテクチャを使用しています

MVCはモデル、ビュー、コントローラの略

モデルは、アプリケーションを記述します。

ビューには、あなたのデータが表示されます。

コントローラは、アプリケーション制御(of course)

ウィキペディア: モデル、ビュー、コントローラ

MVC

MODEL - ただ、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"}
]
}

VIEW - ちょうど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>
»それを自分で試してみてください

CONTROLLER - クライアントおよび/またはサーバースクリプト

ウェブページ内のクライアントスクリプトは、アプリケーションを制御することができます。

  • モデルで定義されているようAppMLは、データを表示することができます
  • HTML属性によって定義されているようAppMLは、データを表示することができます。
  • AppMLアプリケーションはHTMLとは独立して実行することができます(hidden)
  • (オプション)AppMLは、Webサーバー(SQLサーバー)からモデルデータを要求することができます
  • (オプション)AppMLユーザーがデータを編集することができます
  • (オプション)AppMLは、Webサーバーにデータを送信することができます

サーバスクリプトは、アプリケーションを制御することができます。

  • クライアントからの要求を受けて(browser)
  • クライアントにデータを返します
  • クライアントからのデータを受信します
  • サーバー上のデータの更新
  • 認証とセキュリティの世話をして

プログラミングのアート

アプリケーションのサイズと複雑さを低く抑え、すべてのプログラミングの主な問題はあります。

コンピュータアプリケーションの複雑さを制御し、プログラミングの真の芸術です。


宣言型プログラミング

ソフトウェア開発は、多くの場合、期限と予算を壊します。 完成したソフトウェアは、多くの場合、コーディングエラーをいっぱいです。 コンピュータコードは、開発、テスト、および維持することが困難であるためです。

コーディングはアウトです。 あなたはそれを行う方法を、 をすべきか 、より少ないを記述する必要があります。

AppMLを使用すると、 モデルにし、 ビューでアプリケーションを宣言します

AppMLではあまりありません(sometimes nothing)コードへ

ウィキペディア: 宣言型プログラミング


迅速かつアジャイルアプリケーション開発

コンピュータアプリケーションの複雑さを制御することは、プログラミングの真の芸術です。

制御の下の下でアプリケーションのサイズと複雑さを保つことはすべてのプログラミングの主な問題です。

RADは、ラピッドプロトタイピングの賛成で、最小限の計画を使用するソフトウェアの開発手法です。

AppMLは、最大100倍まで高速化、従来の開発手法よりも、超高速プロトタイピングを実現します。

アプリケーションのプロトタイプは、コーディングなし、アプリケーション・モデルから直接実行することができます。

ウィキペディア:迅速なアプリケーション開発

アジャイルソフトウェア開発は、ソリューションを共同でユーザーと開発者によって作成されたステップ・バイ・ステップの開発に基づく方法です。

AppMLと、アプリケーションは、プロトタイプから完全アプリケーションに、少しずつ、段階的に書き込むことができます。

ウィキペディア:アジャイルソフトウェア開発


コードファースト

Webアプリケーションは、2つの異なる方法で開発することができます。

1.コードファースト:唯一の新しいアプリケーション記述を追加して、事前にプログラムされ、事前にテストコードを使用します。

2.契約まず:完全なアプリケーション要件の説明を使用して、最初からアプリケーションをコーディング。

コードファースト :AppMLは、最も合理的な概念を使用しています。


サービス指向アーキテクチャ(SOA)

サービス指向アーキテクチャ(SOA)のWebアプリケーションを構築するためのアーキテクチャです。

SOAは、低開発コストと高い柔軟性を提供しています。

SOAでは、アプリケーションは最初から、またはITは、異なるハードウェアやソフトウェアに、異なるアプリケーションにより、インフラストラクチャ、および使用する既存から作成することができます。

SOAは、データを簡単にどのように心配せずに消費することができMVC宣言型プログラミングのための完璧なフィット感です。


ウェブサービス

Webサービスは、単にWebページのように、URLによって識別されるデータへのインタフェースです。

Webサービスは 、それが情報を伝達する方法で、Webページとは異なります。

典型的なWebサービスは 、Webページにデータを提供します。

AppMLでは、HTMLはWebサービスがデータを提供し、ユーザーインターフェースです。

オリジナルのWebサービスは 、SOAP、WSDL、およびUDDIなどのXML標準を使用するように設計されました。

AppMLのような近代的なWebサービスを使用する方がはるかに簡単です。

  • 理解する方が簡単 - 人間が読むことができます
  • 軽量 - 不要なコードやマークアップ
  • 必要な一切の開発ツールを - 実装ませんが簡単

Webサービスのメリット

  • Webサービスは、コードの小さな単位です
  • Webサービスは、タスクの限定セットを処理するように設計されています
  • Webサービスの使用HTTPベースの通信プロトコル
  • Webサービスは、オペレーティング・システムから独立しています
  • Webサービスは、プログラミング言語から独立しています
  • Webサービスは、さまざまなアプリケーション、システム、およびデバイスを接続することができます
  • Webサービスは、情報を配布することが容易になります
  • Webサービスは、迅速なアプリケーション開発を促進します

例:証券取引所の価格で他のアプリケーションを提供するために設計された小さなプログラム。

例:フライトスケジュールとチケット予約システム。

Webサービスは、HTTPを使用しているので、彼らは、オペレーティングシステムやプログラミング言語の両方から独立しています。


クラウドコンピューティング

アプリケーションとしてサービス、ストレージサービスとして、データサービスとして: クラウドコンピューティングは、SOAを拡張したものです。

ほとんどの人にとって、クラウドコンピューティングは、ウェブ上のデータを格納するについてです。

  • メールやカレンダー
  • ドキュメントやスプレッドシート
  • ブック、ノート、リストを行うには
  • 音楽、写真やムービー
  • データベースとアプリケーション

理由はかなり明白です:

  • どこからでもデータへのアクセス権を持っているために、
  • 他の人と私のデータを共有するには
  • ハードウェアの変更やクラッシュを生き残るために

AppMLで、クラウドにデータベースとアプリケーションの両方を置くことは非常に簡単です。