もどる

## リリースノート：kit v0.2.0

kit v0.2 "aquamarine"リリースは久しぶりの大型アップデートです。非常に多くの更新内容がありますが、どれも重要でkitをより便利にするものです。

## デスクトップ機能

- `config/desktop.json`からデスクトップアイコンを読み込みます。
  - 動的にデスクトップのアイコンを読み込みます。
- ウィンドウのリサイズ機能を一新。
  - jQuery UIによるリサイズを廃止(アプリ内での使用は引き続き可能です)。
- コンテキストメニューの項目グループ化機能が利用可能になりました。
  - `kit-contextgroup-`接頭辞付きIDを使用します。
- 付箋関連機能が実装されました。
  - 付箋データのリアルタイム保存(変更されるたびに自動的に保存されます)。
  - デスクトップのコンテキストメニューから付箋が追加可能になりました。
  - 付箋のカスタムコンテキストメニューから付箋が削除・複製可能になりました。
- 各種テーマのスタイルがダークテーマに対応するよう調整されました。

## システム関連

- システム全体を常にstrictモードで実行します。
- `System.installed`
  - インストールされたアプリケーションが保存されます。
- 起動パスの概念
  - `System.launchpath`にすべてのアプリの起動パスが格納されます。
  - 起動パスは、それぞれのプロセスがアプリケーションを読み込んでいるディレクトリのパスを表します。
  - これによりkitアプリケーションのより柔軟な利用(インストールなど)が可能になりました。
- `System.appInfo`メソッドの更新
  - 起動パスを表示するようになりました。
- `System.display`
  - デスクトップの現在の幅と高さを格納します。
- `System.selectedText`
  - 選択中の文字列を格納します。
- `System.config`
  - 設定情報を格納します。
- `System.changeWindowTitle`メソッド
  - 任意のウィンドウのタイトルを変更します。
- kitシステム起動時にShiftキーを押下することでセーフブートが可能になりました。
  - 受付時間はおよそ0.4秒です。
- `System.dom`メソッドの更新
  - 可変長引数に対応し、指定プロセス内の任意の個数の複数セレクタに該当するDOMをまとめてjQueryオブジェクトとして返します。
- `System.qs`メソッド
  - 新しいSystem.domメソッドと同一の構文で、該当するすべてのDOMの静的な`NodeList`を返すバージョンです。内部的に`document.querySelector`メソッドを使用しています。
- `process`オブジェクトにプロセスのウィンドウタイトルを格納します。
- アプリのテンプレートの読み込みが完了する前にスクリプトの読み込み・実行が行われるバグを修正しました。
- システムのアナログ時計が抱えていたバグを修正しました。

この他に、軽微なバグの修正、システム全体の軽量化が含まれます。

## kitstrapのバンドル

kitstrap 0.2がバンドルされました。これにより、以前より格段にアプリケーションのスタイルやレイアウトを作成することが簡単になりました。

kitstrapについての詳細はkitstrapドキュメントを参照してください。

## kit apps framework

kit apps framwork (v1)が実装されました。アプリの開発者はkafを使用することで、JavaScriptコーディングの量を劇的に少なく、あるいはまったくなくすことができます。既存のアプリの一部もkafを利用するように変更されています。

kafはAppクラス上に展開され、`App`クラス内の各種メソッドから操作可能です。kit v0.2 "aquamarine"で実装されたkaf関連機能は以下の通りです。詳細は各属性・メソッドのページを参照してください。

### kaf属性

- kit-alert属性
- kit-bind属性
- kit-close属性
- kit-e属性
- kit-html属性
- kit-launch属性
- kit-observe属性
- kit-ref属性
- kit-src属性

### Appクラス内のメソッド

- App.changeWindowTitleメソッド
- App.contextメソッド
- App.dataメソッド
- App.eventメソッド
- App.getPathメソッド
- App.kafメソッド
- App.loadメソッド
- App.preventCloseメソッド

## KWS関連

- `KWS.fullscreen`
  - 最大化ウィンドウのプロセスIDなどの情報を格納します。
- `KWS.max`メソッドが実装されました。
  - 指定ウィンドウを最大化します。
- `KWS.unmax`メソッドが実装されました。
  - 指定ウィンドウの最大化を解除します。

## define.jsonの新機能

- `support.fullscreen`キーを指定して最大化可否を指定します。
- `size`キーを指定して初期のウィンドウサイズを指定します。
- `resize`キーを指定してウィンドウのリサイズ時の最小幅および最小高を指定します。
- `icon`キーに`none`を指定することでアイコンなしを指定可能になりました。
- `support.kaf`キーに`false`を指定してkafを無効化することが可能です。

## 各種アプリの更新

非常に更新内容が多いため、大きな更新のみ紹介します。

- デフォルトアプリとして`app/kish`(v0.3)をバンドルしました。
  - kishについての詳細はkishドキュメントを参照してください。
- 新しいアプリ`app/user`を追加しました。
  - ユーザー情報／ステータスを素早く確認できます。ステータスバーからアクセス可能です。
- 新しいアプリ`app/install`を追加しました。
  - 簡単なウィザードに従ってkitにアプリケーションをインストールできます。
- 新しいアプリ`app/bandr`を追加しました。
  - `.kitbackup`ファイルを利用したkitシステム全体のバックアップ及び復元が実行可能です。
- アプリ`app/document`をv1.0にアップデートしました。
- アプリ`app/alert`をv2.0にアップデートしました。
  - kafを使用しています。また、長いアラートがスクロール表示されるようになりました。
- アプリ`app/appman`をv1.0にアップデートしました。
  - インストール済みアプリの一覧が表示されるようになりました。
- アプリ`app/dialog`をv2.0にアップデートしました。
- アプリ`app/pmgr`をv3.1にアップデートしました。
- アプリ`app/settings`をv4.0にアップデートしました。
- アプリ`app/welcome`をv1.2にアップデートしました。
  - kafを用いることにより、JavaScriptコーディングが0行になったアプリの一つです。
- アプリ`app/ytplayer`をv1.1にアップデートしました。

## 非推奨メソッドの削除

グローバルスコープ上のメソッドは徐々に削除されています。

- 非推奨メソッドだった`appInfo`メソッドが削除されました。
  - 代替のSystem.appInfoメソッドを使用してください。
- 非推奨メソッドだった`close`メソッドが削除されました。
  - 代替のSystem.closeメソッドを使用してください。
- 非推奨メソッドだった`kill`メソッドが削除されました。
  - 代替のSystem.killメソッドを使用してください。
- 非推奨メソッドだった`System.min`メソッドが削除されました。
  - 代替のKWS.minメソッドを使用してください。