3月ぐらいにMLでMithril.jsの将来計画を聞かれた時の、作者のLeo Horie氏のコメントが興味深かったので翻訳してみました。ちなみに、回答されていなくて明記もされてないのですが、MLのやりとりを見ているとMithrilにはコアメンバーが4-5人はいそうです。
Andreas Söderlund
私は現在とても大きなWebのプロジェクトを開始しようとしています。少なくとも5年は使われ続けることを考慮して、なるべく将来のことについて考えておきたいと思います。例えば、5年前はタブレットとモバイルデバイスは考慮に入れることはそれほどありませんでしたが、今はそれらのサポートが絶対に必要です。
最初の質問はLeoへの質問です。Mithrilはとてもすばらしいもので、すでにそれを使うことは決定しました。しかし、LeoがMithrilに対して5年後にどのあたりを見ているのかを聞いておきたいと思います。唯一のメンテナーであり続けるんでしょうか?何か大きな変化が近々入りますか?1.0のリリースまではどれぐらいあるんでしょうか?
2つ目はこのMLにいるすべての人への質問です。これから5年間の間に、どのようなウェブ技術が登場すると思われますか?あなたが導入されると思っていること、人々が期待していること、ソフトウェア開発の変化などです!
Leo Horie
近い将来Mithrilにやってくるものは主に2つあります。 1) コンポーネントブランチ(訳注: 0.2.0でリリース済み) 2) PromiseをES6 APIに移行する。
その後にMithrilに何が起きるのかを言うのは難しいでしょう。ある時点になったら内部をいくつかクリーンに書き換えるかもしれませんし、フレームワークは少しスリムになるでしょう。例えばfat arrows(訳注: ES 6の関数のアロー記法)が主要なブラウザで使えるようになれば m.prop()
は活躍の場が減る可能性もありますし、IEがES 6のPromiseを備えれば、PromiseのPolyfillはなくなるでしょう。
将来起きうることとしては、Mithrilのプラグインや、さまざまなサードパーティライブラリに対するMithrilラッパーを提供するコンポーネントに関するエコシステムが大きくなったり、現在コミュニティレベルで作成されているアイソモーフィックなフレームワークもより成熟してくるでしょう。
正直に言えば、Mithrilの開発にあたっては新しい技術へのベットをしなかったため、ウェブをめぐる生態系の変化に対して、Mithrilのコアはほとんど変化しませんでした。Mithrilのほとんどのコードは、5年前から使用できた技術のみを使って書かれています。唯一の賭けが、非同期の取り扱いの抽象化のためにPromiseを使うという判断でした。私が見ている限り、Mithrilは比較的複雑なアプリケーション(もちろん、適切なサードパーティライブラリを追加するのを前提として)の構築に十分耐えられていますし、現在のコアが陳腐化して新しい基本コンセプトを導入してコアを焼きなおす必要が出てくることはないと考えています。
ほとんどの人が考えていることとは対照的に、私はウェブの技術の本質はそれほど大きくは変化してないと考えています。3日ごとにウェブ開発を大きく揺さぶる新しいツールがやってきますが、それらはすべて漸進的な改善であり、今まであったテーマの新しいバリエーションにすぎません。
新しい世代のウェブ対応のガジェット(例えば、Apple Watchやモジュラー化するスマホ)が登場する機運が高まっていて、ツールの分断はより大きくなり、Cordovaのようなギャップを埋めるプロジェクトがまた出てくるでしょう。私は、1つのコードベースで全ての環境をサポートしようとするレスポンシブデザインのアプローチはそろそろ機能しなくなる限界に来ると思います。絶対的にパワーが不足しているデバイスに対してあまりに肥大化したコンテンツをダウンロードさせようとするからです。