Should UI frameworks have separate files for UI and application code?
Do you prefer to use UI frameworks which make a distinction between UI files and application code (e.g. Qt, GTK, Angular) or do you prefer to define the UI in the application code (e.g. Flutter, Jetpack Compose, React)?
4 replies
Always separate where possible. In my experience things can end up a tangled mess really easily.
I'm a big fan of mvvm. Keeps everything separate and simple.
I prefer to define the UI in application code, because separation introduces a lot of overhead for bindings.
Nevertheless, I think it is important separate UI code from business logic.
Separating them allows you to add additional interfaces, such as command-line interfaces, APIs and web pages
depends what you mean by application code.. I'd say if your business logic is exclusively used by a ui feature the best is to keep them together. but you probably want to abstract away things like data access. I found working with a nx monorepo helps reasoning about how to structure your code.