Hi everyone! I’m pretty new to mobile development and could really use some advice.
My situation: I work mainly with Java and C++ on backend systems, but now I want to learn Flutter to build some personal projects. I’m planning to create self-hosted applications that people can run on their own servers. I really don’t like JavaScript, so I’ve been avoiding Node.js solutions.
Questions I have:
-
Flutter for multiple platforms - I heard you can build both web and mobile apps from the same Flutter code. Does this actually work well in practice or are there major issues?
-
Spring Boot compatibility - Since I know Java, I’m thinking about using Spring Boot for the backend. Is this a good match with Flutter? I can’t find many tutorials showing how to connect them together.
-
Dart backend options - Can I write the server side in Dart too? Are there any decent frameworks for building APIs in Dart?
-
Popular backend choices - What do most Flutter developers actually use for their server code?
I want to build something that users can easily install and run on their own hardware. Any suggestions for the best tech stack would be really helpful!
Thanks for reading this long post!
For self-hosted applications, I would recommend reconsidering your JavaScript aversion and looking at Docker containerization instead. After years of building enterprise backends, I found that packaging everything into Docker containers solves most deployment headaches for end users. They just run docker-compose up and everything works. Your Spring Boot approach will work fine technically, but you might run into JVM memory issues on smaller self-hosted setups. Consider lightweight alternatives like Go with Gin framework or even Python FastAPI. Both have excellent Flutter integration through REST APIs and consume far less resources than Java applications. The real challenge with self-hosted apps is not the framework choice but making installation foolproof for non-technical users.
spring boot + flutter works great actually! been using this combo for a while now. rest apis are super easy to connect and you already know java so why not stick with it? dart server stuff exists but honestly spring boot is way more mature and has better documentation. flutter web can be hit or miss depending on what your building tho
hey there! curious about your self-hosted approach - thats pretty cool! what kind of apps are you thinking of building that people would want to host themselfs? are you looking at something like home automation or more like small business tools? also wondering if youve considered how users will handle database setup and migrations when they install your apps?