
Ask HN: Clean Android development in 2018? - cunidev
I&#x27;ve made some Android apps at the time of 4.x, and the Java APIs looked actually quite messy to me. I&#x27;ve been recently planning to start once again working on Android app development, and it looks like most things have changed: Flutter and other new UI libs by Google, Fragments finally on the way to being discontinued, but I can&#x27;t find a beginner friendly, up to date guide for Android development that doesn&#x27;t rely on deprecated&#x2F;outdated libraries. I&#x27;m trying to build a simple client app for a web service with common features and not much more (list, search, comments, RSS reader...), and I&#x27;d like such simple app to have an equally simple (and possibly future-proof) codebase. Is Google&#x27;s new Flutter worth using or still immature?<p>Thanks HN!
======
fakeElonMusk
There are lots of online resources for learning Android - Pluralsight, Udemy,
Treehouse and going through the Android dev basics site

[https://developer.android.com/training/basics/firstapp/](https://developer.android.com/training/basics/firstapp/)

Not sure what you mean by "clean". APIs and Frameworks are always evolving.
You have to keep up to date and understand the main problem sets that are part
of the platform (loading Bitmaps efficiently, activity lifecycle, etc.). And
no Fragments are not being discontinued. You are probably referring to the
guidelines to use the support Fragment library instead of the older Fragment
classes.

I build mobile apps for a living and if you want long term stability and
performance, my advice would be to go native with Java/Kotlin. If you ever
want to build for iOS it's not that hard to pick up Swift/XCode - the
platforms become more and more similar as they evolve.

There are plenty of people using RN and maybe Flutter too but all the mobile
devs I know who work for clients and / or ship their own apps use Java /
Swift.

Feel free to comment if you have more questions.

Enjoy!

------
johnmajor
I think learning Android in 2018 is very exciting now as Google officially
supports Kotlin and introduction of new set of libraries such as Android
Jetpack.
[https://developer.android.com/jetpack/](https://developer.android.com/jetpack/)
By following newly introduced jetpack, you could avoid most of the deprecated
libraries.

And going through the google architecture blueprints repo and sample
[https://github.com/googlesamples/android-
architecture](https://github.com/googlesamples/android-architecture) will help
you understand how you should approach to your new apps development and help
you get started in a right way.

~~~
cunidev
Thanks for the suggestion! Kotlin looks great under many perspectives, way
better than Java probably for my needs

------
slow_donkey
Used to do Android dev - if you're referring to CLEAN as in the specific
architecture I believe it's way overkill for mobile apps unless you're doing
something truly complex.

Most apps simply present content from an API and you can simply use an MVP/MVC
architecture.

Imo the only libraries you'd need are for http (retrofit), possibly image
loading (glide), and caching (disk lru cache).

You can also ask on Reddit.com/r/androiddev - lots of great people there.

Fwiw, I've mostly moved to flutter for mobile but it is definitely not feature
complete.

~~~
cunidev
Flutter looks great to me, has it improved in the last 3 months or so? I
remember downloading its first public release, and as expected it was lacking
some things

------
factorialboy
Kotlin helps a lot with the code readability. IMHO.

