13

我是 Java 开发人员,我将开始新项目。我的客户端开发技能非常有限,这就是为什么我真的很喜欢 Vaadin 框架的想法。我已经评估了 Vaadin 10 Bakery App Starter 应用程序https://vaadin.com/start#vaadin10并且对为了使该应用程序启动和运行而编写的大量自定义 HTML/CSS/JavaScript 感到非常惊讶。现在我真的很困惑,不明白它如何简化我的开发人员的生活。

目前,我可以作为项目启动器应用的唯一应用程序是著名的 QuickTickets Dashboard https://demo.vaadin.com/dashboard/,其中所有 UI 都完全用 Java 实现。目前最大的问题是这个应用程序是在 Vaadin 8 上实现的,我无法找到 Vaadin 10 的版本。你有类似的 Vaadin 10 吗?如果没有,您是否有我可以使用的从 Vaadin 8 到 Vaadin 10 的迁移指南,以便尝试将此应用程序移植到 Vaadin 10?

4

5 回答 5

12

试试10个!

对,是真的。我们还没有为初学者提供纯 Java UI。但这并不意味着 Vaadin 10 不可能。哈维尔已经举了一个很好的例子。我们一直在研究新的启动器,并且将来也将允许第 3 方启动器。

对于迁移,请查看https://vaadin.com/docs/v10/flow/migration/1-migrating-v8-v10.html。它应该给你一个很好的概述。

除此之外,Vaadin 10 达到了 beta 状态,我们计划在今年发布最终版本。

如果您根本没有使用过 Vaadin,我建议您使用 Vaadin 10,而不是开始学习“旧”的 Vaadin(即使它会被支持多年)。

于 2018-03-06T00:55:16.093 回答
7

PolymerTemplate虽然 Vaadin 10 Bakery App Starter 很好地展示了该框架的新功能,但如果您正在寻找一些更类似于 Vaadin 8 的代码,它很大程度上基于并且可能不是最好的示例。

实际上,编写纯 Java 的 UI 仍然和以前的版本一样简单。例如,Vaadin Flow 教程(以下摘录)中MainView描述的类包含一个并且不需要编写 HTML 或 JS。Grid

如果您采用这种方法,您可以将您的应用程序基于 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...
}
于 2018-02-18T23:28:42.280 回答
7

使用 Vaadin 8

我与 Vaadin 一起开发了几年,我建议坚持使用 Vaadin 8。

虽然 Vaadin 10 即将发生根本性变化(WebComponents取代GWT),但我强烈建议坚持使用 Vaadin 8 来开始一个新项目。特别是如果您也是从 Vaadin 开始的。

Vaadin 10 是开发者预览版。一路上会有很多变化。此外,知识库(文档、StackOverflow、论坛等)要小得多。此外,我认为 2018 年不会发布稳定版本。我的猜测是 2019 年夏天,直到它足够稳定以取代 Vaadin 8。

阅读公司路线图上的 Vaadin 8 长期计划。该计划包括几年的定期季度发布节奏。

2018 年 3 月更新:Vaadin 10(现在称为Vaadin Flow刚刚进入测试阶段。该公司还宣布了新的发布节奏计划,包括季度发布和长期支持 (LTS) 版本。也许一个稳定的版本会比我预期的更早发生。但我仍然推荐将Vaadin Framework 8用于新项目。

考虑 Vaadin 14

2019 年 8 月更新:当前 LTS 版本 Vaadin 14 现已发布。

如果您的用户将使用现代“常青”网络浏览器的最新版本,如果开始一个新项目,并且如果您需要的组件可用,那么是的,我建议尝试 14. 当心我遇到的这个减速带并在获取时解决从一个新的 Vaadin 14 项目开始。

于 2018-02-19T08:43:09.760 回答
3

我已经制作了 Beverage Buddy 应用程序启动器的修改版本,您可以查看:https ://github.com/OlliTietavainenVaadin/drink-starter-flow 。那里只使用了 Java,没有 CSS 或 JavaScript。

编辑(01/2020):这可能不再是一个好主意,您应该改用 Vaadin 14。

于 2018-04-16T05:40:44.500 回答
0

如果你对 Kotlin 而不是 Java 没问题,你可以试试https://github.com/mvysny/vaadin-kotlin-pwa。该应用程序的目标是完全不使用 Polymer 模板,并在纯服务器端编排所有内容,就像我们对 Vaadin 8 所做的那样。所有内容都应在 Github 自述文件中进行解释 - 如果没有,请告诉我并打开一个错误报告。

于 2018-03-30T10:30:34.590 回答