I’ve been working as a backend developer for around 7 years now, mostly focusing on distributed systems and network programming. My experience is mainly with low-level languages like C++, plus some Python and Go. I did touch Node.js very briefly when I first started my career, but that’s about it for anything web-related.
I want to build a mobile app as a personal project, just something for me and my family to use. I know similar apps already exist, but I’m looking at this as a learning opportunity more than anything else.
The problem is I feel completely lost with all the frontend technologies out there. There are so many frameworks and tools, and the terminology is totally new to me. Coming from a backend background, I’m not sure where to even begin.
Can anyone point me in the right direction? What would be a good starting point for someone with my background?
With your backend experience, I’d go with React Native. You already know programming logic, so you’ll just need to pick up the frontend bits. Plus, you can build for both iOS and Android with the same code - perfect for personal projects. Start with JavaScript basics for a week, then React fundamentals, then jump into React Native. Your backend systems thinking will actually help with component architecture and state management. The docs are good and there are tons of tutorials for developers switching from other backgrounds. You’ll find debugging easier than web development since it’s more structured.
What kind of mobile app are you planning? That’ll help narrow down the tech stack. Are you comfortable with JavaScript, or would you prefer something like Flutter with Dart? What’s your timeline? Jumping into frameworks without solid JS basics can bite you later.
flutter’s probably your best bet coming from c++. dart syntax will feel way more familiar than javascript’s weirdness, plus you get native performance. js has tons of quirks that’ll trip you up as a backend dev - async behavior, bizarre type coercion, all that stuff. flutter’s just more predictable.