|Android Studio 4.1 - No Relief In Sight|
|Written by Mike James|
|Wednesday, 21 October 2020|
A new version of any IDE is always an event, but Android Studio's state reflects the current mess that Android developement is in. I look forward to each new release in the hope that something has been done. The sad news is that Android Studio 4.1 brings no relief to worried Android programmers.
I admit that I have expressed this opinion before - since Android Studio 3 or even earlier. The current state of Android development is a mess and no place for a beginner. I increasingly regard the Android dev team as having gone rogue and lost touch with reality. They really don't seem to have any idea who their "customers" are and they certainly don't seem to think about the beginner. Reverse engineering what I see, I can only suppose that there are lots of little factions all fighting their own corner and suppressing anything that might curtail their development budget. It reminds me a lot of Microsoft's C++ v .NET situation, only this seems much more fragmented.
If you throw in the current legal situation, with Google being sued by Oracle for copyright infringement, and you really should be worrying. Could the rise of Kotlin be a distancing from Java that makes any outcome of the lawsuit less? This doesn't seem likely, but who knows what punishment might be handed out and what knock-on effect it might have. I'm not an expert in any area of law, but it seems to me that if Google loses against Oracle, and implementing code that does the same job as another piece of code using the same interface is a copyright infringement, this puts us in a very new world indeed. Despite reassurances from the legal side that bad things are not going to happen, I'm not reassured. It also does seem, going on the current showing, that Google is very likely to lose.
So while all this is going on, the Android Studio people are still refining what they have. I am amazed, well not really, at the way that the release of each new version of Android Studio is met with a bland statement of what is new with an endorsement that all that is new is good. Doesn't anyone actually try and create an Android app using the tools? The biggest single problem with Android Studio is that it seems to need a machine that most of us don't have. The official requirements are 8GB of RAM and a 1280x800 screen size. I don't know what machines the Studio dev team are using, but it must be something from another world. Android Studio 4.1 is slow, even on a much bigger machine, and the idea that you can have a screen large enough to do it justice is unthinkable. The work area is cluttered with panes and the way that the side panel announcing the new features is displayed by default when you are struggling to see your layout is an insult!
Even with a two-monitor setup, how am I supposed to see the layout editor in enough detail to work on it? Yes I know I can customize the layout, and I do, but this is how it is presented to a beginner.
It's all so slow that even demo programs take minutes to compile, and incremental compilation doesn't much help overall.
You know things are getting bad when they change the splash screen for no particular reason:
If only the rest of the program was as well-designed. Another, fiddling-while-Rome-burns, change that I hadn't noticed is the introduction of badges and a personal profile to the website.
All I can say is:
- I do not need badges ---
What is new in 4.1 is fairly negligible, unless of course it just happens to hit the spot for you:
The main points seem to be a Database Inspector, the ability to run the Emulator as a panel within Android Studio (see earlier comment about screen layout) and a Tensor Flow Lite facility. I know AI is important, but not all Android apps incorporate AI.
I still can't customize my toolbox, the layout editor still defaults to constraint layout, there is still no easy way to create or edit templates, the existing basic template uses Fragments!!!
I could go on.
Of course, the biggest problem isn't really Android Studio's fault - it's the churn at the heat of the Android ecosystem.
After so very long, the Android system is still in a state of flux with no clear guidance on how to do anything. Facilities are deprecated without much thought and new facilities are cobbled together, more to pad the developers resumes than to make things better. We have Jetpack to adopt while forgetting everything that came before. I still have no idea how to do threading in a way that won't be deprecated in a few months and Fragments - are they still a thing? What about retained Fragments, which have been deprecated in favour of ViewModel? Have I no right to choose the approach I want to use?
And Kotlin - yes it's better than Java, but we now have a two language system. All of the API is written in Java and we are expected to write in Kotlin. This two-language system makes me nervous, even though I know Kotlin well enough to figure out how to make it work with any Java API. It certainly makes similar compromises, like Flutter, look reasonable.
So is Java deprecated for Android?
Well, if you haven't changed the settings, Kotlin is the default language and the latest Android Nanodegree from Udacity uses Kotlin and the Java version has been terminated. There is no official word from Android that Java is deprecated, but that's leadership for you.
Now is not a good time to be an Android dev and it very much is not a good time to be a beginning Android dev.
or email your comment to: firstname.lastname@example.org#
|Last Updated ( Wednesday, 21 October 2020 )|