Vaadin 瓦丁10号用于新项目

Vaadin 瓦丁10号用于新项目,vaadin,vaadin8,vaadin10,vaadin-flow,Vaadin,Vaadin8,Vaadin10,Vaadin Flow,我是Java开发者,我将开始新的项目。我的客户端开发技能非常有限,这就是为什么我非常喜欢Vaadin框架的想法。我已经评估了Vaadin 10 Bakery App Starter应用程序,并对为使该应用程序正常运行而编写的大量自定义HTML/CSS/JavaScript感到非常惊讶。现在我真的很困惑,不明白它如何简化我的开发人员的生活 目前,我唯一可以作为项目启动者应用的应用程序是著名的QuickTickets仪表板,其中所有UI都是纯Java实现的。目前最大的问题是,这个应用程序是在Vaad

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


目前,我唯一可以作为项目启动者应用的应用程序是著名的QuickTickets仪表板,其中所有UI都是纯Java实现的。目前最大的问题是,这个应用程序是在Vaadin 8上实现的,我找不到它在Vaadin 10上的版本。你们有类似的Vaadin 10吗?如果没有,您是否有我可以使用的从Vaadin 8到Vaadin 10的迁移指南,以便尝试将此应用程序移植到Vaadin 10?

而Vaadin 10 Bakery App Starter很好地演示了框架的新功能,它主要基于
PolymerTemplate
,如果您正在寻找与Vaadin 8更相似的代码,那么它可能不是最好的示例

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

如果采用这种方法,您可以将应用程序建立在Skeleton Starter应用程序中,并用Java代码中定义的自己的布局替换
ExampleTemplate
(polymer)

@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...
}
@HtmlImport(“style/shared styles.html”)
@路线(“”)
@主题(Lumo.class)
@车身尺寸(高度=100vh,宽度=100vw)
公共类主视图扩展了垂直布局{
私有CustomerService=CustomerService.getInstance();
私有网格=新网格();
公共主视图(){
grid.setSizeFull();
grid.addColumn(Customer::getFirstName).setHeader(“First name”);
grid.addColumn(Customer::getLastName).setHeader(“姓氏”);
grid.addColumn(Customer::getStatus).setHeader(“Status”);
添加(网格);
updateList();
}
//等等。。。
}
使用Vaadin 8 我和瓦丁一起发展了几年,我建议坚持使用瓦丁8

虽然Vaadin 10(取代by)即将发生根本性变化,但我强烈建议继续使用Vaadin 8启动新项目。特别是如果你也从瓦丁开始

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

阅读关于这个问题的文章。这些计划包括几年内每季度定期发布一次

2018年3月更新:Vaadin 10(现称为Vaadin Flow)。以及该公司的季度发行版和长期支持(LTS)发行版。也许一个稳定的发布会比我预期的要快。但我仍然推荐VaadinFramework8用于一个新项目

考虑Vaadin 14 2019年8月更新:目前LTS版本Vaadin 14现已发布


如果您的用户将使用最新版本的现代“evergreen”web浏览器,如果正在启动一个新项目,如果是,那么我建议尝试14。在开始新的Vaadin 14项目时,请注意我遇到并解决的问题。

尝试一下10

是的,这是真的。我们还没有为初学者提供纯Java的UI。但这并不意味着使用瓦丁10是不可能的。哈维尔已经给出了一个很好的例子。我们一直在开发新的初学者,将来也将允许第三方初学者

对于迁移,请查看。它应该给你一个很好的概述

除此之外,Vaadin 10已达到测试状态,我们计划今年发布最终版本


如果您从未使用过Vaadin,我建议您使用Vaadin 10,不要开始学习“旧”Vaadin(即使它将被支持多年)。

如果您对Kotlin而不是Java没有意见,您可以尝试一下。该应用程序的目标是完全不使用聚合模板,像我们在Vaadin 8中所做的那样,在纯服务器端协调所有内容。一切都应该在Github自述中解释-如果没有,请让我知道并打开错误报告。

我制作了这个修改版的饮料好友应用程序启动程序,您可以查看:。那里只使用Java,没有CSS或JavaScript


编辑(2020年1月1日):这可能不再是一个好主意,你应该改用Vaadin 14。

V10尚未发布,我知道。这可以在开发者预览中找到。如果你现在想完成真正的工作,请使用当前版本的Vaadin 8。Vaadin 8是建立在多年前经过验证的代码基础上的。相比之下,Vaadin 10是实验性的新一代尖端产品,涉及新概念、新技术和新代码。Vaadin 10尚未准备好投入生产使用。您好@alexanoid您在Vaadin 10中找到什么可以帮助我创建应用程序或类似的模板吗。如果您能建议我,那么这将是适当的更新:Vaadin有限公司发布了2018-07 a,对目前使用Vaadin 8(框架)和Vaadin 10/11(流程)开发的利弊进行了冷静的分析。谢谢!我将遵循这一建议并坚持使用Vaadin 8更新:自2018-03年起,Vaadin Ltd已开始推出Vaadin 10,现在称为Vaadin Flow(v10)与Vaadin Framework(v8,7,6)。网站默认为流动信息和文档。请参阅关于定期季度发布cadence for Flow with Interspised LTS(长期支持)的新计划的博客文章。不过,我同意这个答案,认为你