
Foojay Podcast #41: Web Development with Java
When starting to build a new website, you are facing a major challenge. Which framework should you use? Angular, React, Vue, Svelte? They are all based on JavaScript and can be the right choice depending on your needs.
But… do you really need one of these frameworks? Why would you not just stick to Java and use one of the many great libraries that are available for it?
Video
Podcast Apps
You can listen and subscribe to the Foojay Podcast on:
- Spotify
- Apple Podcasts
- And most others…
Guests
Martijn Dashorst
- https://www.linkedin.com/in/dashorst/
- https://mastodon.social/@dashorst
- https://twitter.com/dashorst
- https://martijndashorst.com
Marcus Hellberg
- https://www.linkedin.com/in/marcushellberg/
- https://mstdn.social/@marcushellberg
- https://twitter.com/marcushellberg
- https://marcushellberg.dev/
Podcast
Host: Frank Delporte

Links
Wicket
- https://wicket.apache.org/
- https://builtwithwicket.tumblr.com
- https://nightlies.apache.org/wicket/guide/10.x/single.html
- https://wicket.apache.org/start/quickstart.html
- https://wicket.apache.org/learn/#migrations
- https://github.com/apache/wicket
- https://twitter.com/apache_wicket
Vaadin
- https://vaadin.com/
- https://start.vaadin.com
- https://github.com/vaadin/
- https://vaadin.com/components
- https://twitter.com/vaadin
- https://foojay.io/?s=vaadin
- https://foojay.io/today/video-vaadin-drag-drop-support-its-so-easy/
- https://foojay.io/today/enterprise-java-application-development-with-jakarta-ee-and-vaadin/
- https://foojay.io/today/how-to-style-a-vaadin-application/
- https://foojay.io/today/blink-a-led-on-raspberry-pi-with-vaadin/
Thymeleaf / htmx
- https://www.thymeleaf.org/
- https://htmx.org/
- https://foojay.io/today/book-review-modern-frontends-with-htmx/
- https://foojay.io/today/new-book-taming-thymeleaf/
- https://foojay.io/today/controlling-an-lcd-display-with-spring-and-thymeleaf-on-the-raspberry-pi/
Content
00:00 Introduction of the topic and guests
01:37 About Apache Wicket
03:26 About Vaadin
06:37 How these frameworks exchange data between server and client
09:38 Comparing to Thymeleaf
11:16 About htmx
https://foojay.io/today/book-review-modern-frontends-with-htmx/
14:42 How the Apache Foundation works
https://apache.org/
19:20 License model of Vaadin
21:26 Wicket and Vaadin “in the wild”
https://vaadin.com/blog/liukuri-uses-vaadin-flow-to-help-finnish-households-navigate-the-energy-crisis
https://liukuri.fi/
https://api.pi4j.com/
https://4drums.media/
26:03 Java developers can build full web applications with only Java without being full-stack
27:47 Could JavaFX become a web-development framework?
29:35 About WebComponents
32:14 How the company Vaadin is making money from opensource
34:31 The future of Wicket, htmx, Vaadin,…
39:55 Which kind of project to build with Wicket or Vaadin
46:18 Links
48:54 Searching Vaadin docs with AI
https://marcushellberg.dev/how-to-build-a-custom-chatgpt-assistant-for-your-documentation
51:21 Conclusions
Music
- Barbershop John
- Hermine Deurloo
- Synapse by Shane Ivers - https://www.silvermansound.com
Transcript
Automatically generated from the audio, so it can contain errors in names and technical terms. Suggest a correction.
[0:00] Hello and welcome to this new edition of the Foojay podcast in this episode we’re going to use Java for web user interface development welcome to the FJ podcast all your news about OpenJDK when starting to build a new website you’re facing a major challenge which framework should you use angular react views felt they’re all based on JavaScript and can be the right choice depending on your needs but do you really need one of these Frameworks why would you not just stick to Java and use one of the many great libraries that are available for it let’s talk about it with these guests hi I’m Martin dor I’m a Java had since 2001 I think if I remember correctly you probably know me from Apache Wicket which is a Java web framework and one of the reasons that I’m joining this podcast hey my name is Marcus hellberg I work at voden leading our developer relations team been a Java developer for over 20 years now always in this intersection of web and Java so very much excited for today’s talk thanks for joining I’m Frank Lor the producer of this Foojay podcast I have a history in Java fix a
[1:24] Bit of fen a bit of time Lea a bit of yeah all things related to Java and web development and I don’t really love JavaScript Frameworks but let be side note so we have a few Frameworks here in the conversation let’s start with what you’re known for Martin that’s wicked from your side what’s your history in Wicket what can you do with it what should we know about it so Apache Wicket is a service side component oriented web framework it’s aache license that’s something we must say from the Apachi softare Foundation of course it’s Ser a site that means that we render HTML from the server back to the client it’s a stateful component framework so you build your user interface your web front end using service side components like a button or a panel or a page or something like that and you emit HTML from that it’s available since 2004 somewhere in August I think that we discovered it and we it got thrown into our lab by the maintainer at that time Jonathan lock and our company figured that this was actually the best web framework for developing very complex
[2:49] Web applications at the time we ran into issues with back button support and multi-tabs and generally maintaining State across requests and wicked was the best framework at that time for to accommodate such use cases for us we kept developing the framework together with the open source communities that joined joined us and in 2007 we joined the Apachi software Foundation as a project and it’s been growing ever since Marcus B from your side what can you share about that yeah I mean really fun to listen to Martin explain the kind of history of wicked because it’s there’s a lot of similari so voden also got started very much in that same era our Founders were building a healthc care application online and this was like way back in the wild west days of frontend development where every browser had very own take on how standards should be implemented if there were any standards at all so what we ended up doing is building a also server driven component based framework there are some definitely some differences between how Wicked and buten works but there are
[4:12] A lot of similarities in the underlying kind of philosophy so in our case there was a lot of I think kind of influence taken from more of a how do you build desktop applications with something like swing and the programming model resembles quite a lot of like that so you have different types of layouts and you put components in there so there are no like HTML templates that are involved in building the UI but again you listen for events and stuff over the years a lot has changed obviously in the web world since 2001 I believe our first version came out and the architecture that we have where you have a pretty stable Java API where it’s a high level of abstraction talking about a button or horizontal layout or something like that the concept doesn’t change all that much over time but how we’ve implemented that in the browser over the years has changed quite a lot from being like XSL transforms to our first own home baked Ajax adapter I think we called it back in the day where we essentially tried to like well how could we just like update the parts that actually need updating at any given
[5:27] Moment to decide like this is quite a lot of work for like 10 15 people we were back then to well let’s let’s use Google web toolkit since they’re solving that part of the problem and let’s use that for building the browser part of it and then in the past five seven years we’ve moved the front end of the application or the kind of component implementations themselves to use web components which is w3c standard for defining actual components that are just custom HTML elements running in the browser but throughout this whole history the server side API the kind of high level abstraction that developers are using has remained pretty similar so that allows our users which tend to be more businesses building long lived applications have a more kind of stable API for building web applications you said yeah it’s stable it’s resembles a bit swing I have a background in Java vix which feels a bit indeed like building desktop application Java but them for the browser same same feeling that you get how should we explain the server side of it so a lot of JavaScript developers they just think about Jason being pushed
[6:45] To a client running in the web browser and then JavaScript doing a lot of stuff on the client side what Frameworks are doing is actually bringing that back to the server and I want to maybe just highlight that if if you have been following vaen you’ll know that we have two web Frameworks right now one is called vflow which is what we’re talking about now we do also have a separate framework called Hilla which essentially takes a react front end and Java back and then it gives you like type safe communication between them that’s not what we’re talking about today since we’re specifically based on Frank’s request we’re talking about how do you how do you build web apps without touching JavaScript so we’re f focusing fully on vflow and how to do that so in our case the way this works is that the components and the state live on the server and you can think of the browser more as a kind of a thin client that just displays that state at any given moment so in our case if something changes the server knows like what is the Delta of what changed between the last time something got rendered on the
[7:53] Browser and now and then it just sends up a small instruction saying like well update that text there and kind of maybe put some new items in the grid and so on so it tries to kind of optimize what’s getting sent over the wire at any given moment so you as a developer don’t need to figure out like what’s the most efficient way of sending these updates to the browser and rendering the Dom updates accordingly you can just listen for a button click event kind of call whatever Java Services you need like even if they’re several Services you need to call and kind of put together whatever data you need and then the framework will figure out what these are the five things we need to send over to the browser to make that happen that’s with the same approach for we have we just render HTML directly so or either paral HTML or full page htmls and Wicket pares the URL that’s that’s called on the server and directs that to a page and the corresponding component instance that’s listening to that event so for instance if you click on a link on a page then Wicket will retrieve
[9:06] The page the where the link resides on and then invokes the onclick message onclick Handler and then you just do your data manipulations on server side and then tell Wicket to either render the same page in which case you don’t have to do anything B’s default state is to render the current page or redirect to another page and then render that one with the modified data and then Wicket just emits the new HTML normally RM the Blau would also join this podcast but he had to cancel last minute Rim the Blau people may know him from few books he has written about B Leaf and htmf B Leaf I think a lot of people know that from Spring if they are building some we with spring I know that spring and ven also coal together how should I compare time Leaf is that a bit of wicked is that a bit of Ven I don’t know who of you can compare the best when I think of time Lea I think more like the old stretch like templating web Frameworks so the model two Frameworks from the early 2000s with modern serlet application specification and such Wick could also depends heavily
[10:35] On the surl specifications so in that case we look very similar what I think the difference mostly is in the State Management so binding the data to the templates and vice versa getting the data from the browser back into your back end and parsing that I think there that’s the biggest difference between time Leaf based or cute that’s in the quar variant of time Leaf U templating languages I HDMX it’s the new kit on the Block I don’t know if I can call it like that so HDMX has a bit of different approach like compared to different JavaScript Frameworks where Json is pushed HDMX really pushes small Snippets or larger Snippets of full HTML which just gets replaced on the client side yeah is something new or is this just an evolution of what’s going on with Frameworks I mean the idea behind HDMX has been around for a while I think it’s gained a lot of popularity like the guy behind it is very good at doing social media marketing so he’s excellent memes a lot of strong opinions has helped kind of get his latest iteration out there and I think
[12:11] It does kind of it does simplify if you are in a kind of a template driven framework like time Leaf where in the past like you would have included I don’t know like years past maybe jQuery nowadays maybe just playing JavaScript but if want to do like more fine grad updates to something or react to a button click and update something like if you don’t want to do a full page refresh you had to kind of implement a lot of and invent a lot of infrastructure yourself that’s something that’s kind of like both Wicked and botf flow are on a higher level of abstraction and they’re taking care of that for you but if you’re on like your tools and your toolbox are a template essentially you want to have something that allows you to do that more fine grin stuff and I think HDMX does offer a pretty kind of neat way of doing that without having to kind of jump into the deep and then start writing your own JavaScript especially if you’re not a JavaScript developer and don’t really know how to do that the correct way that said I think it seems like it’s more kind of suited for if you have a
[13:21] Mainly static web page and you want to have a few Dynamic Parts there whereas I think both Wicked and boten seem to be targeting more these really rich applications where you have a lot of components and you don’t want to deal with small Snippets and how you kind of replace those in the D but you want to have actual reusable components with apis that you can interface so I think there’s a kind of a Continuum of like kind of websites to web applications and in our case we were very kind of strongly in this like Dynamic Rich complex web application and point with voden whereas I think HDMX is more towards the kind of dynamic website end of that Spectrum I like your comparison indeed HDM mix is very good in replacing some parts on your page and that’s a good use case for it what you said also about time Leaf is correct that’s so whim has written a book about time Leaf plus HDMX it has been reviewed on Foojay I will add a link to the show not where he indeed uses HDM mix to improve time leaf and the things you’ve had to do with JavaScript can now be done again on the
[14:39] Server side so that that’s a good back to Wicked you mentioned in the beginning it’s an Apache project you had to mention it even Martin what does it actually mean because Apache Foundation it’s a big name what does this Foundation actually do can you explain a bit about that sure I hope I do it justice the Apache Foundation is about as old as I am I think even though I’m probably 20 years older the apach software Foundation was conceived to run to be an open source Foundation for the HTTP server that runs the a lot of the internet and in the early in the late ’90s all those server components started being developed like a Apache Tom Cat with the serlet containers and U adjacent Technologies for developing enterpris like applications and the those came to the same group the Apache group I’m not sure how they joined but I probably they came from the same group of developers that were busy working on HTTP server and they said oh we this Java thing is really nice for writing surver side application servers so let’s use that and so
[16:15] They it grew from there so it started with the Jakarta sub project and that was a grouping project for all kinds of java server side Technologies and when that grew too big they split it out into a tom cat sub project and the loging logging project and Commons Lang and Commons logging and such and basically the foundation provides a home and a Haven for open source projects that are Apache licensed and they provide services for creating and maintaining communities around your project MH and there’s a lot of institutional knowledge about how you should create a merit meritocratic Community where well if you work on the project you get a say in the project basically that’s the that’s the idea so several projects also run on a different in a different way they call that the big dat the benevolent dictator for Life structure so that was gido from rosom for Python and Linus thels for Linux and oh that’s that’s really good until that person is not the is not happy anymore leaves the community or starts acting weird and then
[17:54] Then as a community you’re in trouble and the Apachi s Foundation tries to mitigate that by giving a the whole Community a the same voice and that’s a that’s a big difference for between the open source communities and yeah it’s some communities Thrive at Apachi others don’t Thrive there because they are very dependent on a singular contributor or singular company that contributes to a project the foundation is not for everybody you have to learn how to play by the rules of the software the AP software Foundation as the wicked Community we were very much aligned to the community already and we really fit well there but even we had to learn how to play how to find the rules to know how to act as a proper Apache project and such and even today I think we still have to learn a couple of lessons there the funny thing from the software Foundation is also that they have a termination Pro process for projects that have lived their live lived its life so they have a retirement fund basically for projects as well so that’s really good
[19:18] Yeah so ven is also open source but should I call it a premium project so you have the free version you have the paid version which is completely different than an Apache project correct well we call ourselves more of an open core model so we also Apache 2 licensed product we’ve been open source pretty much since the beginning of the project for like 20 20 plus years at least and initially the way it all started out I think as with many companies is that we had consult ing to kind of generate some money coming in so we could develop the product and then over time we’ve tried to kind of come up with more products that we can sell as opposed to just try to expand our Consulting side of things so initially those kind of added value products were specific components for things like charts or spreadsheets or things like that but lat it’s and kind of where we’re heading is more that we want to have everything in the core free and open source anything kind of an individual or small team needs to build a full application whereas then what costs money is when you get to the
[20:38] More kind of Enterprise needs so if you need extended maintenance you need support guarantees you need to get something fixed with a fixed SLA or you need kind of these types of needs that kind of a individual developer might not ever have in their project but a business building a multi-year project and wanting to kind of know that hey we’re we’re building something that’s very important for our company on this technology and we want to make sure that we get kind of support from the company who is building this so that’s kind of how it works so the idea is to keep the core of the product fully featured and something that anyone in the open source Community can build on for free how can we know your Frameworks what famous websites or tools are created with it well if you’re in the Netherlands and you’ve been in the train and you wanted to use the Wi-Fi the free Wi-Fi in the train then you for a couple into a couple of years ago you got through a wicked portal that allowed you to log in and accept the terms of surfice and that they monitor all your traffic and such if if
[21:58] You’re in Germany the gmx.de email provider was built since 2007 I think using Wicket and until recently they ran their backend using Wicket I’m not sure what they’re running now on because I’m not a customer there and funny thing in the beginning of wicket in 2004 2005 I think the first website that launched with Wicket was meeto meet mo.com and that was a dating service so we jokingly told that the first date picker component was made with Wicket and for if you travel to Las Vegas I think Las vegas.com is still run by Wicket so if you book a your vacation through Las vegas.com part of the website is built with Wicket for ven is it correct that it’s mostly used internally in companies or is it also yeah yeah I think like the way like we’re focusing really much on these like heavy duty components and kind of Enterprise business use cases means that a lot of the usage is more internal facing so we have a lot of usage in kind of big Industries and like Finance healthc care Banks Logistics all kinds of stuff so
[23:28] There are huge companies running kind of their businesses on top of aaps but they’re not on the public internet where I could point you to go and check this out there are like in smaller scale there are people building kind of front facing apps with one I think a really fun recent example is one of our one of our employees vessa made this dashboard in Finland where you can track like the electricity prices like in the past few years that’s been a big Topic in Europe for certain reasons the electricity prices and a lot of fins are on this kind of a stock market pricing for electricity where they’re very interested in knowing how much electricity is so he’s he built the dashboard in Wad and flow specifically the Java API and he’s he’s getting upwards of 100,000 unique people using that every month with like several thousand concurrent users and he’s so he he’s very very happy running that application and that’s kind of a fun fun kind of a showcase too because a lot of people do ask like hey you have this server side state will it scale and here vesa is running
[24:51] This on a 10ur a month herzner server like with four or 5,000 concurrent users at a time with no issues I think for any for most internal facing applications I don’t think that’s that’s really a big concern it always tends to be the database or some other part of the application where the bottlenecks surfaced before before the UI state becomes any kind of issue unless you’re doing something like a simple mistake that you can fix I have two examples I can add public facing two two little ones I created one is api. pj.com which is exposing the ports of a Raspberry Pi and it is running on a Raspberry Pi so it is publicly hosted in a Czech data center on Raspberry Pi and then my son had an a wild ID of a video sharing website and that’s why I love Java with the good tools that are available and provided by the community and companies like V can very easily create something so for drums. media I will add the links to the show notes but they are really site projects of me and they are created with because yeah things like like f and wicked time Leaf HDMX they allow you to very easily
[26:11] Create very goodlook business quality applications in the website and you don’t require a very good knowledge of JavaScript because yeah everything is managed in Java and I think there are a lot of good Java developers who could be building these things and are not aware of these correct yeah I mean so much of the world runs on Java and there are so many great Java developers there who don’t necessarily want to become fullstack developers or frontend developers but they have a lot of interesting stuff that they’re building that would benefit from being available for other people and I think over the years a lot of like ven usage has come from a certain person in a in an organization who is like more of a backend engineer or somebody who wouldn’t traditionally be in a kind of a front-end role who has just built a small utility for themselves and then somebody looks over their shoulder and like whaty wait what what’s that like how did you build that that’s that’s really cool and like and that’s how it kind of ends up spreading when people feel empowered like hey I as a Java developer can build these really
[27:25] Cool apps I don’t need to try to explain my idea to some separate front-end developer who completely misses the point and does it wrong and then I can just do it all myself responsiveness is also something I think you bring by default so all these components are responsive and adjust to the right queen size yeah I’m also a big Java fix fan I told you before there are some technologies to make Java fix also a web development tool like jroo has something like that okay but Java vix never managed to become a jav a web technology did we miss something there or was it not meant to be for the web you have any idea about that I think it was in the beginning it was tied to Java web and that required running Java on the client as well and that was a major hindrance in ad adoption in the Enterprise world and especially in customer facing websites as well so either you have to download Java and to be able to run to do interactions on that website or you just have HTML pages that are served out and that’s that’s way easier for acquiring new customers as a business so
[28:53] I think that’s that was the first nail in the coffin I don’t know if any any other Nails got got hammered into the coffin but that one did really didn’t help in the adoption in the first place I think the same happened a bit with Flex action script I’m from that generation my first web applications were created with flush and action script and flex which then yeah at some point someone said I will never put a flash player on a tablet so that technology died really fast how do we look at curent so we already mentioned hm Mi how should we look at web components is that something which we can do with Java is that something we need JavaScript for can you explain a bit about that V and flow does have an API where you can Define web components in Java using the component API if you wanted to I think as a technology it’s very well aligned with what we’re trying to do which is provide kind of a stable platform for building component based uis so it took its long Suite time to get standardized and actually implemented across browsers but now that
[30:19] It is there you kind of know that it’s not going away anytime soon like we can still use the Marquee element and all the good stuff from 25 years ago like once it’s once it’s there it’s there so like now that the kind of building blocks for creating your own HTML elements are there it it’s a pretty stable platform for building those and that’s actually what allowed us to for instance create Hilla which uses react for the UI we can use the exact same components from there without having to rewrite them and say 3 years from now there’s an entirely new front end framework we could still use the same component so we’re not kind of in a situation where we need to kind of reinvent the wheels every so often just to kind of stay current which helps us focus on more meaningful things in our lives is that something you can see it at between all these JavaScript Frameworks that they are coming to some kind of standard with web components and they are aligning a bit it’s really like react has been one of the holdouts that hasn’t had kind of first party support for web components because they have this
[31:36] Virtual Dum that sits between the actual browser Dum and your UI code but they even they announced this was last week or the week before there’s a very long-standing open ticket for adding custom element support and they said that they’re going to ship that with react 19 which is the following major version but I haven’t seen any new Frameworks coming out that wouldn’t just support them because it’s like not supporting them would say like you don’t support HTML which is a weird place to be in like if you’re coming out with a new framework then one question specifically for ven so you have a company which is built on top of the framework that you’re providing we had some podcasts in the past about being an open source s developer how can you make money how can you become rich by creating something I don’t think that Apache is paying any of the contributors nope unfortunately not very disappointed Mar so Marcus how difficult is it to sell licenses support for Vaden if I think most developers say but yeah I can get it for free so how sell it yeah yeah I mean I think we can kind of split this
[33:03] Into two like getting rich and having a company I’m not saying that I can only answer to the having a company but yeah I mean we touched on this earlier where we’re really trying to kind of we realize that the individual developer is not likely going to be the person who’s going to pay for like our salaries and kind of the company it’s it’s more like the value that we can provide for companies who are using it and that’s a that’s a small subset of the community and it’s a very Dev kind of Dev Le pipeline where developers find us they try it out they kind of convince themselves that this is a good thing and then say a year later when a project in a company starts up and they’re like okay this would actually be a good good thing to use in our company thing then their boss might be like okay seems good but can we get support for it like if something goes wrong who can I yell at and like what’s the warranty like and can we get this and that and that’s when they kind of reach out to us and we can sell them something that kind of is the main business driver I think that’s a bit the base
[34:20] Story of java itself of the OpenJDK again you can just get it for free and if you want support then you have to go to specific company or one of the Distributors what brings the future of your projects so Martin you’re not only working within the wicked project you’re also involved in a lot of other projects what brings what will these projects bring to web development I used to be pretty much involved with Apache Wicket but currently for our intents and purposes it’s it’s feature complete I’ve been playing around with HDMX for a couple of months now and I really enjoy the way of working with the client sites part of that library and if I can find the time and the inspiration I I’d like to see if I can make a meh up between HDMX and Wicket Wicket also has a nice Ajax framework for updating individual parts of a page but it’s limited in the replacement strategies in contrast to HDMX that can do an inner HTML outer HTML pent append and such and I’d love to include that into incorporate that into Wicket and
[35:54] See if we can make the collaboration between those two sides better MH so the client side experience of wicked development is hasn’t been great because it was developed by backend developers who needed to emit HTML and oh JavaScript was crazy stuff and HC Max is also based on the same Foundation that JavaScript is crazy stuff but attacks it from the client side and says well we don’t care about the back end and if it can send HTML then we can work with it that’s that’s the HDMX story so combining those two that would be really nice yeah yeah indeed that’s something we can add about HDMX that it doesn’t care if it’s Java or whatever running on the server as long as if it’s HTML that’s received but it’s a bit the same thing with Frameworks using Json which comes from an API so it’s just whatever is the other side it can push new data Marcus Fen there are a lot of evolution there I know there’s regularly new versions I think the split in flow and Hilla was also very recent correct yeah and it’s it’s kind of an ongoing thing so that happened
[37:21] More or less because we see a lot of companies are in a place where they have front end talent and they have Java talent and what we believe is that when you have a full stack team or kind of a team that is able to own a feature kind of end to end they’re able to kind of shape stuff faster because they are able to make decisions there’s less kind of communication delays and stuff and we wanted to kind of offer a lot of the same benefits and functionalities that we had in modf flow for years for or kind of organizations and teams that have a preference of building apps where they combine a kind of a client side framework front end with a Java back end what I’m really kind of excited about and what we have in the pipeline for the next few months is kind of taking advantage of the kind of unique position we’re in where we’re doing a full stack framework built on Java so we’re able to do a lot of functionality that would be very hard for just a front and only framework to deliver so I won’t say exactly what all those things are but keep an eye out then there are a lot of cool stuff we’re also hoping to
[38:38] Roll out some really exciting developer tooling that will kind of help speed up Building B applications even even further so I think in the next 3 to six months you can expect to see a lot of cool new stuff rolling out from ven we have to keep an eye on the website of so far then I understand yeah I mean of course there’s a there’s a challenge also to being an open source project so if you go and dig too deep in our open source repos you might get some good hints into what’s what what’s coming up there that’s probably also a challenge you’re indeed open on GitHub I have graded tickets and I think I even proposed an improvement somewhere so yeah people can just see how your thing is created yeah I mean it’s a good thing too like when we’re thinking about a new feature or something we can post in RFC and we can get community members involved po poking holes in our thinking before we start writing the code so that once we actually ship something it’s more likely to be kind of a little bit more thought through than if we had just sat in a chamber all by ourselves and
[39:51] Just thought of something Martin if I starting a new project for which kind of project should I look to Wick it what is the ideal use case if you have a application that needs to be secure so you need to be able to authenticate and authorize individual components so for instance if you have a I work in the educ sector and there are parts of the user interface that’s that should only be seen by by a guidance counselor but not the normal teacher of a student so you can create a role for a guidance counselor and a role for teacher and you can authorize the individual components that they are only visible for one or the other roles and that kind of stuff is really good and easy to relatively easy to do because it’s always complex but wi it makes it pretty pretty easy to create such kinds of applications if you have a really big complex application I think Wicket shines if it’s if it’s large and you need to build re reusable components and you have a talented Java team then wiet is really good fit MH Marcus you can sell father now what you it for
[41:35] I think there’s a lot of overlap in what Martin just said and with us which makes sense since there’s a lot of kind of commonalities in where we’re coming from but yeah we’re specifically we’re trying to make it easier to build these complex business type of applications which means that we have a big library of us UI components that go quite far beyond what you would find in like bootstrap or even like tailwood components so like very fully featured data grids and charts and things that allow you to deal with like lots and lots of data and form validations and all the kind of stuff that goes into building kind of meaningful business applications so that’s really where BN shines it has the same similar kind of security aspects as Wicked since both share the kind of same server driven philosophy where you can kind of by default the architecture offers you a lot more security than running something in the browser where any developer can kind of inspect that more so yeah I think one thing that I’m really kind of stoked about especially when we’re talking about Java developers building web apps is the
[42:54] We’ve kind of put a lot of effort into the ux side of things so not only do our components look pretty nice but they’re all customizable with a kind of few CSS variable so you can tune the colors and roundness and spacing and fonts that affect all the components in the framework so you end up with something that looks pretty kind of cohesive and nice looking even if you’re not a CSS designer by trade or ever even want to be one is that a bit difference between Wicket and ven the set of components that are available I think so I think that Wicket Wicket itself doesn’t ship with a component Library it has some components but they are really HTML bindings so we have a link or a bookmarkable page link or a form or a text field or something like that but we don’t have any styling associated with those those components you still have to Define your own markup and I think that’s if you have a talented designer or if you want to use bootstrap for as a client side component Library or client side user interface Library there’s there are Frameworks or extensions for
[44:16] Wicket that allow you to create components using that in my personal experience I typically just build HTML pages and attach Wicked functionality to those things like a bootstrap model or a bootstrap form or bootstrap text inputs or something like that and build from there instead of building a huge component Library so that makes G gives more flexibility in how you construct your HTML and use client side functionality like CSS and JavaScript libraries okay I think we found the difference between Wicked and V and then okay I think that’s still possible to do with Fen but then you’re in a path that’s not the golden path of Farin usage yeah yeah I think if you want to have that much kind of control over the Dom that’s getting output then the Hilla framework might be more kind of optimal for that so yeah I think there we agree I see if you go to I think it’s start. fadin doc I don’t sure yes they can create a full Maven project that gets you started very quickly with Ven and that’s buil based on Spring do you need to combine ven with spring or can you use
[45:37] It no no you can use it like jakar or even plain serlet or quarkus Hilla currently is a kind of specifically built for spring boot because we’re we wanted to start with a narrow Focus and kind of iterate quick on the idea and if we try to support all the backend Technologies at once that would make us slower moving forward but yeah if you want to build with oneflow you can there’s if you go to start one.com there’s a there’s a selector there where you can download kind of hello world projects with any any of the supported Stacks can you share maybe we can already conclude a bit can you share what people should visit what website they should look at to learn more about your project maybe other projects that are interesting if they want to do Java web development well it’s of course wicked. apache.org it’s unfortunate that you chose the Wicket name in because now the cricket term is overwheling the Google Alerts but wicked. apache.org that’s our homepage it’s currently running version nine I think in the coming two weeks or something like that
[46:57] We release version 10 on the front page there’s also a built with Wicket tumbler so you can see what kind kinds of websites were built and some are publicly facing others are not there’s a pretty good reference guide for Wicket that explains all the components and the subp parts and it’s part of the vi. apache.org website and it’s maintained with every release it’s really good we if you need to upgrade we also have pretty good upgrade guides available with all these the stuff that’s changed between major releases so that’s really good and if you find a buck there’s always a EUR issue tracker software there are always bucks or you could complain on Twitter but yeah and Marcus for and where should people start looking b.com is a good place to start you’ll find links to all the other places you need so there’s a good good documentation there there’s the start one com starter if you want to kind of configure a custom starter you can Define what types of use you want and maybe configure the theme and stuff before you download it there’s good documentation for all
[48:21] The components you’ll find it on there and yeah if you want to there are some showcases and stuff if you want to get more ideas of what types of apps and what types of Industries are using Vin and of course I’d be probably thrown off this podcast is I didn’t say that fu. has a lot of nice Bing tutorials as well they’re contributed by us and Simon Martinelli and other community members you get one bonus point now maybe another project it just a side project from you is you have a docs search ven application that you created to have to experiment GPT and searching through your docs yeah that’s that is actually coming to the official docs here very shortly as long as we or not that specific like prototype but kind of a polished version based on that idea so just a kind of a different way of consuming the documentation kind of more able to ask questions and get some code Snippets that are kind of customized based on your query not just the generic ones that you find in the documentation it’s it’s a difficult part me as a docs writer I also was experimenting a bit with this and
[49:45] Searching through your own docs with chat Bas systems but it’s a bit of a nightmare if you see all the stories on Twitter of companies introducing this and then suddenly their own chat system turns against the same compan is working for yeah it was as a doc writer it was quite interesting when I first started creating it then I P it our documentation started talking with it and sometimes it’s like why is it saying this and then I went to the docs and it’s like sure enough it did exactly say that somewhere in our documentation it like helped me uncover some weirdness or if it wasn’t able to answer some question it was a really good kind of a hint that there’s something that we’ve forgotten to mention in our documentation we it’s something that we’ve thought is so self-evident that we don’t even need to write it but then it’s good at kind of mimicking a complete newbie in that sense like if it doesn’t if it’s not able to figure it out using your docs there’s probably a good indication that there’s something missing from the documentation as well will be giving a presentation at fom in
[50:57] Two weeks about this topic searching through your chat and that’s that’s the only message I will leave that I use it to find the missing parts in our documentation put this public yet the search machine but it’s a nice experiment and indeed it’s h something you shared I think on GitHub I can maybe add it also the show notes yeah okay I think we can conclude is there something missing that I didn’t ask you that you still want to share just remember to follow up kind of follow ven on Twitter or get tuub or wherever you like to follow things and we’ll have a lot of interesting stuff coming out in the next few months and also Wicket is preparing a new release I heard yes so people should keep an eye on both the websites also time Leaf is still there HTM mix is still there so there are different tools you can use to create a web pewi with Java and I invite people to experiment I think that’s that’s the most important lesson there are several tools available there and definitely one for you use case and just be that person within the company that says we can do this with
[52:11] Java we don’t need yet another JavaScript framework and we can build it with pure Java okay thanks for joining this podcast thank you for your time and your sharing your knowledge and talking about your project also thank you to the listeners of this episode keep an eye on Foojay for future articles and podcasts about development and everything related to the Java World thanks a lot give me a give me a j the friend of JDK
Found a mistake, or something to add? Edit this page on GitHub







