The way apps can interoperate in Android is definitely an advantage over iOS for developers, but it's a security/sandbox issue not a lack of capability in the OS. iOS hugely trails Android in malware... Coincidence?
App Store allows programming languages and even VMs. It doesn't allow running externally sourced code.
It is a security issue, but I don't think it is what is causing the Android malware issue. The Intents system on Android is a security issue because most developers don't use it smartly and end up exposing their apps to SQL injection on the internal SQLite database they use.
Actually, the fact that Android uses a virtual machine for it's code has pretty good security benefits over running native code as on iOS.
Actually, the fact that Android uses a virtual machine for it's code has pretty good security benefits over running native code as on iOS.
Howso? I'm trying to think of what a VM could guard against aside from illegal memory accesses, which of course iOS hardware (like any other modern hardware) guards against for native code.
As everything must eventually exit the VM to use hardware or certain features, you have more control over the boundary. On iOS, as you run native code, you could theoretically do direct device access in assembly and the OS has far less control over that. It is also possible to inspect the bytecode for a Java program and know with much more certainty what it's going to try and do, which instructions it will try and run, etc.
On iOS, as you run native code, you could theoretically do direct device access in assembly and the OS has far less control over that.
But the hardware access protection ensures user code doesn't access anything it's not supposed to. And its up to device drivers to manage devices and ensure that access to them by user code is done properly.
Static inspection of Java bytecode can allow you to verify the safety of some things and so do fewer checks at runtime; but to my understanding, native code has all the same protections in the end as code running in a VM.
Bullshit. Windows RT has similar app interoperability and significantly advanced share functionality when compared to iOS and yet has no 'security issue' nor 'malware'.
App Store allows programming languages and even VMs. It doesn't allow running externally sourced code.