BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース VaadinがPolyglotフレームワークのバージョン8をリリース

VaadinがPolyglotフレームワークのバージョン8をリリース

ブックマーク

原文(投稿日:2017/03/26)へのリンク

バージョン7のリリースから4年を経て、Vaadinは、UIコンポーネントを使ってWebアプリケーションを構築する同社のpolyglotフレームワークのバージョン8をリリースした。以下を含む21の改良点がある。

  • タイプセーフなJava API:
    • Vaadinの改良点:
      • コンポーネント
      • バリデータ
      • グリッド
      • 例外メッセージ
    • 新たなItemCaptionGenerator
    • タイプセーフなラムダ式
  • デフォルトの改善:
    • Null値
    • 順序付きレイアウト
  • パフォーマンスの向上
    • インメモリデータセットのオーバーヘッド削減
    • 大規模データセットで必要なCPUの削減
  • 将来への布石:
    • 旧バージョンのJavaとサーブレット仕様のサポート廃止
    • レガシーブラウザのサポート廃止

例 - バージョン7とバージョン8の違い

次の表は、Vaadinバージョン7からバージョン8への単純化のひとつである、タイプセーフなラムダ式について示したものだ。

バージョン7: バージョン8:
                    
Grid grid = new Grid();
grid.setContainerDataSource(
    new BeanItemContainer<>(persons));
grid.removeAllColumns();
grid.addColumn("firstName");
grid.getColumn("firstName")
    .setHeaderCaption("First Name");
grid.addColumn("lastName");

 

                    
Grid<Person> grid = new Grid<>();
grid.setItems(persons);
grid.addColumn(Person::getFirstName)
    .setCaption("First Name");
grid.addColumn(Person::getLastName)
    .setCaption("Last Name");

 

バージョン8で、コンテナ内のラッピングデータが削除されている点に注目してほしい。Vaadin ContainerインターフェースはAPIから削除されている。

サンプル“Creating CRUD UI with Vaadin”(Spring Guidesにある)もVaadin 8用に更新された。

入門編

Mavenを使用して次のコマンドを実行すれば、アプリケーションのビルドが開始される。


mvn -B archetype:generate -DarchetypeGroupId=com.vaadin
-DarchetypeArtifactId=vaadin-archetype-application -DarchetypeVersion=8.0.4
-DgroupId=org.test -DartifactId=vaadin-app -Dversion=1.0-SNAPSHOT
&& cd vaadin-app && mvn package jetty:run

これにより、(-DarchetypeArtifactIdで指定された)単純な単一モジュールのサンプルアプリケーションが生成され、(-DartifactIDで指定した)サブフォルダの作成とディレクトリの変更が行われ、Jettyインスタンスが起動して、次のようなアプリケーションが実行される。

これよりも複雑な、マルチモジュールのサンプルアプリケーションを試したい場合は、-DarchetypeArtifactIdの値をvaadin-archtype-application-exampleに置き換えればよい。

Vaadin 8のリリースステートメントでは、同社製品マーケティングマネージャのMatti Tahvonen氏が、近い将来の目標について論じている。

Vaadin 8.0.0では多くの機能拡張が行われていると同時に、さらなる機能強化の基礎でもあります。旧JDKのサポートを廃止し、Internet Explorer対応のメンテナンスを終了したことにより、新機能をより迅速に提供できるようになります。4月にスケジュール済みの次期マイナーリリースでは、要望の多かった階層構造とドラッグアンドドロップ、コンポーネントのサポートがGridコンポーネントに追加されます。

 

定期的なバグ修正リリースもこれまでどおり続けますので、もし“.0 bugs”に直面したならば、GitHubから報告してください。

リソース

 
 

この記事を評価

関連性
スタイル
 
 

この記事に星をつける

おすすめ度
スタイル

BT