BitoviがJavaScriptフレームワークCanJSのバージョン3.0をリリースした。CEOのJustin Meyer氏はこのリリースについて,“CanJSのアイデンティティに対する最終的な理解と受け入れ – 採用か死か – を問うものだ”,と述べている。
2017年にJavaScriptMVCの一部として開始された,“モノリシック”なJavaScriptフレームワークであるCanJSは,その数ある派生プロジェクトの中のひとつとしてあげられる。最初のローンチから約10年を経た3.0では,開発者に新たな機能が提供されている。
最新リリースに含まれる技術的な改善は,それぞれがCanJSのモデルレイヤとオブザーバブルオブジェクトをより強力な,使いやすいものにするためのステップとなる。中でも重要なのは,今回のリリースでフレームワークが小さなモジュールに分割されたことだ。
Chasen Le Hara氏は,CanJSのサポート企業であるBitoviの開発者エバンジェリストである。氏はCanJSで実施された変更について,InfoQに直接説明してくれた。
“プロジェクトのビッグアップグレードが難しいのは,それが‘オール・オア・ナッシング’だからです。開発者はその大きな変更を,すべて一度に取り入れなくてはなりません。さらに悪いのは,‘古い’ものが取り除れた場合,代替品にアップグレードするか,あるいはまったくアップグレードしないかを,開発者が選択しなくてはならないことです。” と氏は言う。
“私たちはこの経験を,数年前に廃止された魅力的な言語のひとつ(can-ejs)で経験していますが,それを使い続けるコミュニティメンバをサポートしたいと考えました。現在は独立したプロジェクトとして,メインプロジェクトに影響を与えることのないメンテナンスが可能になっています。”
CanJSを小さなモジュールに分割したことで,チーム(とコミュニティ)が新たな技術を経験しやすくなる,とLe Hara氏は述べている。
“私たちのエコシステムには,メインモジュールに同梱されていない数多くのプロジェクトがあります。”と氏は言う。“新しいものを試してみたい時にもは,モジュールをスイッチアウトするのも簡単です。私たちはそれを,[関数型リアクティブプログラミングをより容易にする]Kefirに統合されたcan-streamとcan-define
CanJSのモデルレイヤであるcan-connectの改善点としては,メモリ管理などの機能の抽象化,リストの自動更新,フォールスルーキャッシュなどがある。ライブラリに含めることで,開発者が“複雑な処理を自ら記述しなくても”自身のアプリにこれらの機能を含めることが可能になる,とLe Hard氏はInfoQに述べている。
CanJSは2017年で10年を迎える。Le Hara氏は優先順位について“まだ議論中”と言うが,他のプロジェクトや新技術に合わせるためにフレームワークのモジュールを改良する計画がある。can-connectモデルレイヤはAngularやReactといったプロジェクトと併用できるように設計されている。さらに開発チームでは,それらと統合する最良の方法を見出すべく,それぞれの技術に精通したコントリビュータを広範に探している。
CanJSはMITライセンスでオープンソースとしてリリースされており,InfoQ読者からのコントリビューションを求めている。プロジェクトのコントリビューションガイドにはバグ報告や機能提案に関する情報があり,始めるには最適の場所だ。フォーラムとGitterチャットも活発に活動しており,新たな開発者のプロジェクト参加を歓迎している。
この記事を評価
- 編集者評
- 編集長アクション