I disagree, I think they are doing a full about-face with these latest generation of garbage MBPs and I am hopeful for the refreshes. A lesson many will learn the hard way, eventually, is you don't scorn your power users because they are an endless source of evangelism and free marketing for your product.
iOS is not particularly different from OSX. That's why Apple developers get to use a super fast simulator instead of the dog slow emulator we Android developers are stuck with.
Similarities between iOS and macOS don't have much to do with it.
The reason the Android emulator is slow is that it is actually emulating an ARM CPU.
The iOS simulator, on the other hand, is running an iOS natively built for x86, and Xcode targets the x86 architecture when you build your app for the simulator.
> It certainly doesn’t hurt that the simulator only needs to run the iOS front end on top of macOS Darwin instead of a full copy of iOS, though.
Uh, no. The simulator literally boots an entire copy of iOS, with its own libraries, frameworks, and utilities, that's entirely separate from the host OS.
That is incorrect. The iOS simulator is not a virtualized environment. It's not running it's own kernel etc, rather it's just a set of iOS libraries and frameworks built for x86 and a thin compatibility layer so that they run on macOS.
You can actually see your running iOS applications, and all of the iOS daemons etc show up as first class processes on you Mac if you run "ps".
iOS apps running in the simulator are not separate from the host OS at all - they're running on the host OS, just like any other process. Try killing "Springboard" from your Mac command line and watch what happens inside the simulator...
Does anyone really uses ARM emulation? I think, everyone just uses x86 Android image which should be the same as Apple's iOS Simulator. And if you need to test ARM, you should just use real phone.
I've used both. ARM emulation is slow, as you'd expect from a CPU emulation. The default, x86, is blazingly fast. Of course, this is assuming you remember to turn on virtualization features on your CPU.
The default x86 is a fair bit faster than my phone....
Except in multitasking UX. Yes, technically there isn't anything stopping you from running a compiler on iOS, but there's so much more to having a relevant development platform than "does llvm technically run".
> Yes, technically there isn't anything stopping you from running a compiler on iOS, but there's so much more to having a relevant development platform than "does llvm technically run"
You can't run unsigned code on iOS (with a few exceptions), and I don't believe that anyone has come up with a viable solution to codesign code on the fly on-device.
Sure, but my point is that's easy. The hard part is converting iOS to a point where you can get real multitasking work done. Even just switching back and forth between an IDE and a web browser is super painful compared to a desktop/laptop.
iOS won’t ever be a development platform. That would necessitate bringing down the AppStore walled garden, which would be a very stupid move from Apple.
Not sure why you say this. There are already various kinds of developer tools on iOS (see Codea, for example). They don't bring down the App Store walls.
An Xcode for iOS would be designed to make it straightforward to develop iOS apps and then sign them and upload them to the App Store when you're ready.
Sure, you can have toys like Swift Playgrounds in the AppStore, but real application development takes more than just Xcode. E.g. you need a shell and various command line tools, like otool, lipo, nm.
No one should pay an "apple premium" anymore for their computer- Their recent MBPs and their lack of response to the many complaints shows they don't care about reliability and quality in 2018- I am so happy now that I'm using a PixelBook as my dev machine (with the new official linux support)
Apple forces developers to use MacOS to develop for iOS on. Compiling code on iOS is banned (except WebKit). You'd ban all developers from having a portable development platform.
I don’t see how that could be a problem. If Apple the hardware manufacturer asked Apple the App Store owner to change that rule, I don’t see why they would not do so.
I think it was, but if most people who use them for work are sticking keyboards back on them then it might make sense to offer a clamshell or hybrid design.
How about a DualPad - it's a clamshell with an upper and a lower iPad. When you separate them, they're just iPads, but when combined they become something more powerful with different features.