|
|
|
|
|
by buster
5701 days ago
|
|
In theory this is no big deal.
For most apps the only difference you would take care of is screen resolution and this is handled pretty good by Android.
You would have to check in source code for different capabilities of course (if you can read the location from GPS/Wifi or not, for example). But that's also no big deal. One thing to worry about though, is that it is possible that different hardware uses different drivers. I've read about one game that did run very poor on a particular Samsung device, because the OpenGL driver had a bug or missing feature. The framework does a pretty good job for abstracting the different capabilities and supporting different hardware (on a phone). When manufacturers produce buggy hardware drivers, that's where you need to dig deep. |
|
I'm reminded of that saying:
"In theory, there is no difference between theory and practice. In practice, there always is."
I was doing iPhone development back when there was only 2 generations of iPod Touch and 1 generation of iPhone. In theory, they ran the same platform. In practice, there were several subtle differences between the hardware capabilities and resources on each permutation -- and that was assuming you were running the exact same OS version, which, in the wild, is not always true. A game that looked and worked perfectly on say my iPhone would have a weird glitch on a Touch. And so it had to be tested and tweaked to run well on each. Since then, they've added several more hardware generations of Touch and iPhone, and now also the iPad, and now there are more OS versions in the wild too. Yes, thankfully, Apple allows you to build your app so it officially only supports a narrow subset of these platform permutations. But in practice, your clients/employers often want you to support a wider set. Re-enter fragmentation pain. And this is in the iOS ecosystem, which should be less fragmented than Android.