AppMLの履歴


1999年、RefsnesDataはAppMLの最初のバージョンを開発しました。

すでに、AppMLはWebクライアントとWebサーバー間のHTTP要求通信に基づいていました。その後、この方法はAJAXとしてよく知られるようになりました。

2000年9月、ノルウェーの大口顧客向けの開発プロジェクトが開始されました。このプロジェクトの目標は、AppMLのみを使用して、巨大な情報システム(約300のアプリケーション)をWindowsデスクトップアプリケーションから最新のインターネットアプリケーションに変換することでした。

AppMLベースのシステムは、世界初の商用AJAXアプリケーションとして、スケジュールの数か月前の2001年にリリースされました。このプロジェクトは大成功を収め、通常のWeb開発と比較して開発時間が75%短縮されました。それ以来、新しいアプリケーションが追加され、システムは現在1000を超える実行中のアプリケーションをカバーしています。

2015年2月、W3SchoolsはAppMLを新製品として再発売し、一般に公開しました。

AppMLの設計目標:

  • AppMLアプリケーションはインターネット上で実行する必要があります
  • AppMLアプリケーションはプラットフォームに依存しない必要があります
  • AppMLアプリケーションは、インターネット標準(HTML、CSS、JavaScript)のみを使用する必要があります
  • AppMLアプリケーションは、さまざまなアプリケーションのニーズをサポートする必要があります
  • AppMLアプリケーションは自己記述型である必要があります
  • AppMLアプリケーションは、開発、保守、変更が簡単でなければなりません
  • AppMLアプリケーションは将来にわたって利用できる必要があります

以下の段落では、将来のWebアプリケーションに関するRefsnes Dataの当初のビジョン(1999)について説明します。


実行可能ファイルは死に、JavaScriptは生き続ける

コンパイルされた実行可能ファイル(CやJavaなどの言語からコンパイルされたもの)は、別のハードウェアで実行することはできません。

実行可能ファイル(EXEファイル、ActiveXおよびCOMオブジェクト、DLLファイル)は、インターネット上で実行できるアプリケーションの開発を妨げるコンポーネントです。

将来のアプリケーションでは、クライアントのコンピューターにインストールされている実行可能ファイルやその他のコンポーネントを使用したり、依存したりすることはありません。

私たちの提案:

HTML、CSS、JavaScriptのみを使用して将来のアプリケーションを作成します。

将来のアプリケーションが任意のWebブラウザで実行されることを確認してください。


Webアプリケーションはインターネットサービスになります

歴史は、大規模な専用のアプリケーションでいっぱいです。これらの多くは、要件の変更に耐えられなかったため、非常に迅速に死亡しました。

アプリケーションは、柔軟で一般化されており、崩れたり破壊されたりすることなく、変更に適切に適応する必要があります。

アプリケーションは、1日あたり数件から数百万件のリクエストをサポートするように拡張できる必要があります。

アプリケーションは、アプリケーションを壊すことなく、1つのサーバーから多数のサーバーに拡散したり、サーバー間を移動したりできる必要があります。

アプリケーションは、他のアプリケーションと連携できる必要があります。

アプリケーションには、大量のコードを含めるべきではありません。

アプリケーションは、作成と保守が容易な小さなサービスに分割する必要があります。

アプリケーションは、送信されたインターネット要求にデータを返すことができるインターネットサービスのセットである必要があります。

アプリケーションは、サーバーへの永続的な接続を維持せずに、標準のインターネットプロトコルを介してサービスを要求する必要があります。 

私たちの提案:

インターネットベースのSOA(サービス指向アーキテクチャー)を使用して、将来のアプリケーションを作成します。

アプリケーションサービスを一般的かつ柔軟にし、さまざまなタイプの要求に対応できるようにします。


将来のアプリケーションは簡単に作成および編集できるようになります

クライアントとサーバーは、わかりやすい方法でデータを交換します。

回避できる場合、アプリケーションはコーディングされません。

アプリケーションは、コードを編集するのではなく、モデルを編集することによって作成および変更されます。

アプリケーションの説明は、人間が読める形式になります。

アプリケーションの説明は自己記述型になります。

アプリケーションは、プログラマーではなく、ユーザーによって作成されます。

私たちの提案:

人間が読めるテキストファイルを使用してサービスを説明し、これらの説明を実行してサービスを提供します。

アプリケーションを説明するには、テキストファイル(JSONファイルなど)を使用します。

データを交換するには、テキストファイル(JSONファイルなど)を使用します。

HTML、CSS、およびJavaScriptを使用してアプリケーションを実行します。


3人の小さなWeb開発者...

昔々、新しいWebサイトを開発している3人の小さなWeb開発者がいました。

1.最初のWeb開発者はAppMLを使用していました。

2. 2番目のWeb開発者は、お気に入りのサーバープログラミング言語を使用していました。

3. 3つ目は、プロフェッショナルなエンタープライズWeb開発フレームワークを使用することでした。

最初のWeb開発者は、2日でデモを開始して実行しました。ユーザーとのコラボレーションの後、既存のプロトタイプは1週間で準備が整いました。そして、2週間のテストの後、インテリジェントで高速で使いやすいWebサイトを公開する準備が整いました。

2番目のWeb開発者は、6か月後に自分のWebサイトを準備しました。しかし、WWWはその要件を変更し、満足していませんでした。プロジェクトに含まれるコードが多すぎるため、Web開発者はプロジェクトに大きな変更を加えることができませんでした。そこで彼はバージョン2の開発を始めました。

3番目のWeb開発者は、自分の作業を完了することができませんでした。プロフェッショナルなWeb開発フレームワークは、使用するのが非常に難しく、理解するのが非常に難しく、テストするのがほとんど不可能でした。

最初の開発者がどのようにそれを行ったかを見てください