- Yup, CloudKit is great (I use it personally), although it does provide Apple with a great way to lock in apps (are you going to use CloudKit & another solution for Android? Probably not) so I'm doubtful about how useful it is for most developers (ignoring smaller components like iCloud Key Value store, which all developers could benefit from).
For plenty of indie developers, they're not worried about the other platforms as they don't have the resources to provide an Android or web version of their apps. CloudKit is great for small devs despite the lock in.
- This is a problem Apple has created, so it's no favour they're doing for us. It's an additional line of QA, for sure, but it's also a great void that can cause unforeseen problems (I have one example where they wasted two weeks of our time claiming our app didn't support IPv6 only to find out they had misconfigured their network? An apology? No. A **** storm for our marketing? 100%).
Apps going through a review process improves trust with the customer and they're more likely to try/buy your app.
I don't know the details of your IPv6 issue so I can't speak on that. Regardless that's beside the point. You can submit a million updates which improves trust by the customer and Apple fronts the bill in making your app trustworthy. Not to mention, Apple improved the app review times from 10 days to just 24 hours without asking for more money.
- Yet Yelp probably pays nothing despite this use. The model is flawed.
Whereas Google Maps charge thousands of dollars to indie developers if their free app suddenly becomes popular. That could kill indie developers since mapping services are essential to many free apps.
- Eh, I guess, but this is amplified because the App Store is the only mechanism to get apps on iOS, and it's also mutually beneficial (e.g. promoting PUBG when Fortnite left the App Store).
To each their own, but I built Android and iOS versions of a product. With Android, I had to find a new App Store in China (which meant I had to acquire a Chinese phone number to sign up for a new service) which meant I need to follow a new set of rules, I had to replace Google Maps with Baidu Maps, and I had to implement a separate push notification service because Google's Firebase doesn't work in China.
With iOS, I did 0 extra work. So whatever other "mechanism" you're striving for probably won't match what iOS' app store is going to offer in terms of distribution. Even AWS forces me to sign up for a new "China" AWS account so if Amazon had an iOS store, it sounds like it's still going to be extra work in deploy to China vs the rest of the world via an iOS Amazon App Store. Not only that, you're essentially going to split your audience among many stores. With iOS, I know I'm going to reach 100% of the iOS audience in China. With Android, I have to research which store will give me the most revenue (taking account into the royalty split and audience size, and weigh that agains the rules of the store).
- Again, you make this sound like it's solely for our benefit when it's not.
Hard to coordinate what you're responding to. If it's the device optimization, then it's both developer and user experience. Apple provides a CDN and minimizes the amount of data a user needs to download. They could have easily saved a lot of cloud space and force users to buy a higher storage iPhone tier.
- Same as above, if they didn't offer the clunky (imo) APNS then the OS would suffer for it.
Like I mentioned before, I don't even need to think about push notifications in China. APNS works without extra development, despite the clunky API
- I might be mistaken here as I only did a bit of research a week ago but CloudKitJS seems a bit dated to me.
Sure it's dated, but works fine from my end. New MapKitJS 5.0 works great as well.
Purely optional if you're handling logins yourself. Otherwise, using Facebook login is a "lock in" as well.
- A good move indeed, but why not separate out the plans? Why would this matter to a 100% iOS developer?
Don't know what you're referring to.
- They need developers to develop apps and so they must update Xcode - this is mutually beneficial.
Compare the rate of feature additions of Android Studio and Xcode. Apple surely didn't need to add all of those features in a short amount of time.
Some good arguments indeed, but you're making the assumption that Apple is doing developers these nice things as if it's a one-way transaction when it's truly mutual.
Name one thing Apple can do that would be considered selfless to developers/users. I bet I can find an angle where Apple could benefit. Third party IAP systems? Third party app stores? 0% cut? All of those can be argued to be mutually beneficial. So I'm not sure why you're arguing for a "one-way transaction" when it's nearly impossible for Apple to do that.
If I benefit a lot from Apple's decisions, then I think it's not terribly important if Apple benefits or not.