Hacker News new | ask | show | jobs
by algolicious 4989 days ago
Could you explain what you mean by "to a lesser extent Android"? Android lets apps add widgets to the home screen, replace the home screen, replace the browser, run arbitrary background tasks, and so forth. You can even sideload apps and create your own app store. None of this is possible on iOS.
1 comments

iOS presents a programming model of MVC where the view can be anything. This is basically the same programming model as on OS X and similar to the programming model for windows if you use MFC. I found iOS libraries to be more traditional OS like and more mature. In contrast, Android forces you into activities, layouts, and intents. Layouts basically don't let you layout out things on a pixel basis unless you use the deprecated absolute layout. So Android is forcing you to try to write apps that work on a wide variety of devices and that interoperable with each other and they do this by forcing a different programming model on the programmer. How one transitions from one screen to another in iOS is how you would expect it to bd done in OS X or Windows. Android forces it via intents instead. Basically on iOS, I feel more in control except when the documentation is intentionally obscure but on Android I feel like I am programming in service of multi-device support, interoperability, and have to seriously limit the APIs I can use because over half of the devices out there are 2 major versions behind: no hardware acceleration and an animation system that has been replaced.
> Layouts basically don't let you layout out things on a pixel basis

It's a natural approach when you have devices with different screen resolutions and sizes. Pixel-based layout works well when all devices have the same screen size, but break horribly when they don't. BTW, I'm curious on how the iPhone 5 runs iOS 4 apps.

Layouts also do not let you place views over each other. So there is also an assumption of a flat, non stacking space.