私はJava開発者であり、私は新しいプロジェクトを開始します。クライアント側の開発スキルは非常に限られています。これが私がVaadinフレームワークのアイデアを本当に気に入っている理由です。 Vaadin 10 Bakery App Starterアプリケーション https://vaadin.com/start#vaadin1 を評価し、このアプリケーションを稼働させるために作成されたカスタムHTML/CSS/JavaScriptの量に本当に驚いていました。現在、私はこれと本当に混乱していて、それが私の開発者の生活をどのように簡素化できるか理解していません。
今のところ、プロジェクトのスターターとして適用できる唯一のアプリケーションは、有名なQuickTicketsダッシュボード https://demo.vaadin.com/dashboard/ であり、すべてのUIは純粋にJavaで実装されています。現時点での最大の問題は、このアプリケーションがVaadin 8に実装されており、Vaadin 10のバージョンが見つからないことです。Vaadin10にも同様のバージョンはありますか?いいえの場合、このアプリケーションをVaadin 10に移植するために使用できるVaadin 8からVaadin 10への移行ガイドはありますか?
私は2年前からVaadinで開発しており、Vaadin 8を使用することをお勧めします。
Vaadin 10( [〜#〜] gwt [〜#〜] の WebComponents の置換)の地平線には根本的な変更がありますが、固執することを強くお勧めします新しいプロジェクトを開始するためのVaadin 8。特にVaadinから始めている場合はなおさらです。
Vaadin 10は開発者向けプレビューバージョンです。途中で多くの変更があります。また、知識のプール(ドキュメント、StackOverflow、フォーラムなど)ははるかに小さくなります。また、2018年に安定したリリースが行われることはありません。Vaadin8を置き換えるのに十分安定するまで、2019年の夏が私の推測です。
会社のロードマップにあるVaadin 8の長期計画 についてお読みください。計画には、数年間の定期的な四半期ごとのリリースケイデンスが含まれます。
2018年3月更新:Vaadin 10(現在はVaadin Flowとして知られています) ベータ版になりました 。そして同社は、四半期ごとのリリースと長期サポート(LTS)リリースを備えた 新しいリリースケイデンスプランを発表 です。たぶん、安定版リリースは予想よりも早く起こるでしょう。しかし、私はまだ新しいプロジェクトにVaadin Framework 8をお勧めします。
2019年8月の更新:現在のLTSバージョンであるVaadin 14がリリースされました。
ユーザーが最新の「エバーグリーン」Webブラウザーの最新バージョンを使用する場合、新しいプロジェクトを開始する場合、および 必要なコンポーネントが利用可能 の場合、はい14.を試すことをお勧めします。 このスピードバンプ 新しいVaadin 14プロジェクトの開始時に遭遇し、解決しました。
10を試してみてください!
はい、それは本当だ。まだスターターにJavaのみのUIを提供していません。しかし、これはVaadin 10では不可能だという意味ではありません。ハビエルはすでに良い例を挙げています。そして、私たちは常に新しいスターターに取り組んでおり、将来的にはサードパーティのスターターも許可する予定です。
移行については、 https://vaadin.com/docs/v10/flow/migration/1-migrating-v8-v10.html をご覧ください。それはあなたに良い概要を与えるはずです。
それに加えて、Vaadin 10はベータ版になり、今年の最終リリースを計画しています。
Vaadinをまったく使用したことがない場合は、Vaadin 10を使用して、「古い」Vaadinの学習を開始しないことをお勧めします(たとえそれが何年もサポートされる場合でも)。
Vaadin 10 Bakery App Starterは、フレームワークの新機能を実証するのに優れていますが、これはPolymerTemplate
に大きく基づいているため、Vaadin 8に類似したコードを探す場合、これは最良の例ではありません。
実際、JavaのみのUIの記述は、以前のバージョンと同じくらい簡単です。たとえば、 Vaadin Flowチュートリアル (以下の抜粋)で説明されているMainView
クラスにはGrid
が含まれており、HTMLやJSを記述する必要はありません。
このアプローチを採用する場合は、アプリケーションをSkeleton Starter Appに基づいて作成し、ExampleTemplate
(ポリマー)をJavaコードで定義された独自のレイアウトに置き換えます。
@HtmlImport("styles/shared-styles.html")
@Route("")
@Theme(Lumo.class)
@BodySize(height = "100vh", width = "100vw")
public class MainView extends VerticalLayout {
private CustomerService service = CustomerService.getInstance();
private Grid<Customer> grid = new Grid<>();
public MainView() {
grid.setSizeFull();
grid.addColumn(Customer::getFirstName).setHeader("First name");
grid.addColumn(Customer::getLastName).setHeader("Last name");
grid.addColumn(Customer::getStatus).setHeader("Status");
add(grid);
updateList();
}
//etc...
}
私がチェックできるBeverage Buddyアプリスターターのこの変更されたバージョンを作成しました: https://github.com/OlliTietavainenVaadin/drink-starter-flow 。 Javaのみ使用され、CSSやJavaScriptは使用されません。
Javaの代わりにKotlinで問題がなければ、 https://github.com/mvysny/vaadin-kotlin-pwa を試すことができます。このアプリの目標は、Polymerテンプレートをまったく使用しないことであり、Vaadin 8で行ったように、サーバー側のすべてをオーケストレーションすることです。すべてがGithub readmeで説明されているはずです-そうでない場合、私に知らせてバグレポートを開いてください。