Many years ago, I built a personal budget software. It started as a simple dashboard to analyse data with my wife, then I added a telegram bot to insert expenses on the fly.
Wow, this is grim. Especially in conjunction with the article highlighting an aging population. I'm guessing a lot of young Italian professionals move abroad as it offers better salaries?
Since like forever, 1600 EUR net monthly is a good salary in Italy. Hahaha, I'm joking - you'll never get indefinite employment contract in Italy. This can explain the invasion of Italian guys to post-Communist countries. In addition to earning slightly more, they're fucking their brains out there. In exchange we can visit Italy in summer, see their old people, be robbed in cafes, restaurants, hotels, or literally be robbed... quite miserable exchange.
I wouldn't just use a CSS theme, but something with bolts included (navigation, state, charts, UI widgets, animations, etc.). In other words, something with styling AND interactivity code already built in.
It builds on top of MUI, which is a collection of ready-to-use React UI widgets that are pretty well designed (based on Material) and implemented in terms of UX/UI details. If you're not familiar with those nuances, MUI gives you a very good starting point that will meet 90% of needs out of the box, but is still very extensible if you ever do need to customize something. The one downside is that your dashboard can end up looking a bit generic, "Material" style, but that's easily fixed with some CSS tweaks here and there. The reverse, starting from a CSS-only theme and building up around it, is much harder.
Then the dashboard templates build further on top of that to give you ready to use data widgets that you can just hook up to your backend. I think using something like this can save you hundreds of hours from not having to reinvent frontend basics for a basic dashboard. Just my 2¢.
Thank you! In the long run, we may have some integrations with 3rd parties using API, but it's not sure. We won't have a mobile app.
For these reasons I was thinking not to use React and, whenever we will have 3rd party integration API, we will then create ad hoc REST API for them
The Symfony community has been going for Server Sent Events rather than websockets, via https://mercure.rocks/. I don't understand the benefit when every other framework wanting interactivity is still going for websockets.
As you say SSE seem more suitable for notifications rather than bi-directional communication.
I hope too HTML Over the Wire will be trending, I hate all the SPA and JS madness nowadays.
SPA/React/Flutter are great tools and technologies, when you have a team for the backend and one for the front end.
If you are a little startup or a single man project, that’s quite huge to maintain
I think hotwire is the best option if you're using Rails. From what I know, hotwire needs a lot more of backend "collaboration" than Unpoly, so you will need backend "hotwire" implementations. You can see these things are being built for django, etc.
Compared to Htmlx+ Alpine:
Let me start with the disclaimer that I think Alpine.js is an aberration. Writing code inside html attributes is a fantastic way to break every editor templating language plugin, syntax highlighting, etc.
Despite of me not liking Alpine, I think unpoly handles a lot more use cases, and it feels a lot more "declarative" to me.
Compared to both:
Unpoly is kind of the "django" or "rails" in this category of tools. It gives you a lot of stuff. From page transitions loading progress bar (a'la turbolinks) to ajax replacing links, to modals, to popups to sidebars, to automatic blocks replacement (up-hungry) to form posts, to handle error responses, layers, polling.... and it has an awesome way of writing your own "components" with the up.compiler api.
I honestly think the only reason Unpoly isn't the most popular solution in this space is because of bad marketing (well, no marketing at all...). I really think it is the best (if you're not using Rails, then I'd use Hotwire+Stimulus+etc...).
I’d try Inertia.js compared to Unpoly. It seems a more modern alternative. It’s like HOTwire Turbo (aka. Turbolinks), but with JSON over the wire. But no API needed.
Only if you want to go with LiveView.
For Django, as I’m a Python dev too, I’m going with htmx+alpinejs.
Or you can choose the Hotwire stack (Turbo+stimulus)
Made with Django