Sencha Architect 2.2: より良く、より速く、より強固に
こんにちは、ゼノフィkotsutsumiです。
昨日Sencha ArchitectとExt JSの新しいバージョンを発表しました。 Sencha March Madnessのブログ投稿 でArchitect 2.2の新たな機能の概要を説明しましたので、今日はこの数ヶ月間で行った更新についてより深く説明したいと思っています。
Architectが熟成してきたので、多く開発者が大規模プロジェクトで利用するようになりました — しばしば他の開発者と協力して。 これらのプロジェクトが複雑になってくると、そのプロジェクトを管理する際に開発者は新しい難題に直面します。Architect 2.2はこれらのユーザーの体験を向上することに集中しています — そこにはArchitectの基本的なパフォーマンスから、ナビゲーションの容易さ、より良いソースコントロール統合、開発をより簡単にする新しい機能までが含まれています。
最初にArchitectのパフォーマンスを高めるために我々の Sencha Desktop Packager の最新バージョンを利用してArchitectをパッケージングしました。 これでメモリー使用量やパフォーマンスが大きく進化しました。実際のサンプルプロジェクトを開くとArchitectが以前と比べるとたった1/4から1/3のメモリーしか消費しないことが確認できました。(ご存じない方へ:ArchitectはExt JSで作られていて、この最新バージョンでは以前のパッケージング技術を弊社のモダンで速いDesktop Packagerに切り替えました。我々が思うにはArchitect 2.2はSenchaフレームワークやパッケージャーを使って何が成し遂げられるかの良い見本になると思っています。ずっと自分のドッグフードと亀を食べながら、パフォーマンスを向上しました。)
プロジェクトのオープンと保存が速くなりました
パフォーマンスを向上させるためにArchitectのプロジェクトの開き方と保存の仕方を変更しました。Architect 2.2でプロジェクトを開く時には選択されたプロジェクトコンポーネントだけ開きます、このお陰で大きなプロジェクトをより速く開くことができます。私たちはプロジェクトのロード時間が桁違いに向上したことを喜んでいます:以前は30秒や50秒もかかったプロジェクトは現在は3秒か5秒で開きます。
現在Architectは必要なプロジェクトコンポーネントだけを開くことになったため、プロジェクトを保存するところもより効率化しました。今は”Save”をクリックするとArchitectは変更されたアプリケーションファイルとメタデータだけを保存するので、もし頻繁に保存する場合には、これでより速くなります。もちろん、アプリケーション全体を再生成したいときもあると思いますので、その時は「Build」ボタンがその役目を果たします。
インテリジェントソースコントロール統合
保存時のさらなる効率化はソースコントロールとのインテグレーションの改良です。 それは毎回小さい変更を保存する時に全ての生成したアプリケーションコードを変更していないからです。 ソースコントロールのインテグレーションに対してもう一つ変更した部分があります。 Architectが単にディスクの変更に気づくようになっているだけではなく、Architectがその変更をインテリジェントに扱うことができます。 Architectは今あなたのプロジェクトフォルダを見て、Architectが起こした変更以外の変更(例えばあなたのソースコントロールシステムによるもの)に気づくようになっています。 もし開かれていないコンポーネントに変更が発見されて、それがArchitectで変更された場合、Architectは単純にその変更を受入れてログファイルに記録します。その変更が開発者が現在編集しているコンポーネントに発見された場合、Architectが開発者にアラートして、開発者がディスク上で検出されたバージョンと、現在Architectで作業している変更のどちらをとっておくのかを決定します。 このお陰でお互いの邪魔をせずに同じプロジェクトで他のArchitectユーザーと一緒に共同作業をできるようになります。
プロジェクトナビゲーションの改良
パフォーマンスとソースコントロールの改良は役に立ちますが、とても大きなプロジェクトに関わっていたら全てのコンポーネントを管理するのは難しいことです。 それを探るのを助けるためにProject Inspectorに”Quick Open…”の検索ボックスを追加しました。これで簡単にトップレベルのコンポーネントを見つけて開けるようになりました。
コンポーネントを見つけたあと、よく違うコンポーネントの間をに行ったり来たりしなければならないことがあります。 例えばビューコンポーネントのキャンバスレイアウトとコントローラーの関係する関数コードの間といったぐあいです。 これをより簡単にするためにに、Architectではキャンバスの中で複数のタブを開けるようになりました。 タブを開いてからキーボードのショートカットを使ってタブの間を移動できます。
より簡単なコーディング
Architectのプロジェクトが大きくなって複雑化すると、目的を達成するために開発者はカスタムオーバーライドを生成しなければならない事がありました。 Architect 2.2では変更を施して、この状況に対応しました。 オーバーライドを生成するシナリオは外部コード(例えば第三者のJavaScriptコンポーネントやエクステンション)をArchitectに持ち込む時でした。 Architect 2.2では、Architectの新しいCreateAliasとCreateClassコンフィグで、コンポーネントをJavaScriptのリソースとして追加したり、そのエイリアスを生成したりできます。
また、コンポーネントのライフサイクルが開始するとき、Architectで振る舞いをカスタマイズするコードを新しいprocessConfig (Ext JS)やinitialize (Touch)コンフィグを使ってより簡単に挿入できます。 詳しくは Architect を参照してください。
モッキング(馬鹿にしているの?)
Architectは既に多様なデータソースからストアデータを単純に取得できるようになっていますが、開発中にArchitectで有効なソースデータを取得するのは難しい場合があり、そんな場合はアプリケーションのUIを開発するのも難しくなります。 例えば、バックエンドのストアが使える情報を提供するために認証トークンや位置情報のデータが必要となることもあります。 Architectはストアのdataコンフィグに開発者がモックデータを挿入できるようになっています。 このモックデータはArchitectのキャンバス内でストアを使うビューで表示されますが、アプリケーションを出荷する時には模擬データは必要ありませんから、Architectはそれを生成するコード内には含めません。
最新のフレームワークの幅広いサポートと強固な統合
最後に、ArchitectはSenchaフレームワークの最新リリースをサポートしています。 もし私たちのようにNeptuneテーマ、大きいデータグリッド、Ext JS 4.2の右から左対応(RTL)についてわくわくしていたら、Architect 2.2でExt JS 4.2と作業するのがこんなに簡単で喜んでもらえると思います。 もしArchitectのプロジェクトをフレームワークのもっと古いバージョンで始めていても心配はいりません。 Architectは適切にExt JS 4.2へのアップグレードの全てについて面倒を見ます。
これでArchitect 2.2の大きな改良点の説明の全てが終わりました。 今後、Ext JS 4.2での変更点についてのブログ投稿がありますからお楽しみしていて下さい。 その後Architect 2.2を試して下さい、こうするとフレームワークの新しい機能がよく分かります。
Architect 2.2は現在 ダウンロード でき、 購入 するか30日間トライアルができます。 Achitectは Sencha Complete と Sencha Touch Bundle の一部にもなっています。 既にユーザーになっている人には一週間後に自動アップデートを出します。
最後にArchitectの有効期限切れ判定をリセットしましたので、現在使われているArchitectの判定を30日間延長しました。 Architectを再びアクティブにするには、Architectのスプラッシュスクリーンで単に”change user”を選択してあなたのユーザー情報を入力して下さい。