Spring Bootプロジェクトを手早くブートストラップするオープンソースツールのSpring Initializerと、それを支えるテクノロジであるstart.spring.ioに、最近数ヶ月間、いくつかのアップデートと機能追加が行われた。アップデートの中には、これまで要求の多かった機能の追加や、生成前にブラウザでプロジェクトの内容を確認する機能などが含まれている。リファクタと再設計により、プロジェクトをフォークする必要なく容易にカスタマイズ可能になったプロジェクト生成APIや、新たに再設計されたUIなども提供される。
ユーザのフィードバックに応える形で、Springチームは、新たにプロジェクトエクスプローラ機能をSpring Initializrに導入した。要望の多かったこの機能によって、開発者は、"実際にダウンロードしたり、解凍したりしなくても、生成されるプロジェクトファイルを覗く"ことが可能になった。この機能を使用すれば、さまざまなオプションが生成されるプロジェクトの結果にどのように影響するかを調べたり、既存のプロジェクトと比較したりすることができる。
プロジェクト作成ツールを支えるAPIにも、いくつかのアップデートが行われた。チームメンバーのMadhura Bhave氏は、アップデートの理由を次のように説明している。"既存のAPIには、プロジェクト生成をカスタマイズしたい場合に、まともな唯一の手段がライブラリをフォークすることだけであるという問題がありました..."、"これが開発者エクスペリエンスを大きく損ねていたのです。" これに対処するためにチームは、いくつかの新たな抽象化とコールバックインターフェースの作成を実施した。例えば、新設されたBuildCustomizer
インターフェイスを使用すれば、最近導入された抽象化のひとつであるBuild
をカスタマイズして、依存関係やプラグイン、あるいは他のカスタムビルド動作を追加することが可能になる。また、@ConditionalOnPackaging
などの新たなアノテーションによって、カスタマイズの条件付き適用が可能になった。"これは、ライブラリを変更することなく、外部モジュール内でカスタマイザを定義可能にする、という考えに基づいています。"
最後に、同プロジェクトでは、"(必要性の極めて高い)リフレッシュ"の一環として、新たなUIをリリースした。新たな機能の導入や既存機能の変更は行っていないが、最新のレイアウトとユーザインターフェースが導入されている。具体的な部分では、これまでの2カラムとは対照的に、すべての機能機能を単一カラムに移行した。さらに依存関係検索機能では、依存関係に関するより詳細なメタデータが追加されている。例えば、検索結果では、"Web"依存関係の説明としてこれまでは"Spring MVCおよびTomcatを使用したサーブレットWebアプリケーション"と表示されて、選択された依存関係のリストには"Web"が挙げられていた。新バージョンではより分かりやすく、"Spring MVCを使用したWeb、あるいはRestfulアプリケーションの構築。組み込みコンテナのデフォルトはTomcat"と説明された上で、選択された依存関係リストも"Spring Web Starter"と、より明確なものになっている。
新しい機能をすぐに使用したい場合は、start.spring.ioをチェックするとよいだろう。Spring Initializrへのフィードバック提供やカスタムバージョンの作成に関心があるならば、Githubのinitializrとstart-siteの2つの関連プロジェクトを確認してほしい。