Java meets TypeScript: full-stack web app development with Spring Boot and React by Marcus Hellberg

  Рет қаралды 12,379

Spring I/O

Spring I/O

Ай бұрын

Spring I/O 2024 - 30-31 May, Barcelona
As Java developers, we know the benefits of type-safety when building apps. The problem? Usually, that type-safety ends when we leave the server. What if it didn’t have to be that way?
In this presentation, you’ll learn how to build a full-stack reactive web app through live code examples. We’ll use Spring Boot and Java on the backend and React with TypeScript on the frontend, connecting the two with the new Hilla framework from Vaadin.

Пікірлер: 34
@TechTalksWeekly
@TechTalksWeekly Ай бұрын
This talks is excellent and it has been featured in the last issue of Tech Talks Weekly newsletter 🎉!
@marcinnnWL
@marcinnnWL 2 күн бұрын
Nice approach to make full-stack life easier.
@ashishkarn9283
@ashishkarn9283 Ай бұрын
Wow.. This is amazing.
@nkomanyaotoman3599
@nkomanyaotoman3599 Ай бұрын
This is just amazing! I love it
@fipabrate
@fipabrate Ай бұрын
I love this! This is amazing! I will try it for sure! I love both react and java. This is like a dream for me. Angular + Java next?
@marcushellberg13
@marcushellberg13 Ай бұрын
Maybe. We want to get Hilla working really well for React first before branching out into other frameworks. Angular is on our list of potential things to support, but nothing confirmed yet.
@WinWell-ml5jh
@WinWell-ml5jh Ай бұрын
This is the future
@potatosheep
@potatosheep Ай бұрын
If Hilla supports VueJs, we will be using Vaadin in our organization without a doubt.
@marcushellberg13
@marcushellberg13 Ай бұрын
We don't have Vue support at the moment. You can use some features of Hilla with Vue (like the type safe browsercallable endpoints) if you change the contents of src/main/frontend to a Vue project, but you wouldn't get stuff like file based routing. We may add support for other frontend frameworks down the road, but right now we're focused on getting the product just right for React.
@glasskaar
@glasskaar Ай бұрын
Looks really cool! Would it work with kotlin and ktor or is it java + spring boot only?
Ай бұрын
Kotlin should work as long as you use -Xemit-jvm-type-annotations but the runtime environment is tied to Spring Boot
@SomjitNag
@SomjitNag 6 күн бұрын
Kotlin support ?
@arkosarkar343
@arkosarkar343 Ай бұрын
Isn't it much similar to Google Web Toolkit architecture?
@marcushellberg13
@marcushellberg13 Ай бұрын
There are some similarities, like with the RPC calls. But overall, the experience is quite different with using React for the frontend.
@arkosarkar343
@arkosarkar343 Ай бұрын
@@marcushellberg13 thanks for your reply.
@WinWell-ml5jh
@WinWell-ml5jh Ай бұрын
Is it possible to integrate with redux?
Ай бұрын
I don't see any reason why you couldn't do that since Redux mostly integrates with the part of React that Hilla doesn't directly cover.
@WinWell-ml5jh
@WinWell-ml5jh Ай бұрын
The reason is that, if service is annotated with @BrowserCallable, and used directly from a component, how does come in. Am saying this because I don't know much about, but give me a clue, can it support fetching data from using a thunk api?
@marcushellberg13
@marcushellberg13 Ай бұрын
You can use a browser callable service anywhere you would use a fetch() call, so there shouldn't be any issues using Redux
@ewolz
@ewolz 7 күн бұрын
Any connection of Vaadin to Hilla ?
@ManuelCarrascoMonino
@ManuelCarrascoMonino 5 күн бұрын
Don't understand well your question, Hilla is part of Vaadin, and if you refer Vaadin as the other framework for Java, it's still there its called Flow. In summary, you can create your frontend app in pure Java (that is flow views) or Pure TS (that is hilla views), and from vaadin 24.4.0 you can mix both in your app
@WinWell-ml5jh
@WinWell-ml5jh Ай бұрын
How do we handle deployment
Ай бұрын
It's just a Spring Boot application so you deploy it like any other such application. Run it as a standalone jar, pack it up in a Docker container, or build a war that you deploy to a Java application server.
@akashkarmakar5798
@akashkarmakar5798 Ай бұрын
This thing is best bro. You guys have any intention of RSC support??
@IvanRandomDude
@IvanRandomDude Ай бұрын
For RSC you need node server.
@marcushellberg13
@marcushellberg13 Ай бұрын
We don't have any plans right now. It _should_ be possible to run RSC also on GraalVM, but not something we've looked into
@cviniciusm
@cviniciusm Ай бұрын
I disagree, I see developers having difficulties with a single stack of development, to follow its evolution, much worse trying to follow the evolution of several stacks. More old are you then less time to study and research.
@ooijaz6063
@ooijaz6063 Ай бұрын
I mean, have you seen any non-hello-world project that uses only 1 technology? Usually it's a tech stack - combination of few frameworks / libraries / languages often with few apps, where some of them may be legacy on older versions and are nearly "readonly". That's the reality that I've seen so far.
@hangar18k
@hangar18k Ай бұрын
very impressive, but Vaadin...
@marcushellberg13
@marcushellberg13 Ай бұрын
Care to elaborate? 😆
@isaacoach6041
@isaacoach6041 Ай бұрын
@@marcushellberg13 Tell us your secret, how you guys deploy the app?? [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile (default-compile) on project vaadin-create-countdown: Fatal error compiling: error: release version 21 not supported -> [Help 1] I just downgraded the compiler, cause the default version 3.13.0 (for now) is showing the same error with Java 21.
@isaacoach6041
@isaacoach6041 Ай бұрын
@marcushellberg13 Tell us your secret, how you guys deploy the app?? [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile (default-compile) on project vaadin-create-countdown: Fatal error compiling: error: release version 21 not supported -> [Help 1] I just downgraded the compiler, cause the default version 3.13.0 (for now) is showing the same error with Java 21.
@user-ij9vi6sn8g
@user-ij9vi6sn8g Ай бұрын
can't we just ditch javascript, typescript and just use webassembly and java just like how c# use blazor, now webassembly have gc.
@joonaslehtinen5175
@joonaslehtinen5175 Ай бұрын
For 100% Java approach, take a look at Vaadin's Flow framework. It also now integrates seamlessly with Hilla and thus you have best of the both worlds.
Building Full-Stack Applications in Java with Vaadin
20:50
Dan Vega
Рет қаралды 10 М.
Son ❤️ #shorts by Leisi Show
00:41
Leisi Show
Рет қаралды 8 МЛН
Clown takes blame for missing candy 🍬🤣 #shorts
00:49
Yoeslan
Рет қаралды 49 МЛН
Это реально работает?!
00:33
БРУНО
Рет қаралды 2,4 МЛН
You don't need a frontend framework
15:45
Andrew Schmelyun
Рет қаралды 118 М.
Architecting for Scale • David Leitner • CodeCrafts 2024
54:24
SQUER Solutions
Рет қаралды 630
5 Common Mistakes Spring Developers Make
18:06
Dan Vega
Рет қаралды 17 М.
It’s time to move on from Agile Software Development (It's not working)
11:07
The World Depends on 60-Year-Old Code No One Knows Anymore
9:30
Coding with Dee
Рет қаралды 705 М.
Every Framework Sucks Now
24:11
Theo - t3․gg
Рет қаралды 128 М.
Bootiful Spring Boot 3.x by Josh Long @ Spring I/O 2024
54:26
Spring I/O
Рет қаралды 23 М.
تجربة أغرب توصيلة شحن ضد القطع تماما
0:56
صدام العزي
Рет қаралды 64 МЛН
📱магазин техники в 2014 vs 2024
0:41
djetics
Рет қаралды 667 М.
Tag him😳💕 #miniphone #iphone #samsung #smartphone #fy
0:11
Pockify™
Рет қаралды 4,5 МЛН
8 Товаров с Алиэкспресс, о которых ты мог и не знать!
49:47
РасПаковка ДваПаковка
Рет қаралды 178 М.