Hacker News new | past | comments | ask | show | jobs | submit login

"I can pretty much guarantee that as long as everybody does cross-development, the platform won't be all that stable. Or successful."

iOS seems like a huge counterexample (as you note.)




When developing for iOS you typically interact with the iOS simulator on your desktop, which natively compiles your app against x86 versions of the mobile frameworks. True native iOS development is pretty rare, and more painful. Overall, iOS development is a delightful experience because there's a singular hardware target and Apple pretty much nails the execution.

For Android development on the other, you don't have a good simulator, and the out-of-the-box dev experience relies on an x86 emulator of the ARM environment. In practice this means that in your day-to-day Android development, you're running the compile-run-test cycle by looking at your actual ARM device all the time, because the emulator is dogshit. I wouldn't really call it cross-platform development in any traditional sense, it's more like remote development, and a bad experience.


> For Android development on the other, you don't have a good simulator, and the out-of-the-box dev experience relies on an x86 emulator of the ARM environment. In practice this means that in your day-to-day Android development, you're running the compile-run-test cycle by looking at your actual ARM device all the time, because the emulator is dogshit. I wouldn't really call it cross-platform development in any traditional sense, it's more like remote development, and a bad experience.

This hasn't been true for years. The emulator shipping with Adroid Studio uses an x86-based image, and it's very, very fast as a result.

Android's emulator even has quite a few more features than iOS's simulator, such as mock camera scenes so you can even develop apps that rely on the camera on the emulator.

If anything these days the Android emulator soundly trumps the iOS simulator on all interesting metrics except maybe RAM usage. But, critically to Linus' argument, they both use the same architecture as the development machine.


> When developing for iOS you typically interact with the iOS simulator on your desktop, which natively compiles your app against x86 versions of the mobile frameworks.

And the fact that the "develop on x86, test on ARM" workflow works so smoothly on iOS is strong evidence that Linus is wrong.


Who's going to make the "develop on x86, deploy on server-side ARM" experience smooth? It certainly isn't today. Who has that kind of control of the entire stack top to bottom? Amazon is the only one that comes to mind... but I wouldn't bet on it.


I think it's a smooth enough experience, yours notwithstanding. It's just that there aren't many server-side ARM options available, so we don't have much experience.


Is it? Or is it evidence that Apple has worked REALLY DAMN HARD to make it work decently?

I’ve certainly heard of bugs that the simulator doesn’t reproduce because it’s not ARM.


> I’ve certainly heard of bugs that the simulator doesn’t reproduce because it’s not ARM.

And that isn't enough to get people to demand an ARM emulator. In fact, Android developers hate the ARM emulator and prefer the x86 simulator—more evidence against Linus' assertion.


Hi, I've done Android development professionally for many years, over multiple apps. I don't know anyone who uses the x86 simulator for anything except out of curiosity to check it out every couple of years if it's still completely worthless. Android developers develop with an ARM phone attached by USB, and it's still an abysmal experience compared to iOS.


And to top that, Apple also has their own customization of LLVM bitcode, for more binary neutral deployments.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: