> Are Google's development environments better than what Apple offers?
I'd also like to hear from people who have developed for both platforms.
> Microsoft certainly has good dev tools, while I don't care for Windows in general, I do appreciate the good tooling when I'm at my day job.
Interesting. I do get that impression and it's one reason I'm open to eventually moving to a Microsoft product again for my development work. Is it currently possible to do iOS development exclusively on a Microsoft laptop/environment? Or at least could I get away with using a remotely-controlled Mac Mini for some of the Xcode stuff?
I'd have to say Google's Tools are 100x better than they used to be. Android Studio is based on IntelliJ IDEA and they've done a decent job of getting emulator performance where it needs to be on good hardware.
That being said, I think Swift was a huge win to Apple developers who were unhappy with Objective-C. Xcode and the iOS simulator are still way ahead of Google's tools on performance.
On SDKs:
This is where Google is really blowing it and where Apple shines. Apple's SDKs tend to be well thought out and well documented.
Android's SDKs on the other hand are poorly documented and are fragmented into a mess. To expand a bit, there are new SDKs for new features on new hardware and tons of "compatibility" SDKs that have to be used to bring modern features to your app if you want to support old Android releases (you have to).
Android's SDKs show both a lack of direction and a rush to patch up the fragmentation mess. This isn't a knock at their hardware (Pixel, etc), which looks nice. There's just a general lack of coherency among their APIs and no clear path on how they're going to fix it.
TLDR;
It's fair to say Google is making progress making their developer's lives better but Apple (and it's community developed SDKs) still make a better developer platform and a better software to develop with.
I develop for both iOS and Android. Its night and day difference between the two developer tools. XCode is absolute garbage and get worse year after year. Android Studio is excellent and keeps getting better. Things which were traditionally not great with Android dev are being fixed. Like faster ADB, good emulators, faster built times, Kotlin. I could go into more details, but I would rather be a full time Android developer than a full time iOS developer. The things iOS development really has going for it is, iOS users are more willing to spend money and the there are very few unique devices. Most apps even start out just targeting a single screen size, the iPhone 6. You can't do that if you are targeting the desktop or Android.
I don't do iOS development so I can't say, I've only toyed with it, and on my Mac at home.
I will say, VS2015 has options for creating iOS projects, but I haven't tried using them and don't know the limitations (irrelevant to my day job, I use VS for C# and sneaking in bits of F# when I can for internal applications targeting Windows desktop).
It most likely uses Xamarin, a C# tool for making iOS apps. It gets the job done, and I made a full commercial app for work using it years ago (and I bet it's more solid now). It's kinda cool because most of the Xamarin functions are almost direct wrappers for iOS functions, so you could look something up in Objective-C and 90% of the time know how to do it using Xamarin.
But there are some hiccups with Xamarin, and I'd rather just code native now for iOS only (there's a lot more jobs for native iOS developers than Xamarin, although React Native is a good bet nowadays too). If I was doing cross-platform with Android, I'd either do React Native or I'd consider Xamarin again.
I'd also like to hear from people who have developed for both platforms.
> Microsoft certainly has good dev tools, while I don't care for Windows in general, I do appreciate the good tooling when I'm at my day job.
Interesting. I do get that impression and it's one reason I'm open to eventually moving to a Microsoft product again for my development work. Is it currently possible to do iOS development exclusively on a Microsoft laptop/environment? Or at least could I get away with using a remotely-controlled Mac Mini for some of the Xcode stuff?