Ljepota Vaadina leži u njegovoj jednostavnosti - pišete samo pozadinski kod . Dobro ste pročitali. Vaadin programer treba samo da poznaje Javu ili bilo koji JVM jezik i Vaadin API. U toku izvođenja, Vaadin će kreirati kod na strani klijenta, tj . HTML, JavaScript i CSS. Ovaj pristup omogućava programerima da se fokusiraju na osnovnu funkcionalnost aplikacije, čineći proces razvoja produktivnijim.
Spomenuo sam CSS gore: Vaadin vam omogućava da razvijete svoj CSS u namjenskom paketu za višekratnu upotrebu koji se zove tema . Šlag na torti: razvoj teme se može raditi paralelno sa razvojem pozadinske mreže i nema pridržavanja ovog drugog; kod ne mora da koristi određeni šablon ili da dodaje određene klase u HTML.
<project> <properties> <java.version>17</java.version> <kotlin.version>1.9.24</kotlin.version> <vaadin.version>24.4.9</vaadin.version> <!--1--> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>com.vaadin</groupId> <artifactId>vaadin-bom</artifactId> <!--2--> <version>${vaadin.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>com.vaadin</groupId> <artifactId>vaadin-spring-boot-starter</artifactId> <!--3--> </dependency> </project>
Vaadin se nadograđuje na regularni Java servlet, koji se podrazumevano mapira na root. Integracija Vaadin Spring Boot-a omogućava zaobilaženje zadanog. Budući da naša kodna baza integrira više okvira, mapiramo je u /vaadin
preko relevantnog svojstva:
vaadin.url-mapping=/vaadin/*
@Route("/") //1 @PageTitle("Vaadin") //2 class TodoView(todos: ArrayList<Todo>) : VerticalLayout() { //3-4-5 init { //6 // ... //7 } }
RootComponent
.VerticalLayout
je klasa koju Vaadin prikazuje kao HTML div
init()
na prvi zahtjev pretraživača. U gornjem isječku smo naslijedili od VerticalLayout
, komponente koju je obezbijedio Vaadin.
Vaadin Design System uključuje skup komponenti koje možete koristiti za izgradnju korisničkog sučelja. Komponente imaju Java API na strani servera uz TypeScript API za razvoj na strani klijenta.Komponentu koristite tako da je prvo kreirate, a zatim dodate u raspored koji sadrži.
--
Neke komponente mogu sadržavati druge, a one znaju kako rasporediti svoje podkomponente. Na primjer, VerticalLayout
postavlja komponente od vrha do dna u koloni; HorizontalLayout
ih postavlja slijeva nadesno u nizu.
add(Label("Hello")) //1 add(Label("world!"))
init()
funkcije.
label("Hello") //1 label("world!")
label()
je funkcija proširenja Karibu DSL-a na sučelju HasComponent
Karibu je odličan, ali s malom nedostatkom: ne nudi funkcije proširenja za cijeli API. Na primjer, morate se vratiti na regularni API da dodate podnožje u Grid
komponentu:
appendFooterRow().apply { getCell(completedProp).component = Button("Clean up") { todos.removeIf { it.completed } refresh() } }
Kada su glavni računari bili kraljevi računarstva, pristupali ste im preko terminala. Korisničko sučelje je bilo prilično ograničeno, a renderiranje se dogodilo na "glupom" terminalu. Personalni računari su premjestili funkcionalnost renderiranja sa servera na klijenta. U ovom trenutku, programeri su priložili ponašanje komponenti putem okidača. Na primjer, možete vezati ispis Hello world!
kada korisnik klikne na dugme.
Checkbox(todo.completed).apply { //1 addValueChangeListener { todo.completed = it.value } //2 }
Inicijalizirajte novu komponentu Checkbox
sa vrijednošću.
Da idemo dalje:
Originalno objavljeno u 13. oktobra 2024