Want to be a one-person mobile app factory? Then you’ll need the tools below!
iOS Development
Required
This one is probably the most annoying if you’re not already an Apple user: you’ll need a Mac of some sort, first of all because Apple requires it, but secondly because only Macs can run Xcode, which iOS devs use to write iOS code.
Libraries
There are a few different ways to manage dependencies – my favorite for the longest time has been Cocoapods, but Swift Package Manager looks really exciting too.
As for specific libraries I find myself often using, I’d recommend: Prelude, ReactiveSwift, ISO8601DateFormatter, OneSignal, SDWebImage, MultiModelTableViewDataSource, FunNet, and THUXAuth. (Disclosure: I wrote the last few of those, so I’m biased towards them, but you can checkout some of my articles about them for reasons why you might like them too.) Fastlane can also help with preparing and app for publishing on the App Store.
Android Development
My favorite tool for writing Android apps is also the recommended tool: Android Studio. Based on JetBrain’s amazing IntelliJ, I actually prefer it to Xcode (I know, sacrilege).
Dependencies are managed through Gradle, and here are some of my most used: AppCompat (of course) along with the rest of Jetpack (LiveData, ViewModel, etc), Volley for networking, OneSignal for push notifications, Gson, and some of my own creations to enable a more functional approach to apps with Kotlin.
Server Development
There are a few options for this – you can pick whatever you’re comfortable with.
If you already know some iOS, you might try out Vapor, since it allows you to build APIs with Swift. That said, it uses some of the more advanced features of Swift, so might be hard for beginners to pick up.
Ruby on Rails is a classic starting point for many developers, especially for server/web stuff. I’ve found that it’s really easy to confidently build a powerful API with Rails in a short period of time. Testing in Rails is almost without parallel, so in addition to allowing you to be very productive and leverage so many existing libraries, it also allows you to make sure your code works before you deploy it.
Python is also a great starting point; easy to use, flexible, and a gateway to many different realms of tech. Highly recommended especially if you want to get into any data science or AI.
Tools
If you’re doing Vapor, you’ll use Xcode. Otherwise, any text editor will do (I personally like Sublime).
Code Hosting/CI
I usually use Github to store and share my code. This also makes it relatively easy to use continuous integration tools like Travis and Circle.