我是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?
答案 0 :(得分:12)
试一试10!
是的,这是真的。我们还没有为只有Java的用户提供启动器。但这并不意味着Vaadin 10不可能。哈维尔已经给出了一个很好的例子。我们一直致力于新的首发,并且将来也会允许第三方的首发。
有关迁移,请查看https://vaadin.com/docs/v10/flow/migration/1-migrating-v8-v10.html。它应该给你一个很好的概述。
除此之外,Vaadin 10已达到测试状态,我们计划在今年发布最终版本。
如果你从未与Vaadin合作,我会建议使用Vaadin 10而不是开始学习“旧”Vaadin(即使它会被支持多年)。
答案 1 :(得分:7)
虽然Vaadin 10 Bakery App Starter在演示框架的新功能方面做得很好,但它主要基于PolymerTemplate
,如果你正在寻找一些与Vaadin 8更相似的代码,它可能不是最好的例子。
实际上,编写仅Java的UI仍然像以前的版本一样简单。例如,Vaadin Flow Tutorial(下面的摘录)中描述的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...
}
答案 2 :(得分:7)
我和Vaadin一起开发了几年,我建议坚持使用Vaadin 8。
虽然Vaadin 10(由GWT替换WebComponents)有了根本性的变化,但我强烈建议坚持使用Vaadin 8开始一个新项目。特别是如果你也是从Vaadin开始。
Vaadin 10是开发者预览版。一路上会有很多变化。此外,知识库(文档,StackOverflow,论坛等)要小得多。此外,我还没有看到2018年发生的稳定版本。我的猜测是2019年夏天,直到它足够稳定以取代Vaadin 8。
了解long-term plans for Vaadin 8 on the company’s roadmap。计划包括几年定期发布季度节奏。
2018年3月:Vaadin 10(现称为 Vaadin Flow )just went into beta。公司announced a new release cadence plan,发布季度版和长期支持版(LTS)。也许稳定的发布会比我预期的更早发布。但我仍然建议 Vaadin Framework 8 用于新项目。
答案 3 :(得分:2)
我已经制作了Beverage Buddy app启动器的这个修改版本,您可以查看:https://github.com/OlliTietavainenVaadin/drink-starter-flow。只有Java在那里使用,没有CSS或JavaScript。
答案 4 :(得分:0)
如果您对Kotlin而不是Java感到满意,可以尝试https://github.com/mvysny/vaadin-kotlin-pwa。该应用程序的目标是完全不使用Polymer Templates,并编排纯服务器端的所有内容,就像我们使用Vaadin 8一样。所有内容都应该在Github自述文件中解释 - 如果没有,请告诉我并打开一个bug报告。