<RANT>
Android is a truly terrible software development platform. I often have trouble understanding it, because i cant imagine anyone would design a system so poorly. Here are some baffling discoveries:
Installing a development environment and connecting it to a device is a mess of broken links, poor integration and company turf wars. I managed to get a working environment on the third computer I did a clean install on.
You pretty much can't write clean C/C++ applications for Android. You need to use JNI to access lots of basic things. JNI is ugly, not thread-safe, and different for C and C++. Cant Google hire an engineer to wrap their APIs? Why do I have to do it?
Choosing to build a OS around a language is stupid, choosing java is worse. Low powered devices should not run code in virtual machines. Android is a layered architecture where they skipped writing the foundation layers.
The project manifest files seems to be the dumping ground for all kinds of functionality not accessible programmatically like, program name, orientation handling, icon, permissions.... It should be possible to write a program using only one syntax.
Using the onscreen keyboard does not generate key events, except for space, period, return and a few other. No letters. No numbers. Either a onscreen-keyboard emits key events or edits a string, WTF is this?
You cant publish your app with files. If you want to add a file that you want to open with fopen, you need to include it in your packet, then use a custom API to enumerate the content, use a java API to find a place you can read/write files, extract the files to disk.
Google designers: "By storing it in an APK file everything gets zipped and uses less storage!" Reality: You now need to storing your files twice, taking double the space. Bravo!
When you can get away with it, you can access the underlying Linux core and then things are OK, but what parts of Linux is available is a complete crap-shoot.
If your application explicitly sets flags to run in fullscreen, on a device has a higher aspect ration than 16/9 you still get black bars.
To fix this you need to set a line in your manifest file that explains to android that you want fullscreen when you say fullscreen even if the screen is wide.
Many parameters for functions are entirely without documentation. There is even documentation admitting that some functions where added by accident to the API. Microsoft's VisualStudio documentation of Android, is better and more complete then Googles.
Imagine how bad your documentation is, when your competitor documents your software better then you do.
I would be surprised if there are more then 10 Android apps written from scratch. The documentation is so bad that everyone just copies code they find. Everywhere I search I see the same variable names and "I dont know what it does but this code works for me."
There are entire core concepts of the platform that no one seams to know what it does like "state save".
If i was put in charge of Android, I doubt 80% of the team would still have jobs by the end of first week. This is a staggering level of incompetence for a software development team. Give me 50 developers and I would build a platform that would crush Android.</RANT>
PS If any Apple fanboys want to use the above rant as proof for why iOS is better, you should be careful not to tempt me in to putting in to words my feelings about iOS, because you may not like what i have to say.
You can follow @EskilSteenberg.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled:

By continuing to use the site, you are consenting to the use of cookies as explained in our Cookie Policy to improve your experience.