Is DevMode neccessary?

If I’m building a war and have no custom components, do I need development mode? The only thing I’ve noticed is the dynamic reload of the css from the theme, but I don’t see the point of the themes either. I can just put that in src\main\webapp.
If I do that, I believe I can no longer use @Theme to load my css, but I can still load it with Page.addStyleSheet

So, what has DevMode (the Romans) ever done for me?

Is it from when we didn’t have a precompiled frontend?
Is it more needed if you’re building standalone spring boot app?

if you’re just building a .war, I don’t immediately see any need for you to use dev mode

I wouldn’t say it’s “needed” if you’re building a standalone spring boot app, but it makes your life easier (and faster)

In any case, dev mode is, like the name implies, for making development smoother. It’s not necessary for anything. In fact, there are known downsides; as you’re not always using the exact same bundle as in production, certain things such as styles might not work the same.

What’s the drawback of the dev mode? It compiles the frontend when it’s needed (in production you have to do it manually). It’s quite fast after the frontend bundle is done.

With the dev tools, you can change the CSS (useless in your case), you can use a new Vaadin component without rebuilding manually the frontend, you can use the Component Locator (not really useful when you know well your application).

My main drawback is that I have tried to get it to work in a multi-war ear project, where lookup of the right source frontend directory is a mess.
I spent quite some time trying to get it to work, before realizing the frontend is not needed.

Also not sure I agree with packing my css into a generated blob. I think I see the point with generating a blob of all the web components, but for my own application I prefer my one css to be a regular resource. It is easier to identify where css rules are coming from in the browser DevTools then.

And that’s why in Development Mode, you don’t get your CSS bundled

Whereas in production mode, you get the additional performance benefit of only needing to load one bundle instead of individual css files

@vital-koala , doing a test now, the browser dev tools shows source as “inline:1”. I assumed “inline” was the one shared blob with everything, but clicking on it, I see it is just the content of my file. So, my bad.