JavaScript Package - OPEN INTRA-MART

Download Report

Transcript JavaScript Package - OPEN INTRA-MART

CSJSのお悩み解決!
im-UISumplements Project の全貌を5分でしゃべる♪
Last Update 2009/01/27
- Since 2007/12/25 Prezenter:Emoto (emooru)
OPEN INTRA-MART
CSJSを開発していて、
こんなお悩みはありませんか?
 たとえば、私はISPのCSJSライブラリをいくつか作った
 フローティングウィンドウ
 入力支援
 簡易HTMLエディタ etc
 しかし。。
 CSJSはライブラリ化しづらい
 名前の衝突の考慮、APIリスト
 必要なJSファイルをScriptタグで指定するのは面倒
 依存関係を考慮
im-JSPackman という基盤を開発♪
OPEN INTRA-MART
im-JSPackman
〜 intra-mart Client-Side JavaScript Package Management 〜
 JavaScript ライブラリを開発・管理・提供するには?
⇒ Java に習おう!
再利用性・メンテナンス性
向上をねらう
 JavaScript でクラス開発の方法を提案!
 クラス単位での開発
 1JSファイル1クラス定義
 継承
 パッケージ化
 機能をクラス・パッケージで分類・管理・提供
 その他
 instanceof による型判別
 例外クラス、例外処理の導入
 JSDoc(http://jsdoc.sourceforge.net/)によるAPIリスト化 等
OPEN INTRA-MART
[利用者] 利用イメージ
外部JSファイルを指定する script タグは1つだけ!
<html>
⇒ html ファイルのメンテナンスも楽!
<head>
<script type=“text/javascript” src=“../csjs/im/lang/jspackman.js” />
<script type=“text/javascript”>
動的にJSファイルを読込み、クラスをロード!
Import(“im.sample.SampleMain”);
⇒ 依存関係を気にする必要なし!
使用するクラスだけをインポート指定!
Import(“im.util.List”);
Main.invoke(“im.sample.SampleMain”);
function sample () {
var list = new im.util.List();
初期処理用に、Mainクラスを指定!
※onloadイベントの代わり
}
</script>
</head>
[注意]
<body> … </body>
インポートしたクラスは、Main クラスの main メソッドが
実行されるタイミング以降に利用できる!
</html>
OPEN INTRA-MART
今後の予定♪ 〜構築パッケージ〜
Ver.0.5 (開発版)
2009/06末 公開予定
※完成したUI部品
から随時公開
im.ui (im-UISupplements)
〜 UI部品s 〜
Ver.0.3 (開発版)
im.util
im.text
im.jsunit
im.net
2009/03末 公開予定
※徐々にクラス追加!
im.log
Ver.0.1 (開発版)
im.lang (im-JSPackman[core])
Native JavaScript
OPEN INTRA-MART
2007/12/25 公開♪
具体的には。。
 UI 部品
 フローティングウィンドウ、ツリー etc…
 デモ:フローティングウィンドウの可能性の広さ
 バリデータ
 サーバサイドと連動まで検討
 intra-mart タブ化
 アプリケーションをintra-mart画面内のタブで表示
 im-JSSPと連動したサンプルアプリケーション
 検討中♪
ご興味を持たれた方は是非
一緒に楽しく開発しましょう♪
OPEN INTRA-MART