diff --git a/articles/getting-started/index.adoc b/articles/getting-started/index.adoc index d9b9e934c9..4f2b8d44c9 100644 --- a/articles/getting-started/index.adoc +++ b/articles/getting-started/index.adoc @@ -7,23 +7,59 @@ order: 5 section-nav: flat --- -= Welcome to the Getting Started Guide! += Getting Started with Vaadin Vaadin lets you build the web user interface of a Java application in Java. An application with a Vaadin UI is a regular Java application: you write the UI with the same language, tools, and libraries as the rest of the application. Java skills are all you need to be productive. Knowing CSS, JavaScript, or TypeScript helps, for example when you fine-tune the look of your application, but it isn't a requirement. Vaadin works with Spring Boot, Quarkus, Jakarta EE servers, and plain servlet containers. The Quick Start and the Tutorial use Spring Boot, because it's the easiest platform to start with. -New to Vaadin? Start with the Quick Start. In minutes, it gets you from nothing to a running application that you've changed yourself. +Where you start depends on whether you want to learn Vaadin or evaluate it for a project. -xref:quick-start#[Start the Quick Start, role="button primary water"] -When you have an application running, continue with the <>. It takes you step by step through building a complete Spring Boot application with a Vaadin UI, a database, forms, and navigation. +== Learn Vaadin -Evaluating Vaadin for a project? Start with <<{articles}/building-apps/architecture/when-to-use-vaadin#,When to Use Vaadin>> to learn which applications Vaadin fits, which it doesn't, and why. Then read <<{articles}/building-apps/architecture/runtime-model#,How Vaadin Works at Runtime>> to learn where the UI state lives, what each interaction costs, and what that means for deploying and scaling the application. If you already have an application, see <>. It shows how the UI fits in next to the application's REST API, security configuration, and JPA entities. Finally, see <<{articles}/building-apps/architecture/licensing-and-maintenance#,Licensing, Support & Maintenance>> for which features are free and which need a commercial subscription, and <<{articles}/compatibility#,Supported Technologies>> for the minimum versions of Java, Spring Boot, and other technologies. +New to Vaadin? Follow these in order: + +. <> -- Get from nothing to a running application that you've changed yourself, in minutes. +. <> -- Build a complete Spring Boot application with a Vaadin UI, a database, forms, and navigation, one step at a time. +. <> -- Find the guides that turn your application into one that you can put in front of real users. Need to install Java or an IDE first? See the <> guide. Looking for other ways to create a project, such as Gradle, Spring Initializr, or a template for Quarkus or Jakarta EE? See <>. +== Evaluate Vaadin + +Deciding whether Vaadin fits a project? Read these pages in order. Together, they take about half an hour. + +. <<{articles}/building-apps/architecture/when-to-use-vaadin#,When to Use Vaadin>> -- Which applications Vaadin fits, which it doesn't, and why. +. <<{articles}/building-apps/architecture/runtime-model#,How Vaadin Works at Runtime>> -- Where the UI state lives, what each interaction costs, and what that means for deploying and scaling the application. +. <<{articles}/building-apps/architecture/licensing-and-maintenance#,Licensing, Support & Maintenance>> -- Which features are free, which need a commercial subscription, and how Vaadin versions are maintained. +. <<{articles}/compatibility#,Supported Technologies>> -- The minimum versions of Java, Spring Boot, and other technologies. + +To go further, see the <<{articles}/building-apps/architecture#,Architecture>> Deep Dives. They cover how to structure an application with a Vaadin UI, from layers and packages to monoliths and microservices, and how to measure capacity and test failover. + + +== Start from Existing Code + +You don't need a new project to use Vaadin. If you already have code, start here: + +pass:[] + +A Java application:: +<> shows how the UI fits in next to the application's REST API, security configuration, and JPA entities. + +A REST API or a separate backend:: +Views call your application services directly, so the UI doesn't need a REST API of its own. To keep serving an API to other systems, see <<{articles}/building-apps/integration/rest-api#,REST API Alongside Vaadin>>. To use data from a backend that runs as a separate service, see <<{articles}/building-apps/integration/call-remote-services#,Call a Remote Service>>. + +A Swing application:: +<<{articles}/tools/modernization-toolkit/swing-bridge#,SwingBridge>> runs it in a browser without a rewrite. <<{articles}/tools/swing#,Swing Kit>> renders Vaadin views inside it, so you can replace it one view at a time. The <<{articles}/tools/modernization-toolkit#,Modernization Toolkit>> helps you migrate its source code. + +An older Vaadin version:: +The <<{articles}/upgrading#,Upgrading Guide>> lists the changes that an upgrade needs, and the <<{articles}/upgrading/version-comparison#,Version Comparison>> compares the major versions to help you assess the effort. For Vaadin 7 and 8, <<{articles}/tools/mpr#,Multiplatform Runtime>> runs the existing views and components inside a current application while you migrate them, and the Modernization Toolkit automates part of the refactoring. + +pass:[] + + == Everything in This Section section_outline::[]