
Fuck You Android Framework (2018) - droider
https://medium.com/tech-horror/fuck-you-android-framework-ddbb02c4ae48
======
bobbyz
Wow, this is the post I wasn't brave enough to write. Been developing in
android for ~3 months for school and I still do not fully understand how to
load listviews, and not for lack of trying. I want to know who this guy is so
I can shake their hand.

~~~
karmakaze
After having learned the hoops to do this properly (with recycling etc) I wish
I hadn't. Unless I really have you, I'd much rather write a Flutter app
without the legacy Android APIs--writing COBOL might actually be less painful.

~~~
bobbyz
To be perfectly honest, if I were to write an android app today I would
probably rather learn RN or Flutter then do native android again.

------
billylo
Note to Google: Please hire the author. It's a little harsh, but I feel his
pain too.

------
the_hoser
Yikes. Maybe you should pick up web development. I'm sure it's less cluttered
and simpler over there.

Oh wait...

~~~
es7
Web development is way way simpler

No one is forcing you to pick up a full Angular 2.0+RxJs stack

~~~
gofreddygo
True, till you land a job where the worst possible combination is already
cherry picked for your dismay.

------
UncleMeat
> Fuck you for providing such a great security to my app that any fucking
> idiot can decompile it and do whatever he wants.

IMO, there are a lot of poor complaints here but this one takes the cake. What
could possibly be done to prevent people from being able to decompile apks?
Should anything be done? This strikes me as the antithesis of software
freedom.

~~~
the_hoser
I guess you could use NDK. You can decompile machine code, too, but the
results tend to be a lot less useful than what you can do with Dalvik
bytecode.

------
ncmncm
Fuck you, dim candle, for causing me to stumble in the darkness.

Android framework is a dancing bear. What is remarkable is not how well it
dances, but that it can be made to dance at all.

This is not to excuse Alphabet, who are entirely well-enough equipped to make
something actually good, if they could be bothered.

~~~
scotty79
> This is not to excuse Alphabet, who are entirely well-enough equipped to
> make something actually good, if they could be bothered.

Are they though? What's a good developer thing that came from google and is
not a niche blackbox?

~~~
Apocryphon
Flutter? As an iOS dev, I've considered learning that to build Android apps
rather than the actual native Android SDK, just because the framework sounds
worse to manage.

I don't think it's too hard for Google to build a better SDK, if they really
wanted to. I think it's hard to get users to adopt it, despite its benefits.

~~~
snodnipper
I have been developing Android apps since the beginning, although I have cut
back my time on Android largely because it is a filthy experience. How many
times have we mashed the feedback button and still end up with a terrible
emulator? A non-issue for iOS folks.

Flutter represents a great opportunity imho to uplift development capability
and avoid needless fragmentation. It reminds me of Adobe's Flex in some ways
and I can assure you that I have _never_ had such a productive client-side
development environment since! Flex united developers, graphic designers,
animators etc. 3 second build times...worked on everything even if the runtime
was _cough_ 'sketchy'. I'd love to see Chet Haase move onto Flutter and resume
similar videos to his Adobe days.

As for all of the Kotlin noise, like much of Android this is "movement not
progress" and yet another example of fragmentation. I certainly like many
aspects of Kotlin _but_ Java 14 is very nice AND enables greater participation
from different roles (e.g. lower barrier to entry for the Spring Boot camp).
I'd love to see Google uplifting the Java / JVM community and support modern
Java syntax on Android.

As for Google building a better SDK, clearly the Android and Flutter teams do
not see eye to eye...but maybe there will be lessons learned for both. I will
be keeping an eye on Fuchsia with respect to developer tooling.

------
rapjr9
I remember when this kind of thing used to be called "job security" by
developers, the useless complexity meant more work and more jobs. Now it's
apparently become so messed up (in part as an effort to lock developers into
one platform) that it's made development work hell. Perhaps developers are
somewhat complicit for not objecting sooner?

~~~
troughway
Based on the article it sounds more like a case of shitty developers.

There is no job security in mobile apps.

------
kitsunesoba
There are some questionable complaints in this blog post (I have not
encountered the issue with separate layouts for different DPIs, for example),
but it’s true that native Android development is frustrating on a semi-regular
basis, with some of the most unexpected and random tasks posing more of a
challenge than they have any right to.

I frequently find myself wishing I could write Android apps with Swift and
UIKit. They have their own warts, but the majority of difficulties you’ll face
with them involve more advanced/less used SDKs… its base UI components work
very well and mostly act as one would expect them to, especially with the
improvements to UICollectionView/UITableView brought in iOS 13. Way fewer
surprise NullPointerExceptions too thanks to Swift being a much cleaner break
from Objective-C than Kotlin is from Java.

------
suyash
This is the truth, Android API's are poorly designed, Architecture is like a
spaghetti code and fragmentation of the OS is horrible in comparison with iOS
which sends a message how much Google cares vs Apple about developers and User
Experience. Not to mention Kotlin, still love Java and prefer to use that.

------
arkanciscan
_eats popcorn and builds websites_

~~~
ffhhj
eats popcorn, builds both web and mobile apps with WebView+HTML5

~~~
arkanciscan
_eats popcorn and installs PWA_

------
hilbert42
Bloody wonderful, I wish I could write like that.

He's correct of course.

And it's great to know I'm not alone (we need to start a club methinks).

------
gofreddygo
I hope this inspires a 'Fuck you Angular' post. There's enough frustration in
the land of the WebDevs.

~~~
troughway
Out of curiosity - what are some complaints about Angular? In particular, 8+?

I'm asking OP as well as anyone else who wishes to comment.

~~~
gofreddygo
Take any angular js app with more than 200 LoC. Migrate it to angular 8. Feel
the pain.

Angular 8 is over engineered, there are a million pieces that make the app
work; any of which can and do break. With the code freeze by EOD, you're
trying out different compiler options just so you can get the console error to
stop and pass the build. There's this unfathomable love for typescript that is
designed to dumbify the js dev population. For config, There's angular.json,
tsconfig.json, webpack-config.json, tsconfig-app.json and package.json to
start with.

There's @component, @inject, @injectable. And you also have to know @component
inherits @directive.

And while you're ramping up with this don't forget ngc and ng-packgr. Check
ng-cli version before compiling.

And yeah, do this before the next angular release, which is in next month.

------
guessbest
I suppose that since this is over 2 years old (Jan 20, 2018) all of the
developers complaints have been addressed.

~~~
scotty79
I wouldn't bet on it. I tried to write stuff for android a decade ago and it
was horrible. Then tried 5 years later when they released Android Studio.
Still roughly just as horrible. I'm not keen on trying it now. I'll give it
another 5 years or a decade.

And it's not that I have thin skin. I find web development pretty nice and
have no qualms about all of the js libraries.

~~~
sterlind
I tried my hand at an Android app.. the experience made me feel stupid.
There's so much boilerplate and yet none of them guides you towards any
sensible app architecture. I'm a systems programmer, but I was able to pick up
Vue and Bootstrap and cobble together a functional dev UI in a week, despite
not knowing JavaScript. I tried and failed with vanilla Android Studio, then
decided to try the "Android Jetpack" guides which led me to third-party
libraries with broken codegen.

It's just not fun, you know? Apps should be fun to make.

~~~
scotty79
Android reminds me of MFC for Windows development. Instead of reasonable way
to build my app I get unguided tour over implementation details of the
platform.

------
jariel
Many of the decisions to put in these aspects were not well thought through -
they were 'neat ideas' that were just implemented.

It's amazing how many bad UI patterns get replicated through the years by
teams with little experience or who don't use their own frameworks.

Also - it's a hard problem.

------
joaosardinha
There's no way that the people supporting this aren't just bored contrarians
too, 90% of these complaints are just false, I was expecting a twist from the
first half until I realized it wasn't satire.

~~~
Apocryphon
Maybe other people have had a different Android development experience from
you.

------
anupamchugh
The reasons I switched to iOS are summed up really well in this article.

------
Apocryphon
For a more recent critique:

[https://news.ycombinator.com/item?id=21308192](https://news.ycombinator.com/item?id=21308192)

------
droider
Google is just re-branding the Android with shiny languages like Kotlin. There
is nothing left in the framework other than cluttered components.

------
lightlyused
From 2018.

~~~
canada_dry
> From 2018.

And yet still so relevant today.

~~~
gofreddygo
Fucking developer hours for over a decade.

------
MangoCoffee
what's the alternative?

~~~
tandr
(a bit meta) I love how there is not even 1 answer 24 hours after you have
asked that question...

------
talentedcoin
This post would have been a lot easier to read without all the “fuck”s.

~~~
Koshkin
There must be a browser extension for hiding selected words (an "F-block" or
something).

