Vaadin 25 正式发布:回归标准Java Web,让企业级开发更简单、更高效
<p><img src="https://image.evget.com/attachment/keditor/image/20251219/093958_3.png"></p><p><strong>Vaadin 25.0</strong> 作为一个全新的大版本正式发布,开启了 Vaadin 的新一代产品线。本次升级的核心主题非常明确:<strong>减少 Vaadin 特有的“特殊机制”,让日常开发方式更加贴近标准的现代 Java + Web 技术栈</strong>,无论是样式、构建流程还是依赖管理,都更加“原生”“通用”。</p>
<p style="text-align: center"><span style="color: rgba(230, 126, 35, 1)"><strong>获取Vaadin产品试用 请联系vaadin中国区合作伙伴慧都科技>>></strong></span></p>
<blockquote>
<p>作为一个主版本升级,<strong>Vaadin</strong> 25.0 包含一定数量的破坏性变更。企业用户在升级时,建议重点关注:<strong>主题与样式、生产构建方式、核心组件变更以及框架和工具链要求的更新</strong>。</p>
</blockquote>
<hr>
<h3>关于 Vaadin:专为企业级应用打造的 Java Web UI 框架</h3>
<p><strong>Vaadin</strong> 是一款源自欧洲、在全球范围内广泛应用的 <strong>企业级 Java Web UI 框架</strong>,核心优势在于:</p>
<ul>
<li>
<p>使用 <strong>纯 Java</strong> 构建现代 Web UI</p>
</li>
<li>
<p>无需编写或极少编写 JavaScript</p>
</li>
<li>
<p>天然适合 <strong>企业级系统、后台管理系统、工业与金融应用</strong></p>
</li>
<li>
<p>与 Spring、Jakarta EE、Quarkus 等主流 Java 技术体系深度集成</p>
</li>
</ul>
<p><strong>Vaadin </strong>被大量应用于金融、制造、能源、电信等行业,是构建 <strong>高安全性、高复杂度业务系统</strong> 的成熟选择。</p>
<p><img src="https://image.evget.com/attachment/keditor/image/20251124/102228_1.png"></p>
<hr>
<h3>一、主题与样式体系全面简化:更像“普通 CSS”</h3>
<h4>1. 主题就是样式表(Themes are just CSS)</h4>
<p>在 <strong>Vaadin</strong> 25 中,<strong>主题不再是复杂的框架配置,而是回归为标准 CSS 样式表</strong>:</p>
<ul>
<li>
<p>以 CSS 样式表为主要方式进行 UI 样式设计</p>
</li>
<li>
<p>仍然支持内联样式与工具类</p>
</li>
<li>
<p>Vaadin 24 的主题机制仍可继续使用,方便老项目平滑升级</p>
</li>
</ul>
<p>👉 对前端或 UI 团队而言,上手成本显著降低,更易与现有设计体系融合。</p>
<hr>
<h4>2. 支持运行时动态切换主题</h4>
<p>由于主题本质上就是样式表,<strong>Vaadin</strong> 25 支持在<strong>运行时卸载/加载不同主题</strong>,轻松实现:</p>
<ul>
<li>
<p>深色 / 浅色模式切换</p>
</li>
<li>
<p>不同用户个性化主题</p>
</li>
<li>
<p>多租户系统的品牌定制</p>
</li>
</ul>
<p>这对 SaaS 系统和集团化应用尤为友好。</p>
<hr>
<h4>3. 全新的基础组件样式(Base Styles)</h4>
<p><strong>Vaadin</strong> 25 为所有组件提供了<strong>更完善的“无品牌基础样式”</strong>:</p>
<ul>
<li>
<p>默认不带具体风格,但<strong>开箱即用</strong></p>
</li>
<li>
<p>更适合作为企业自有设计体系的基础</p>
</li>
<li>
<p>不再是“空壳组件”,定制效率更高</p>
</li>
</ul>
<p>在底层,Vaadin 将更多通用样式逻辑下沉到组件基础层,并引入新的--vaadin-*样式变量,为二次定制提供更清晰的扩展点。</p>
<hr>
<h4>4. Aura:全新的现代主题选择</h4>
<p><strong>Vaadin</strong> 25 引入了全新主题 <strong>Aura</strong>:</p>
<ul>
<li>
<p>基于新的基础样式体系</p>
</li>
<li>
<p>风格更加现代、清爽</p>
</li>
<li>
<p>适合希望快速获得“新一代 UI 视觉”的项目</p>
</li>
</ul>
<p><img src="https://image.evget.com/attachment/keditor/image/20251219/094638_3.png"></p>
<blockquote>
<p>需要注意的是:<strong>Vaadin 25 不再默认自动选择主题</strong>,新项目需要显式指定使用 Aura、Lumo,或完全自定义。</p>
</blockquote>
<hr>
<h4>5. Tailwind CSS(实验性支持)</h4>
<p>顺应前端生态,Vaadin 25 提供了 <strong>Tailwind CSS 的实验性集成</strong>:</p>
<ul>
<li>
<p>启用即可使用 Tailwind 工具类</p>
</li>
<li>
<p>性能和构建流程经过优化</p>
</li>
<li>
<p>适合偏向前端协作或设计驱动的团队</p>
</li>
</ul>
<hr>
<h4>6. Material 主题正式移除</h4>
<p>Material 主题在 Vaadin 25 中被移除,如已有项目依赖 Material 风格,需要在升级时同步调整样式方案。</p>
<hr>
<h3>二、组件与设计系统升级:性能、可维护性全面提升</h3>
<h4>Overlay 组件重构(基于原生 Popover)</h4>
<p>对话框、下拉框、提示等 Overlay 类组件,统一基于 <strong>原生 Popover 机制</strong> 重构:</p>
<ul>
<li>
<p>叠加层行为更一致</p>
</li>
<li>
<p>减少复杂 UI 组合下的异常问题</p>
</li>
<li>
<p>定位、层级控制更加可靠</p>
</li>
</ul>
<hr>
<h4>TreeGrid:支持扁平化层级模式</h4>
<p>TreeGrid 迎来重要架构升级:</p>
<ul>
<li>
<p>服务端直接下发“可见节点列表”</p>
</li>
<li>
<p>显著改善大数据量、深层级树结构性能</p>
</li>
<li>
<p>解决滚动跳动、刷新异常等长期痛点</p>
</li>
<li>
<p>新增可靠的scrollToItem能力</p>
</li>
</ul>
<p>👉 对制造、能源、资产管理等复杂数据场景意义重大。</p>
<p><img src="https://image.evget.com/attachment/keditor/image/20251219/094809_3.png"></p>
<hr>
<h4>Map 组件增强</h4>
<ul>
<li>
<p>支持 <strong>标记聚合(Cluster)</strong>,提升密集数据可读性</p>
</li>
<li>
<p>新增 <strong>自动缩放至合适视角(Zoom-to-fit)</strong></p>
</li>
</ul>
<p><strong><img src="https://image.evget.com/attachment/keditor/image/20251219/094906_4.png"><br></strong></p>
<hr>
<h4>Tooltip 支持 Markdown</h4>
<p>Tooltip 现在支持 <strong>Markdown 富文本</strong>(列表、链接、强调等),更适合承载业务提示信息。</p>
<hr>
<h4>Web Components 底层升级:移除 Polymer</h4>
<p>Vaadin 组件全面迁移至 <strong>Lit</strong>:</p>
<ul>
<li>
<p>前端依赖更轻</p>
</li>
<li>
<p>构建产物体积更小</p>
</li>
<li>
<p>更贴合当前 Web Components 生态</p>
</li>
</ul>
<hr>
<h3>三、Copilot 成为设计到代码的核心工具</h3>
<ul>
<li>
<p><strong>Vaadin Designer 仍可用,但已标记为弃用</strong></p>
</li>
<li>
<p>未来设计到代码的核心能力将集中在 <strong>Vaadin Copilot</strong></p>
</li>
</ul>
<p>主要更新包括:</p>
<ul>
<li>
<p>全新的 Figma Importer API(可映射企业自有组件与设计规范)</p>
</li>
<li>
<p>支持 Eclipse / IntelliJ / VS Code</p>
</li>
<li>
<p>更智能的布局与对齐控制</p>
</li>
<li>
<p>更完善的拖拽与嵌套支持</p>
</li>
<li>
<p>React 视图与 Java 视图能力对齐</p>
</li>
<li>
<p>LitTemplate 向 Java 的迁移工具</p>
</li>
<li>
<p>内嵌 AI Prompt,直接对选中内容进行修改</p>
</li>
</ul>
<p><img src="https://image.evget.com/attachment/keditor/image/20251219/095116_7.png"></p>
<hr>
<h3>四、生产构建流程更“标准化”</h3>
<p>Vaadin 25 重构了生产构建机制:</p>
<ul>
<li>
<p>不再依赖单独的 Maven production profile</p>
</li>
<li>
<p>Maven 与 Gradle 行为保持一致</p>
</li>
<li>
<p>CI/CD、容器构建流程更接近标准 Java 项目</p>
</li>
</ul>
<p>👉 对 DevOps 与自动化部署更友好。</p>
<hr>
<h3>五、更轻量、更快的默认体验</h3>
<ul>
<li>
<p>生产包 <strong>传递依赖减少约 30%</strong></p>
</li>
<li>
<p>开发模式启动速度提升 <strong>50%+</strong></p>
</li>
<li>
<p>移除大量历史依赖,更多使用新 Java 标准 API</p>
</li>
</ul>
<hr>
<h3>六、Java 端通信更友好:告别 Elemental JSON</h3>
<p>自定义组件开发中:</p>
<ul>
<li>
<p>不再需要使用 Elemental JSON</p>
</li>
<li>
<p>直接支持 Java Bean、List、Map 等结构</p>
</li>
<li>
<p>代码可读性和维护性大幅提升</p>
</li>
</ul>
<hr>
<h3>七、其他重要更新</h3>
<ul>
<li>
<p>离线许可证格式更新(需重新下载)</p>
</li>
<li>
<p>Signals(响应式 UI 状态)能力增强(实验性)</p>
</li>
</ul>
<hr>
<h3>八、技术栈与依赖要求更新</h3>
<p>Vaadin 25 全面对齐最新技术生态:</p>
<ul>
<li>
<p>Java 21+</p>
</li>
<li>
<p>Spring Framework 7 / Spring Boot 4</p>
</li>
<li>
<p>Jakarta EE 11</p>
</li>
<li>
<p>Node.js 24+</p>
</li>
<li>
<p>React 19</p>
</li>
<li>
<p>Jackson 3</p>
</li>
<li>
<p>Gradle 8.14+</p>
</li>
<li>
<p>Quarkus 3.27+</p>
</li>
<li>
<p>Hilla 改为可选依赖</p>
</li>
</ul>
<hr>
<h3>总结:Vaadin 25 更适合中国企业级应用的长期演进</h3>
<p><strong>Vaadin</strong> 25 的核心价值在于:</p>
<ul>
<li>
<p><strong>更贴近标准 Java Web 技术路线</strong></p>
</li>
<li>
<p><strong>降低前后端协作与样式定制成本</strong></p>
</li>
<li>
<p><strong>性能、构建、组件能力全面升级</strong></p>
</li>
<li>
<p><strong>更适合中大型、长期演进的企业系统</strong></p>
</li>
</ul>
<p>如果您正在规划新一代 Java Web 应用,或考虑对现有系统进行现代化升级,<strong>Vaadin 25 是一个非常值得关注的重要版本</strong>。</p>
<p><span style="color: rgba(230, 126, 35, 1)"><strong>获取Vaadin产品试用 请联系vaadin中国区合作伙伴慧都科技>>></strong></span></p><br><br>
来源:https://www.cnblogs.com/software-Development/p/19370407
頁:
[1]