2009年6月22日月曜日

標準アプリケーションの構造(想像)

 アプリケーションの中身を覗いてみると、Javascript、HTML、CSSから構成される、かなり普通のWebアプリケーションなので少々驚きました。流石に単にhtmlを開くとアプリとして実行されるといった物では無いですが。
 今まで見た範囲ですが、アプリケーションは以下の構造をしているようです。ここら辺はmojo SDKが出てくるとハッキリ分かって来るでしょうね。
 アプリが起動すると、
1)appinfo.jsonで指定されている最初に読み込むhtml(通常index.html)が呼び出される
2)index.htmlからapp-assistant.jsが呼び出され各種初期化処理が実行される
3)アプリ名-assistant.jsが呼び出されアプリ固有の初期化処理が実行される
といった流れでアプリケーションが実行されているように見えます。

(app)
+
├□appinfo.json
│  (アプリの名前、アイコン、最初に読み込むHTMLなどのアプリ情報)
├□icon.png
│  (アプリのアイコン画像)
├□index.html
│  (最初に呼び出されるhtmlファイル appinfo.jsonで指定)
├□framework_config.json
│  (mojo frameworkの動作設定 ログ出力レベルを変えてる程度?)

├□notifications.html
│   (???通知表示に使われる?)

├□xxx.html (???)
├□sources.json (??? )

├■app (アプリ実行に必要なjs,htmlファイル群 通常mvcモデルで各フォルダに格納)
│ ├■controllers
│ │ ├□app-assistant.js
│ │ │  (OSからの引数の受け取りやアプリの基本的な初期化処理 通常index.htmlからCall)
│ │ ├□アプリ名-assistant.js
│ │ │  (アプリ固有の初期化処理 Eventハンドラetc.. 通常index.htmlからCall)
│ │ └□xxx.js
│ │    (Controller関連処理)
│ │ 
│ ├■models
│ │ └□xxx.js (Model関連処理)
│ │
│ └■views
│   └■ビュー名毎のフォルダ
│     └□xxx.html (各種画面用html )

├■images (画像ファイルを格納するフォルダ)

├■javascript
│ └□xxx.js (???共通、ユーティリティ系の処理?)

├■resorces (言語別リソースが定義されるフォルダ)
│└■en-us(国別フォルダ 現在はen-usのみ)
│ ├□appinfo.json
│ ├□string.json
│ ├■stylesheets
│ │ (言語別のcss 同名ファイルがあれば〜/stylesheetsと置き換わる)
│ └■views
│   (言語別の画面フォーム(html) 同名ファイルがあれば〜/app/viewsと置き換わる)

└■stylesheets
  └□xxx.css (htmlで使用されるcss)

0 件のコメント:

コメントを投稿