
Problems with Android Studio - antfarm
https://techcrunch.com/2017/02/19/why-is-android-studio-still-such-a-gruesome-embarrassment/
======
rwoodley
I am a coach for an FTC robotics team of high schoolers. We control the robots
with Android phones, so we develop with Android Studio. (This is FTC's
recommended tooling, and for all intents and purposes the only option).
Teaching high schoolers to work with Android Studio was almost impossible.

1 - The author is right: The WYSIWYG GUI tools are buggy as hell and I have
just have the kids dive into the XML - which brings its own set up problems.

2 - The gradle system is hard to configure but once it is right and you check
in the configs you don't need to change it.

3 - It basically requires 8GB to run with any reasonable performance. Getting
a set of laptops with 8GB for a non-profit is a challenge! Even with 8GB,
build and deploy cycle can take 3 - 5 minutes.

4 - I do like the remote debugging. It is essential for debugging a robot with
a phone that is driving around on the floor.

Android 2.0 was an improvement, but it is still a challenging environment.

I am a competent programmer who uses IntelliJ at work, so I don't know how
other FTC coaches could possibly get a team up and running with Android
Studio.

~~~
ipalreadytaken
Can't agree more. The problem might not be Android studio, it might be the
state of development and needing to understand a dozen tools before you can
even click "run", but either way you could spend all year teaching the
students how to use the tool and still never make anything. Ironically FRC
tooling is easier to use than FTC. We ending up using the browser based blocky
tools and it has been great. Students don't need anything installed on their
computers and can just start building.

~~~
candiodari
You will find the situation far more tolerable if you just forego Android
Studio tools entirely and just create GUIs in code.

------
maxsilver
I am an Android Developer, and I actually like Android Studio. At least, I far
prefer it over anything else I've ever used (especially Eclipse).

Yes, the Visual Layout editor is wildly inaccurate, and yes, the emulator
sucks. There's definitely room for improvement.

But if you look past those two issues, the rest of it is pretty nice. I
certainly wouldn't call Android Studio or IntelliJ a "gruesome embarrassment".
(Is the author aware people _willingly pay money_ for IntellIJ? Even for non-
Android, non-Java work? That there's an entire company around IntelliJ and
various versions for various languages.)

~~~
crowbahr
I disagree that the emulator sucks. With HAXM enabled it boots up at least as
fast as the iOS emu and I can customize it to run different images of android.

Overall I love it. Compared with Xcode and the work I was doing before on iOS
Android Studio is a dream.

~~~
pritambarhate
Can you please tell more about your hardware? CPU, GPS, RAM and motherboard? I
am genuinely interested. Would like to know the configuration which makes
Android development pleasant.

~~~
crystalPalace
My emulator runs great although I still have a HDD(vs SSD) which bottlenecks
emulation once in a while. My setup is a Core i7 3770K, 32GB of DDR3 RAM, and
Windows 7 Enterprise. My emulator is currently consuming 2.7GB of RAM.

~~~
pritambarhate
Thanks for sharing.

------
warcher
Yeah man, I don't get it. There are shitty parts of android development, and
there are great parts of android development, but android studio is fine. (I
didn't say great, I said fine. Perfectly adequate.)

NDK programming still sucks, although it's been slowly getting better.
Android's activity/fragment lifecycle/state restart is a bugfuck. There are
legitimate grievances to be had here, but this guy isn't hip enough to the
system to make them.

~~~
m_fayer
Yeah, bit by bit a lot of the rough edges are being worn away. The one thing
in addition to the bananas lifecycles and execution models that really gets my
goat is how hideously slow the modify-deploy loop is, and that there's no good
way to modify running code.

I do a lot of custom UI work and then you really don't have much choice other
than to run your app every time you make some small adjustment. And no amount
of fast CPU, Genymotion, or super fast devices has made this fast enough. Web
devs don't know how good they have it.

~~~
warcher
From your lips to god's ears, man. Having a tight development feedback loop is
truly a blessing. They've been working on it little by little, but compiled
languages just kinda hurt in that regard.

That said, native is one of those places where you just have to have a lot of
compiled code. Those lil phones try hard, but battery life being what it is,
performance is a factor. Javascript can only go so far. Especially for
consumer development, when you are _going to get taken to the woodshed_ if
somebody's piece of junk twenty dollar android special can't hold it together.

~~~
m_fayer
I wouldn't lay the blame solely on the fact that Java is a compiled language.
The loop is way faster both in iOS with their simulator and even with C# on
Windows Phone/UWP, even though all those platforms use compiled languages as
well. Like everything else with Android, the build process is a bit of a
convoluted rube goldberg machine and compilation is just one of many steps
that eat time.

Also, check out Xamarin Workbooks for a good demo of how developing with a
compiled language can actually be interactive.

~~~
warcher
Well, the iOS simulator is leveraging it all running on the same box. Putting
an apk up to the device can be arduous, depending on how big your app is and
how bad your device is. Those swift... (edit) _playgrounds_ , I wanna say?
Those were really nice when I played with them. Getting better all the time
too, although you have the obvious problem of maintaining broader application
context in a non-RESTful environment. Still, slow but steady progress on hard
problems is more than enough for me personally.

------
KZeillmann
I'm not an Android developer, but I installed Android Studio a few nights ago
just to play around with Android.

I'm not sure where the author's coming from, but the IDE seems fine to me. I
use IntelliJ at work, so that's what I'm used to. Maybe there's stuff that an
actual Android developer would have issues with -- more advanced features, but
I thought that the tool was leaps and bounds better than the Eclipse extension
that used to be supported.

~~~
Humdeee
> but the IDE seems fine to me.

What? How can you declare this after spending at most a few hours in the
environment?

~~~
manmal
I do mainly iOS development, fulltime for about 4y. Before that, I developed
Android, mostly in Eclipse; so I know both worlds. And before Swift I actually
preferred AppCode to XCode, which is also based on IntelliJ. XCode is stuck in
the nineties, while IntelliJ is such a beast, functionality-wise. Sure, it's
less snappy and the font rendering is bad, but if you can live with that, it
will make you a better developer. You will start "intent driven" development,
where you define algorithms with method placeholders first and only afterwards
declare the methods. Your classes and vars will have better names because
renaming is a joy instead of being a shot in the knee. You will get a better
grasp of the architecture by looking at call hierarchies. You will never again
miss an instance of a renamed method in some selector, because searching for
references in AppCode is perfect.

And you get all this with Android Studio, too. Let's not forget Kotlin, which
might not even exist without JetBrains' involvement in Android Studio.

BTW I sometimes fell back to XCode even when I was a heavy AppCode user, e.g.
when the battery was running low. Switching is mostly seamless, because both
watch the filesystem and seldomly complain about clashes. Perhaps one could
use some lightweight Java editor alongside Android Studio, too?

------
Groxx
I _despise_ gradle, but Android Studio is well above the "average" point. And
as anecdotal evidence, multiple people I know and work with have switched from
iOS to Android or vise versa in just the past few months - they've
_unanimously_ preferred Android Studio.

A significant part of that is because XCode has loads of magic incantations
that you have to perform when it starts flaking out (which it does _much_ more
often). Caches to clear, library files to delete, etc, sometimes one works and
sometimes another does and it doesn't help you figure it out. XCode has _such
a problem_ with mishandled caches that multiple community tools have sprung up
to aggressively delete it, e.g.:
[https://www.cerebralgardens.com/watchdog](https://www.cerebralgardens.com/watchdog)
(and they're still insufficient! they just address the most common annoyance)

~~~
warcher
I mean, gradle vs cocoapods... I gotta go with gradle. Yes, it's a new
configuratio language to learn, and yes, that is an odious chore, but
honestly, if I'm leveraging ecosystem library projects, I don't think I've
seen a better compiled alternative (excepting the super mature web ecosystems,
of course).

~~~
vorg
> gradle. Yes, it's a new configuratio language to learn

Don't forget Gradle has the choice of 2 languages to use for configuration --
Kotlin and Apache Groovy. If you use Kotlin you get:

* full Android Studio support for auto-complete hints because Kotlin is statically typed, and Kotlin and Android Studio are both created by the same company, i.e. Jetbrains. (Groovy is dynamically typed and auto-complete only works 80% of the time.)

* Kotlin can also be used to build actual Android apps instead of Java, so you can use the same language for building the app and writing the scripts for builds, tests, etc. (Groovy had Android support added, but 2 yrs ago the programmer who do it was retrenched from VMware and no other business wanted to hire him to continue the work, so it's a bit dated.)

~~~
warcher
Kotlin has been on my list of new languages to investigate for a minute, just
haven't really found a use case for another JVM language that isn't really
pushing the envelope. (That's not a dig, it seems like a nicer iteration of
java all around, I just don't have many major grievances with java for doing
java-y things.)

------
chickenbane
As an Android developer, this article is clickbait. However, had this been
written just a few years ago it would have definitely rang true. Android
development was truly in a gruesome state - based off of Eclipse and clunky
build and a mishmash of tools that weren't well integrated. Perhaps that set
the bar low, and there are still more improvements to make, but it's a great
platform to build on.

~~~
scotty79
I tried android development few years ago and IDE it was horrible. I tried a
month ago again and it was still horrible even though it was different IDE.

It still feels like doing MFC windows app in some ancient Visual Studio.

Why can't all new GUI IDEs start at least at level that Delphi was 20 years
ago?

~~~
Joeri
What is it that delphi did that you want? The gui designer? The speed of
compilation?

~~~
scotty79
Gui designer mostly. And the ui of the IDE itself.

I want to feel that I'm in control of building an app.

Android Studio (and Eclipse before that) made me feel like I'm taking unguided
tour over bad decisions of android API creators and lack of giving a damn of
IDE creators.

~~~
Joeri
I don't know if you've looked at modern delphi, but it's not that different
from IntelliJ. It seems amazing that delphi 1 was perfectly usable on a 640 x
480 screen, showing a complete IDE with a GUI designer, code editor, panel,
menu and toolbar.

Delphi 1:
[https://winworldpc.com/res/img/screenshots/1x-1a684e073c9048...](https://winworldpc.com/res/img/screenshots/1x-1a684e073c904874f4b8a2965a3968c8-Delphi%201.0%20-%20Edit.png)

Delphi 10:
[http://uimg.in/images/2017/01/05/e4vC6sN.png](http://uimg.in/images/2017/01/05/e4vC6sN.png)

When I break apart the UI differences it's obvious delphi's UI had to grow to
accommodate the growing complexity of the projects built with it, and that
delphi 1 could get away with being simple because it wasn't expected to do all
that much. Still, when I look at that delphi 1 screenshot all I can remember
was how fun it was to program in it.

~~~
scotty79
One of the feature I really liked is specifying anchors and size constraints
for all elements of the ui. This is so intuitive and behaves so beautifully
that I'm at loss why it wasn't done like that in CSS and in all of the IDE gui
designers that came after Delphi.

------
simion314
Intelij IDEs are not slow because are made with Java, are slow because they
have tons of functionality, they are not simple text editors, when you start
it, from what I noticed it builds in memory a representation of your entire
project so it can help you with intellisense but also with warnings for
mistakes,other nice feature is you can set a code convention and it will show
you in real time if you did not respect the conventions.2 The IDE is confusing
if you are new to it, but I used Eclipse too and is similar, maybe the author
should try a text editor instead.

~~~
scarface74
What features does Intelli J have that a combination of Visual Studio +
Resharper doesn't have to make it so much slower?

~~~
rhodysurf
VS + Resharper is slow as shit for me and I have a workstation with a Xeon and
32 GB of RAM.

------
Glyptodon
As someone who rarely does Android development (but does a little bit here and
there) I agree that Android Studio can feel _heavy_ when you're barely using
any of the features. And the quantity and depth of menus you almost never use
can seem Byzantine.

Conversely, it's also surprisingly easy to just install and run with, though
it does take time to download all the components and the first Gradle build
can take a while if your machine is older.

The first time I used it I was shocked at how painless it was to get going (I
came into it expecting it to be an endless nightmare of configuration and
headaches a la Eclipse).

I continue to use it occasionally and without trouble on a more than three
year old Inspiron 3000 with only 4 GB of RAM and a cpumark score around 1700.
(Of course I'm also not really using the emulator on that machine and just
debugging on an actual device.)

I've also almost never used the visual layout editor (after seeing that is
existed) just because the layout system reminded me of flexbox and CSS, so I
felt comfortable just writing layouts. So maybe it's bad, but I've also never
felt like I needed it.

Could it be better? Probably. Is it completely terrible? Not really.

------
RyanZAG
This article is about as embarrassing as Android Studio is. Multiple areas are
plain incorrect, and zero effort seems to be made to do any kind of
investigation or provide any actual information.

Maybe we should stick to only posting techcrunch articles about finance or
insider startup news, and find better sources for critiques in development
environments.

------
blibble
Android development has regressed heavily

I've been building Android software since about 1.5, and these days I can't
even create an empty project that builds with Google's toolkit

-> create an empty project, hit build, get weird gradle error messages, .so issues, compilation problems, internal IDE errors, UI previewer doesn't work due to some old .jar that gradle has pulled down, and so on.

and pressing "build" takes 60 seconds on an empty project!

vs. the old ant system that seemed to work out of the box, and would build
under a second

(and I pay the Jetbrains subscription for IntelliJ for my non-Android work!
and love IntelliJ!)

~~~
ParanoidShroom
No it hasn't, its just you I'm sorry. Full time Android dev, ith no problems
... But yes the preview isn't great. Hotswapping with Jrebel, no bugs under 3
seconds. Fuck eclipse and ant, really. God I hate this thread.

------
aphexcx
This author, per his own unintentional lede, opens Android Studio twice a
year. Why does he have any authority on this? This article is a bunch of
reactionary first impressions written by a novice.

I use AS every day, and have been since it was 0.8. It's powerful and makes
everything I do easier. About the only point I'd give him as accurate is that
you've got to have the powerful laptop to run it.

------
codazoda
This sounds like a developer who is merely more proficient in XCode than
Android Studio.

I find BOTH of them to be much more difficult than I feel like they should be.
Many things in each are not intuitive.

------
oculusthrift
i quit android development a few years ago because of that awful eclipse
plugin environment. I recently started writing a little android code and
Android Studio is a breath of fresh air for me. The biggest pain for me is the
SDK manager but almost all IDE's are awful for stuff like that.

------
beezle
Wow.. maybe if this guy "fired it up" more than once or twice a year? And the
comment about it being based on IntelliJ (which I actually use rather than
Studio) and thats bad because IntelliJ is for java(1) ... hmm.. what language
are virtually all Android apps written in? And as others note, HAXM works well
to speed emulation.

1\. the platform does far more than just java as well.

------
joshstrange
> it’s based on the long-in-the-tooth IntelliJ IDEA platform

I don't do Android development but I've fired up Android Studio to look at
android code another team writes from time to time but with the above
statement you lost me 100%. IDEA is awesome and and I gladly pay for it. It
is, in my opinion, the best IDE out there right now.

------
relics443
I've been using Android Studio ever since the first public alpha, and while it
used to be a hot mess, they really cleaned things up since 2.0

I personally think that AS/Intellij are the best IDEs I've ever used. That
includes Visual Studio Pro.

The article seems to be complaining about WYSIWYG not working well, and slow
emulators. I've never found WYSIWYG to be an acceptable solution, but that's
just my opinion. But to throw the whole IDE under the bus because of that is
just irresponsible.

Also the emulators are blazing fast on my machine.

------
arron61
I personally like Android Studio better than dealing with Xcode and their
project and storyboard files. I don't think Xcode is designed well for small
to medium teams -- having to merge those files is a "gruesome embarrassment".

------
whatever_dude
I think the problem is that coming from Eclipse, Android Studio is ABSOLUTELY
GREAT. It's an order of magnitude better that what we had.

Personally I think it has a few rough edges (memory/CPU usage, designing
weirdnesses) but it's mostly fine. It's Android development itself that still
has some pointy bits, especially in regards to building and dependencies.

------
tomc1985
I am really sick of hearing "technologists" constantly shitting on not-even-
very-old tech-slash-software because it doesn't jive with their cloud-infected
view of the world. We devs are real assholes in this regard -- if an app
doesn't work perfectly we rip it to shreds over incredibly arbitrary and fussy
criteria.

Like the Tools > Android thing. Not the best design decision? Sure. But jesus
christ does this guy seem to hate that. A lot of us grew up using programs
like this and I find the location of the Android submenu in Tools to be
perfectly fine. I mainly use IntelliJ for Ruby and all my Ruby tools live in
the Tools menu too. If you understand IntelliJ as a Visual Studio-style
polyglot platform, then the design makes sense. If this guy would take a
moment to understand what he is working with, perhaps he would have much less
difficulty.

~~~
noxToken
What's most baffling though is that there is a search bar. You don't have to
actually navigate the menus to find each and every setting. Type in your term,
and every sub-menu with an applicable setting will be displayed. From there,
just use a bit of logic to filter through the incorrect options.

------
st3v3r
The answer is simple: Google honestly does not care. The parts that are
IntelliJ are great and work as well as IntelliJ does. However, the parts that
Google is responsible for (the emulator, the GUI designer/layout preview, the
gradle plugin) just absolutely stink. And there's really no excuse for it,
other than Google doesn't care enough to put people on the project. If they
wanted, they have the manpower and the brainpower to make top notch developer
tools; tools so great that men would fall to their knees at the sight of them.
But instead, we get something who's selling point is, "It's better than the
Eclipse plugin" because they simply do not care.

~~~
mikeevans
Couldn't disagree more. The Tools team has made huge progress - the new
emulator is so much better than the old one, ConstraintLayout is a huge
upgrade for using the layout editor, and there's a huge push to fix
performance with the Gradle plugin.

~~~
st3v3r
I'm seeing pushes to do this, and promises of that, but this is all stuff that
should have been there from the beginning. The Preview window still stumbles
on views imported from the Support Library, the emulator is a little better
but still not great, Instant Run is a disaster, and Constraint Layout just now
came out of beta.

------
canistr
This is a rather ridiculous article to write. Android
Studio/IntelliJ/JetBrains IDEs have better linting and code completion than
XCode. Not to mention optimizing/auto-imports rather than typing them out in
XCode.

------
mschuster91
As someone who has to deal a couple of times a year with building and
deploying Android and iOS apps, the third-last paragraph is 100% agreeable:

Android is better for testing and distribution but sucks at development (well,
that's natural given that everything is written in f..ing Java, I've never
seen a Java application that is both complex and fast/resource-saving), and
Xcode/Apple is better for development but sucks so much for delivering, even
for testing.

------
guelo
Lately I've been hearing more complaints about xcode then android studio.
Though xcode's visual layout editor and simulator are still miles ahead.

------
krabpaaltje
Professional android (and previously ios) developer here.

If you know what to do then AS is pretty great. If you want to compare it with
xcode then xcode is a sad state of affairs imho, lacking a lot of features
that AS has.

It was a bit painful to have to see my ios colleagues have to resort to
textsearch to find out where a certain member was being accessed, i mean come
on.

The little ios dev I still do I do in Jetbrains' AppCode. Much better for
actually coding.

~~~
dep_b
[quote]It was a bit painful to have to see my ios colleagues have to resort to
textsearch to find out where a certain member was being accessed[/quote]

I can imagine. Especially when it's one of the few features that actually
exists in Xcode.

~~~
babesh
Put cursor on the method. Tap the icon of a 2x2 grid for the file. Tap the
callers menu item.

~~~
dep_b
Yeah now I read my post again the sarcasm wasn't completely obvious. Sorry.
Still I was working today in Xcode and the reason I still use CMD+SHIFT+F and
T so often is because it's so blazingly fast. Instant. Other IDE's have a full
text search that is much slower than a more exact method anyway.

------
bitmapbrother
You only need to read the comments section to see how many things the author
didn't seem to know. So much so that I almost thought it was a fake news
story. His comments about the emulator were baffling to say the least. On my
MacBook the emulator is extremely fast with the Intel HAXM driver. In fact,
I'd even say that it's just as fast as the iOS simulator.

------
thearn4
So as someone who does mostly scientific computing but within programming-
flavored editors (like sublime), I find XCode/ Android Studio/IntelliJ/Visual
Studio sort of terrible in their own special and unique ways. But IntelliJ
never struck me as being all that bad to be honest.

Eclipse, on the other hand...

------
radley
It's clickbait to get an Xcode vs AS flame war going, aka Mac vs PC for today.

------
scarface74
Reading through the first few comments here, I haven't seen anyone say that
they prefer Android Studio over XCode or Visusl Studio.

When I had a choice years ago to go down the Java path or the .Net path, I
chose the .Net path partly because of the quality of the development tools.
Also I trusted MS to evokve the language more than I trusted Sun and now
Oracle.

I launched Android Studio and it still had the "Java stink" to it that all
Java based GUIs have.

But XCode and IOS development definitely is a lot more polished experience
than Android development.

~~~
RyanZAG
I think it's more that it doesn't really need to be said.

I use Android Studio, Xcode and Visual Studio daily. I prefer Android Studio
by a mile because of the great integration with testing, build tools and
command line. It's slightly more productive than Visual Studio, and both
Visual Studio and Android Studio are leaps and bounds better than Xcode which
spends 10 minutes trying to make sense of C++ code and then crashes when you
scroll around a storyboard while throwing up bouncing colored doom balls every
few minutes.

EDIT: Choosing a job because of those things sounds like something you'll
regret in the future. There are far more important considerations than 'Java
stink'.

~~~
scarface74
There is nothing more important than not being stuck with using a tool
everyday for 8 hours a day that you hate.

After using R# everyday with Visusl Studio for years, I got a job that
wouldn't provide Resharper for developers. I bought it myself without a second
thought. I want the tools I use to be seamless as possible.

As far as the other reason I chose to base my career on .Net rather than Java
once I decided to move away from C++ bit twiddling - that I trusted Microsoft
to evolve the platform more than Sun, in hindsight it seemed prescient.

~~~
RyanZAG
Ah interesting. To me that just sounds like saying there's nothing you hate
more than using a hammer when you could be using a screwdriver, and this is
from using a lot of VS and Eclipse/idea. I can see where you're coming from
though, and of course, different people are different.

At the end of the day, all that matters is what matters to you.

------
tn13
Android studio has improved a lot and I think it is easily the best Android
IDE out there. It is in-fact hell lot better than Xcode in my opinion.

There are indeed some issues with Android studio mostly related to visual
design but I have never found that to be a handicap because you are generally
better off hand coding all your layouts.

I would love to see tighter integration with Firebase, Azure and AWS though
something that is missing right now.

------
calferreira
Having used it on windows and linux, i still find the experience more fluid on
the later. Don't know why.

~~~
ktRolster
In the words of an Android team member I talked to recently, "You use
Windows??"

------
aeturnum
This is a little off topic, but has XCode really gotten that much better? When
I was using it back in 2013 it was, by far, the worst IDE I had ever used.
Less functional than eclipse with the same ability to consume all my ram. It
also crashed constantly and randomly.

~~~
cableshaft
XCode got better, then with XCode 8 it suddenly got a lot worse, at least as
far as crashing and speed was concerned. I think it's gotten a little better
again with the most recent version, or at least I haven't noticed as many
problems.

See "Is XCode 8 the worst release in recent memory, or perhaps ever?"
[https://www.reddit.com/r/iOSProgramming/comments/54r9ro/is_x...](https://www.reddit.com/r/iOSProgramming/comments/54r9ro/is_xcode_8_the_worst_release_in_recent_memory_or/)

------
jaypaulynice
This guy should have tried coding for Android before Android Studio...then he
would realize how much better things have gotten. Oh don't forget about unit
tests... I get frustrated with it sometimes, but It's still much better than
before...

------
cocktailpeanuts
I think this is 1000 times more embarrassment for the writer than Android
Studio is. Too many factually incorrect things in the article it was so hard
to finish.

I can understand why someone who opens it twice a year would think this way
though.

------
benologist
Probably cause they don't need to bring it to the hybrid Chrome/Android
notebooks that's emerging - I'd expect a more elegant solution to accompany
that given the massive school student focus.

------
ap46
My 8GB Macbook Air could make an omelette if the build goes on for 3/5mins.

Theres is commented out line in one of the grade flies about HEAP size, I read
about uncommenting it & poof my build times noticeably reduced.

------
vbit
There's also Kivy ([http://kivy.org](http://kivy.org)). Not with a sizeable
sponsor like React or Xamarin, but it's Python :D

------
huula
Eclipse is free and let's you develop whatever stuff for different platforms.
It's slow, yes. But can you use XCode to write some Java servers that has
thousands of classes?

~~~
douche
With the existence of IntelliJ Community Edition, there isn't really any good
reason to suffer along with the bloated carcass of Eclipse.

And buying IntelliJ is only $150. Everybody has their own calculus of
convenience versus money, but for me at least, that hits a spot where better
tools and the time I save is more valuable than the money they cost.

------
leroman
Commenters here who say Android Studio is fine, I suspect you haven't tried
developing for iOS, I did (I develop for both for a long time) and I totally
agree to the criticism.

~~~
ktRolster
xcode isn't particularly great, friend.

~~~
chris_7
Yeah, uh, does the _syntax highlighter_ crash every minute in Android Studio?
Does the Java compiler regularly segfault? Beating Xcode is not difficult.

------
epx
I take it as part of the price of being portable. It is also easy to set up
the toolchain in a build environment (no need to have an AndroidDesktopOS to
build Android apps).

------
DonHopkins
The most wonderful thing about Eclipse was how much its name annoyed Sun.

If only Google could come up with a name for Android Studio that annoyed
Oracle that much.

------
endorphone
I saw this nonsensical opinion piece on here before with a large number of
comments, the primary being that this is yet another "I'm Not Comfortable With
This, So It Sucks" bit of noise.

Guy seldom uses tool, thus finds it illogical and confusing. Story of every
casual user in the history of time. I seldom use XCode or OSX, and I find both
of them to be unintuitive messes, yet I have the wisdom to realize that's
mostly just lack of acclimation.

------
mahyarm
This is why mobile devs get paid more ;)

------
ap46
I wish they would just kill Android after 7, since nothing new/overhauled is
on the horizon, the other project OSes that google is working on should
debut(Fuchsia/Magenta) & have performance (Go/Swift anyone?) as the core
priority instead of crossing over Java apps from the previous behemoth.

------
lookingfj
someone just starting out...what tools can I use to make the dev experience
better than just using android studio? Typically I make a small UI change and
rerun it to my device....rinse and repeat. Is there better ways?

~~~
RandyRanderson
Sadly, Android Studio is now the only game in town. My advice would be use AS
as close as possible to how the tutorials recommend. Technically you can still
build android apps with Eclipse or the cmd line but, as a new user, this will
be difficult.

Personally I'm going to skip Android Studio and wait until Google changes
their mind again and moves to a new IDE. Should be only a year or so. ;>

------
Zigurd
Better than Eclipse

~~~
pjmlp
My PC happens to disagree.

I have to configure Studio in laptop mode and prune several pkugins, to have a
similar performance level.

~~~
Groxx
Yeah - Eclipse is often referred to as the monstrous, slow, feature-full
beast. But Android Studio is _significantly_ further down that track than the
ADT was on Eclipse.

AS is an enormous RAM hog, for instance. I have the space, so I prefer that -
unused is just wasted. But it's wholly incapable of running on lower-end
hardware that can run Eclipse just fine.

~~~
pjmlp
I used to bash Eclipse, but AS made me change my mind to never use InteliJ,
unless I really have to.

Unless this is a side-effect of Google's doing.

My PC runs VS 2015, Eclipse and Netbeans just fine.

~~~
Zigurd
I'm curious: Is this an effect of complexity in Android programming, or has
IntelliJ gotten bloated and complex?

~~~
Groxx
Bloated and complex is definitely fitting for IntelliJ, IMO. It handles its
complexity pretty well from a user standpoint, but (like many mature IDEs) it
has mind-boggling feature-creep. And then you add Android's quirks on top of
that.

I mean, I mostly like it that way - I'm not saying that's a bad thing. The
more my IDE can do for me the better, and there's rarely a reason to _remove_
those abilities. But it has costs.

------
hutzlibu
If anyone is interested, I could bring in a kind of fresh and neutral point of
view on Android Studio, as I have never done Android nor iOS Developement
before, but have seen many other IDE's, and just 2 days ago I did a fun
project with Android Studio for the first time.

The goal of the project was to control a Lego Mindstorms via Bluetooth, over a
attached Android Smartphone which can be remote controled by a WebInterface...

Luckily someone else did this allready,
[http://www.smartlab.at/articles/android-wifi-htm5-nxt-
robot-...](http://www.smartlab.at/articles/android-wifi-htm5-nxt-robot-
controller/) so I thought I can just import his Project and then start
modifiying it a bit ...

I was curious if I could manage it, without reading a Tutorial or doing a
Hello World for Android or something similar first ... because I have some
Java and Eclipse experience and Android is basically just Java, right?

In the end, well, yes I kind of managed - but it took me about 4 hours messing
with configuration files and reading help sites, before I had the whole
project running (and not stable, though)

Main problem was, that the Project I used was quite old and for Android
2.2(which I did not know in the beginning) and Android Studio just imported it
without warning, but ignored all the old configs and just set the sdk of the
Project to the latest Android - and therefore just didn't run on, nor connect
to my old Android 2.3 nor 4.x Devices - without telling me why not)

Otherwise, many things did worked out of the box (that means after a lot of
downloading and waiting and then downloading again ...) and in a expected way
... and unlike what some people here think, I had the impression, that there
was indeed quite some work and polishing behind it. (yes, IntellIJ seems nice)
Even though - it did felt adopted to and not made for Android in many
situations.

And it is slow.

So very, very slow.

And even though the hardware I used, is quite old, other IDE's like Visual
Studio(Code), or my main tool: Chrome Developer Tools, run fast enough.

And the UI is unfortunately not very intuitive. Too much buttons and
information, I did not needed for the tasks I had and the ones I did needed
were allmost burried under all that mess. In the end I usually found, what I
searched for and it never took too long, but probably more because of my
previous Eclipse(and similarish)-Experience, than because it was where I would
expect it intuitively.

So to summarize I would say, it is indeed quite better than how Eclipse was in
my memory, and I disagree with "gruesome embarrassment", but still, I am so
glad, I don't have to actually work with it ... and I decided to not use it
any further and rather do the mindstorms project again from scratch, but with
HTML5. But this also might be, because I never really liked Java in the first
place, so Android Studio maybe did not had a real chance to change this. But
while thinking about it, it is also very possible, that I never enjoyed Java
programming BECAUSE of Eclipse/NetBeans...

------
edblarney
A lot of it has to do with the inherent problems with the Android platform.

------
nsxwolf
Is it still Eclipse? Anything Eclipse based is always going to be a clunker.

~~~
chrisper
No. It has been based on IntelliJ for quite some time now

------
jasim
> One problem, of course, is that Android Studio was not built from scratch;
> it’s based on the long-in-the-tooth IntelliJ IDEA platform, a Java IDE… and,
> well, you can tell. It feels like fifteen-year-old software, and it’s all
> too apparent that it was adapted to, rather than built for, Android
> development. (Again: “Tools / Android.”) And, of course, it’s written in
> Java, which makes it multi-platform… but slow.

If you get the feeling IntelliJ is a 15 year old software because it is slow,
you should upgrade your computer. Get at least 8 gigs of RAM, an i7 or
equivalent processor, and an SSD. If you do programming to earn your
livelihood, that is a far better investment than switching to a text editor
for speed.

~~~
hashhar
IntelliJ IDEs are bloated compared to VS2017. VS2013 and older were the
slowest and most unreliable IDEs, followed by Eclipse and IntelliJ but VS did
manage to wake up and VS2017 is a breeze while IntelliJ haven't made much
user-facing improvements.

------
android_dev
Well, one of the difficulties of Android development is one of Android's
strong points as a user - multiple device configurations. If Android were like
iPhones (x models, each with precise specs), life would be much easier - you
wouldn't need all the LayoutManagers - everything can be written with precise
pixel specs (although you'd have to upgrade your code when a new model comes
out).

My biggest gripe is more to do with the language. It's somewhat surprising how
a company which can invent a simple language like Go created a monstrosity
like the Android API, and while I understand that in the first couple releases
they had no choice and no experience, I would have expected them to rethink
their API model in post-lollipop.

My personal gripes:

1\. Lifecycle management - how many entry points are there into your app?

There should be an entry point (app started) and one exit (app ended). And
don't get me started on Fragments.

2\. Callbacks - Why Why Why WHY?! I understand that closures are a new feature
and were not available for most of Android's cycle, but inner classes are so
ugly, I'd rather write it manually (using a single on-event function with a
switch/case on events firing) than use inner classes.

3\. Not fully OO. Why can't I pass object around? Why only strings?

4\. File/Stream dichotomy - Some things are done by file, others by stream.

5\. Library - Practically, almost all modern "Native looking apps" (meaning,
not Q or OpenGL based) rely on appcompat, and will always require appcompat
(Google recommends using AppCompat even if you're not targeting old phones,
since they fix bugs in AppCompat which they can't in Android). So why make a
"native" library? Keep the basic "native" library small and keep the code in
appcompat?

