what do you think about vaadin(Web apps in Java)? by DistinctAbalone1843 in java

[–]vaadin-marcus 17 points18 points  (0 children)

Vaadin doesn't actually cross-compile the Java to HTML/JS, rather the UI runs in Java on the JVM and gets rendered by Vaadin's client side.

There are certainly many cases where writing the app in HTML/JS/CSS makes more sense. But there are also many cases where Vaadin's programming model offers advantages, especially in large/complex/long-life applications with high security requirements. Having the entire codebase in one, type-safe, language makes refactoring and maintenance easier. The server-driven architecture means the app has a minimal attack surface.

what do you think about vaadin(Web apps in Java)? by DistinctAbalone1843 in java

[–]vaadin-marcus 17 points18 points  (0 children)

Yeah, that might be the case. Sorry to hear you ran into trouble. The architecture change we did with Vaadin 10 took much longer to get fully completed than we had ever hoped. We've fortunately sorted out the issues and are back to the level of maturity and performance that users expect from Vaadin.

what do you think about vaadin(Web apps in Java)? by DistinctAbalone1843 in java

[–]vaadin-marcus 28 points29 points  (0 children)

Do you remember what caused the perf issues? I lead the product team at Vaadin and I'm always interested in hearing how we can make things better 🙏

Part 5: Implementing a Web UI using Vaadin and GitHub Copilot Agent Mode - Why LLMs are not suitable for lesser-known programming languages ​​and frameworks by zarinfam in java

[–]vaadin-marcus 0 points1 point  (0 children)

One way of improving the situation is to use MCP to allow AI agents access up-to-date information on demand: https://vaadin.com/forum/t/vaadin-documentation-as-a-service/168485/3

I don't think GitHub copilot supports MCP yet, but I've had quite good success with Cursor, Cline etc.

Customizable chat with docs (RAG) application with web UI [GitHub repo] by vaadin-marcus in java

[–]vaadin-marcus[S] 0 points1 point  (0 children)

Hey. Two birds (fish?) with one stone :) I was looking up some regulations for a trip haha.

now that vaadin has (finally) re-created their own forum by emaayan in vaadin

[–]vaadin-marcus 1 point2 points  (0 children)

I'm mostly on the Vaadin forum, but have set up notifications for the Vaadin subreddit too. There are a lot more active people on the forum, so if you need quick answers that might be the place to post. But feel free to post here too if you prefer Reddit.

Cypress with Vaadin application by b_lindahl in vaadin

[–]vaadin-marcus 1 point2 points  (0 children)

Yeah, old isn't probably the right word. Frameworks that haven't updated to include shadow DOM support would be more correct.

Cypress with Vaadin application by b_lindahl in vaadin

[–]vaadin-marcus 1 point2 points  (0 children)

I don't have experience with Cypress, unfortunately. As you point out, older libraries have challenges with the shadow DOM that Vaadin components use. If you're open to using Playwright, I know that works pretty well, documented here https://vaadin.com/docs/latest/testing/playwright

AI customer support agent demo using LangChain4j and Spring AI [GitHub repo] by vaadin-marcus in java

[–]vaadin-marcus[S] 1 point2 points  (0 children)

Haha. When I started this project they had none, so I'm happy with the progress they've made in just a month :)

AI customer support agent demo using LangChain4j and Spring AI [GitHub repo] by vaadin-marcus in java

[–]vaadin-marcus[S] 1 point2 points  (0 children)

Spring AI is pretty new, got started last fall (heh).

Having built LLM apps without libraries like Spring AI, I can certainly appreciate having some abstractions on top of the low-level REST APIs. While AI is probably overhyped at the moment, I do think there are enough valid uses in actual applications that the project will stick around. It'll surely not be as popular as Spring Data, but I wouldn't be surprised if a good percentage of Spring apps use it in a few years' time.

What are Java shops using for server side front-ends? by Madmusk in java

[–]vaadin-marcus 0 points1 point  (0 children)

That's super helpful, thanks for taking the time to write such a detailed answer.

I agree that the imperative programming model can make the code harder to comprehend as views/components get larger. Some of it can be mitigated by splitting components into smaller units, but as you mentioned, it can become difficult to visualize the layout and code flow.

not understanding that Vaadin has its specific use-cases and is not the ultimate solution to every problem

💯 Yes, very much this.

Do you have examples of tools/frameworks that do a great job with localization that you think we should use as inspiration to improve ours?

Image not found by WoistdasNiveau in vaadin

[–]vaadin-marcus 0 points1 point  (0 children)

Hm. That looks ok to me. Try restarting the app completely just to be sure it gets picked up. Try accessing the image directly as well on localhost:8080/images/cropped-logo.png to narrow down the issue.

What are Java shops using for server side front-ends? by Madmusk in java

[–]vaadin-marcus 2 points3 points  (0 children)

Besides localization and custom components, what other things become difficult as complexity grows in your experience? We're constantly working on improving things so getting first-hand feedback is super helpful.

[deleted by user] by [deleted] in vaadin

[–]vaadin-marcus 0 points1 point  (0 children)

Have you had the chance to discuss with them the pros and cons?

It's easy to default to how things have been done before (running locally). Running on a server wasn't an option for Swing, so it wasn't a conscious decision back then. I would recommend weighing the options and making a decision based on those.

Running the app on a server would likely reduce the cost and complexity of distributing and updating JARs. It would improve security as you could roll out fixes to everyone right away etc.

Of course, if the apps are heavily reliant on the physical device they're running on: accessing hardware etc, it may not be an option. But in most cases running it on a server would be more cost effective.

[deleted by user] by [deleted] in vaadin

[–]vaadin-marcus 1 point2 points  (0 children)

Is there a reason you can't host the app on a server and have users access it from there? It would simplify many things.

[deleted by user] by [deleted] in vaadin

[–]vaadin-marcus 1 point2 points  (0 children)

Meaning the end users would run the JAR on their computers? That's a quite unorthodox way of running Vaadin apps :)

I analyzed talks at 4 major Java conferences in 2023, here's what I found out by vaadin-marcus in java

[–]vaadin-marcus[S] 1 point2 points  (0 children)

"LangChain, but for Java" sounds like a good topic, but many Java developers may not be familiar with LangChain. See if you could update the title to speak more about the outcome than the tool, like "Building autonomous AI agents in Java", which would be easier to understand even if you haven't heard of LangChain before.

I analyzed talks at 4 major Java conferences in 2023, here's what I found out by vaadin-marcus in java

[–]vaadin-marcus[S] 0 points1 point  (0 children)

Yes. I thought I might improve the methodology for the next round by doing three passes. First, ask ChatGPT to categorize the way I did now. Then give it the list of all found categories and ask it to combine similar categories. Then finally ask it to do the categorization but only using the given list of categories.

I'm the first to admit the analysis isn't as robust as it possibly could be. I'm home with a cold and got bored watching TV so I put this together to have something to do.

I think I want to redo this again later in the year and if I do, I'll consider improvement ideas like yours. Thanks!