Inspired by @richardchu's recent post about web app stacks, I'm curious what services people use to build mobile apps!
NativeScript Vue. Then reuse 90% of the code for Vue.js web app if needed.
For simple backend - Firestore. For more advanced and custom stuff - Python/Django REST API or Node.js. Might include AWS Lambda.
Using React Native + Expo was a wonderful experience. I was able to move very quickly (it helps if you have familiarity with React), and deploy on iOS and Android quickly.
I'm using Flutter and Firebase for my mobile app.
I’m curious, how are you finding Flutter?
Overall I love it, with the caveat that I'm a very junior developer. Coming from vanilla javascript, writing in dart is awesome. Building layouts is intuitive as well. My only gripe is that Flutter is still young, and does have some bugs. One in particular is plaguing me, but I'm hoping it will be solved soon.
Any stack will do in the right hands ;)
But right now I'm using this as my favorite for getting offf the ground quickly:
The last part could probably get cheaper with some other cloud system, but that's the technology I know, so I stick with it as it saves me a lot of time.
I'm curious with those cross-platform tools like Flutter / React Native / Xamarin.. how does deployment to the app store work? Does Flutter create a native iOS build that you then submit for app review as if you had created the build using Swift / Xcode?
I developed and published several apps with react native.
There are two main ways to deal with stores :
ah, thanks for the clarification
UI's are built in Clojurescript and pacakged with cordova to deploy to devices.
For local persistence I've been using localForage since it integrates easily with SQLLite. Haven't noticed any data problems with that setup.
Backends are done in Clojure, and deployed to Heroku or AWS depending on my needs. I've setup some boilerplate for my projects that handles APIs as well as realtime websocket type stuff; so it's pretty easy to get something up and running quickly.
If I need additional server persistence I generally jump between MySQL or Mongo depending on what I'm saving. I've found these sufficient for my needs.
For me:
I use Flutter
In my opinion, it highly depends on the client's requirements. There are three setups I can choose from:
Let's say you have developers with same experience in all three setups, what would you recommend? If performance is crucial and you're fetching tons of data, then only native will satisfy you/your client. If you have JS developers available with existing knowledge in one of the big UI frameworks (React, Angular, Vue) you definitely wanna go with hybrid apps, as the performance and look-and-feel are almost native, but the codebase is "web-like". Finally, if you have no idea about the mobile ecosystem on either Android nor iOS, stick to web-based frameworks as the output for a lot of clients is just fine (they often don't recognize the difference, which hurts mobile devs a lot).
My personal favorites in the different sections are the following:
As I'm a huge advocate of cloud computing so I would definitely go for Firebase as backend, hosting, API, storage (or whatever, Firebase does it all) system and React Native as a mobile framework.
EDIT: Therefore you need a setup like:
Have ALWAYS used Xamarin and always will. Have deployed 50+ apps with that stack and it keeps getting better and better. For that last 5+ years I've used Xamarin Forms, which is absolutely brilliant to make real cross platform code.
For backend work I use primarely .Net Core, which again is amazing.
And yes, I am a C# lover and always will be ;-)
Starting with a carrd.co site, used HTML, css and JS to get randomhiit.app working.
Its not a web stack but for mobile development I highly recommend Xamarin. Works really well and also you have the nice side effect that a single code base is used for iOS and Android. i.e. Develop once and run everywhere.
Highly recommended.