Skip to content

MobileWebAppModuleLoaderUseCase

uupaa edited this page May 26, 2015 · 15 revisions

このエントリの原版は2011年の冬に書かれました。2011年に予想した Mobile Web Application の未来とは次のようなものでした。

  • モバイル端末の CPU が Many Core 化する
  • ネットワークは LTE がデフォルトになる
  • パケットフリーではなくなり、高価な定額制と、安価な従量制に二分化している
  • Mobile Web Application は WebWorkers を主体としたマルチスレッド構造にシフトする
  • どこでも動作するモジュールの需要が高まる
  • ES.next (ES6) が使われ始めている

当時は、WebModulePattern を「コードをシンプルに維持しつつ、次世代の ES6::modules がブラウザに実装されるまでの繋ぎ」と考えていました。 それは、CommonJS や AMD などの不完全な方式も含めて、3〜5年後にはそれらが全て不要となっている状況が望ましいと考えていたためです。

従来の Module pattern

従来からある方法とES6::Moduleのモジュールパターンの一覧です。

Module pattern
Browser Module pattern <script src=...>
CommonJS Module pattern require(...)
AMD define(...)
ES6::modules export ...
import ...
WebModuleIdiom `var GLOBAL = GLOBAL

ES6::Modules と Mobile Web Application

ES6 には import export 構文が追加され、ES6の構文を使うと見慣れたスタイルでモジュールを記述し利用することが可能になりました。

しかし、サーバサイドは ES6::Modules を活用できますが、Mobile Web Application 環境においては ES6::Modules はユースケースにマッチしないため利用できません。

以下で詳しく説明します。

TBD

Clone this wiki locally