Introducing Android Studio
plus.google.com
plus.google.com
Now I'm very excited to make an Android app.
I also hate Eclipse, even though I've tried my hardest to overlook its shortcomings. I'll leave it at that so as not to delve too far off-topic.
[1]: http://xamarin.com
This time around try use Kotlin(http://kotlin.jetbrains.org/) instead of Java. It offers 100% compatibility with Java and it works nicely with IntelliJ.
I wrote this fully fledge news app using Kotlin/Java https://github.com/dodyg/AndroidRivers
I'd guess it's going to something akin to the difference between JetBrains' RubyMine and Ruby/Rails plugin support inside IntelliJ -- same overall functionality with better UX integration for the domain.
This post[1] from JetBrains helped clear the situation up for me.
[1]: http://blog.jetbrains.com/blog/2013/05/15/intellij-idea-is-t...
[1] http://blogs.jetbrains.com/idea/2013/05/intellij-idea-13-ear...
I was disappointed when I bought a brand new Macbook Air last year though only to find hitting cmd-s then switching to a different tab "loses" the save if you do it too quickly (among other general slowness). It's amazing how over so many years with massive hardware increases it doesn't seem any more responsive.
Eclipse just feels clunky and not very well designed. Like they forgot to find someone to do UX work. Plus the workspaces concept is really stupid, and the versions I was using couldn't open a file if it wasn't inside a workspace.
It's not that it's faster. That helps. The thought that was put into how you can make it your own -- search boxes on the settings menu are mindblowing -- and the overall polish makes it extremely awesome. I expect that IntelliJ is similarly awesome for Java, because Jetbrains makes good stuff.
The few things I can think of offhand that I like about Eclipse are that I can drag tabs of code windows around and it automatically will split however I want (PyCharm doesn't let me do that as easily, though it does support split windows Just Fine), and the fact that Eclipse is a de-facto (and FREE) standard IDE that nearly everyone has examples for.
PyCharm, and IntelliJ by extension, has been the first IDE I've ever used that I've felt was worth spending money on.
My only complaint is that even with all the tweaking in the world it's basically impossible to make their Swing-based editor component not look terrible on Linux.
I dislike Eclipse primarily because of really bad UI. Big toolbars, tabs, everything takes up considerable amount of screen leaving very limited space for code. Looks ugly. Speed sucks too.
On other hand, IntelliJ not only has cleaner UI, but also better shortcuts and even show hints to remember them. Speed not great, but feels better than Eclipse.
Also, I know what you mean by the large amount of screen real estate all those toolbars and windows take up, but you do know you can close / turn all those off right? It's not too bad after that.
Lately I've switched using emacs w/ JDEE to edit code and Eclipse mostly just for debugging and the Android XML layout tools, which feels much better. I'm really interested in this new IDE from google, it'd be better if I could do all my editing/debugging in one program.
But over the years the architecture has developed real instability. Frequent crashes, terrible and fundamentally broken package/dependency management. Difficult to find features, inconsistent UX and a vast amount of very low-quality plugins in the ecosystem.
Then there's the extremely varied and confusing set of packages. There's even a matrix of packages and features to help you decide! But even that grid barely scratches the surface:
http://www.eclipse.org/downloads/compare.php
Using Eclipse over a period of months creates an ongoing feeling of anxiety and fear of project file corruption. Updating a plugin is a crapshoot. Dead repository links abound, installs and upgrades have a high likelihood of failing. Upgrading Eclipse itself is like playing routlette with your project file.
Two years into using IntelliJ, I'll never look back. I used to be a huge Eclipse fan, used it for many years, but it just hasn't aged well at all -- it's a layered-over Frankenstein that barely resembles its former greatness.
The whole announcement is that it is based on IntelliJ.
As to OSGI -- that has been the core of Eclipse for nearly a decade, and IMO also a big part of the problem. The promise of OSGI was to allow Eclipse to be treated as a radically-open MDI framework that you could write just any old software on -- not just IDEs, but gaming frameworks, spreadsheet editors, on and on. The reality is that the standards for Eclipse's OSGI "drop-in" architecture have not stabilized into a robust ecosystem, rather it has lead to wildly varying user experiences, odd menu/pane/window configurations that have little consistency from one plugin to the next and poor quality software across the board. I'd be very reluctant point to Eclipse as an example of OSGI's fulfilled promise.
Also -- not sure if you read the OP, but the new Android IDE is going to be IntelliJ, not Eclipse.
And UX wise it isn't just "crappy." It take some serious doing to be less intuitive and newbie-friendly than emacs.
I don't think so. If that were the case, I would have switched to IDEA a long time ago. Going off topic, I don't really like Java very much either. Anyways so what plugins did you have installed and when did you last you use it? What did you use it for - web development or something else like Android development? So far no one has been willing to list which plugins they're using so I'm suspecting that people haven't actually used Eclipse in years.
A GUI should offer you all and only the valid operations you can perform, depending on the selected object(s). Eclipse, far too often, offers to, e.g. deploy your Android app to a server. This kills discover-ability, especially for novices. It's like feeling around blindly in a box but every third thing is a hammer that bashes you on the knuckles. No. Fun.
Eclipse comes off as a GUI pasted on a CLI, where any command can be performed at any time, and you are only told if the arguments are wrong after an attempt to execute a command. You can blame this on plugin developers not fulfilling all the contracts of all the interfaces, but, still, that's how Eclipse is in practice.
Eclipse has gotten better, and I have Stockholm Syndrome by now. But it is far worse than XCode or Visual Studio for basic usability.
Visual Studio does this, mostly and it's way too annoying.
Eclipse is slow, you have to manually edit memory-settings in eclipse.ini just to get bearable performance(-Xmx384m wtf??), it's buggy, plugins are confusing and often conflicting , the ui is bloated, intellisense is more in the way than it is helping, keyboard focus is all over the place when switching between panels(for example going between code/project/search). It's simply frustrating to work with it once you're used to something that actually works smoothly.
Those are my main complaints. I haven't used IntelliJ so I don't know if it is much or any better. I kind of feel like Eclipse exhibits the primary pervasive cultural philosophy amongst Java developers; create something massive and unwieldy, embed some useful functionality somewhere beneath layers of tedious boilerplate, and bundle it all up and act confused when no one wants anything to do with it. This is further exhibited by Java's attachment to XML, its packaging mechanisms (wars and jars everywhere), and its general verbosity.
I appreciate the intention behind all of this, but I think it's totally non-functional from an outsider's perspective. I hope IntelliJ is better.
Anyway as IDE developer for alternative languages (Scala, Kotlin) I dont like Eclipse because they refuse to integrate any sort of support for third party languages. This has been going on for nearly a decade. Vmware had to basically fork JDT to build decent Groovy IDE.
There are many amazing third language IDEs implemented as Eclipse plugins, not forks, like http://www.eclipse.org/koneki/ldt/.
This requires deep integration with Java Development Tools to make incremental compilation working. And JDT team refuses this sort of stuff for nearly a decade now (since AspectJ). There are various hacks (such as aspect hooks used by Scala IDE). Probably best solution is JDT fork made by Spring Source (VMware) : http://blog.springsource.org/2009/07/30/a-groovier-eclipse-e...
And to add insult to injury Eclipse Foundation created their own language called Xtend. It has cross-compilation as well, but it first compiles down to Java source code and result Java code is than compiled by javac. Basically Java Preprocessor. (dont get me wrong. I really like Xtend as language, I just wish their team would put some pressure on JDT folks).
Echoing what others have said, you will notice if you've tried other IDE's. Since my main IDE is Visual Studio, I notice the lag / slowness / clunkiness immediately. YMMV. Maybe on a newer blazing fast CPU it's not so apparent. Definitely not OS dependent. I've tried Eclipse on both Windows and Linux, it's slow on both.
I remember the Google team being shocked (as was the Eclipse community) when Juno came out since it was so awful ui-performance wise. They rushed to donate some machines to re-enable performance tests which had been commented out due to lack of resources, it was small like 10K commitment or so. With their help the Eclipse team was able to mitigate the problems, but its still very slow compared to the 3x branch. In a way they seem like they dont want to admit it and defend the 4x branch. I'm sure this Studio release will be a wakeup call.
I suspect we're seeing the result of Eclipses 4x failure. The only light at the end of the tunnel is that Eclipse releases every year along with its huge plugin ecosystem. They almost never miss a date which is amazing considering its usually millions of lines commited on everything from graphical modelers through c++ tools. Maybe the next major release will fix all this crap and restore order to the Force.
edit/tl;dr: 4x performance issue fixes hopefully done by June 2013: https://bugs.eclipse.org/bugs/show_bug.cgi?id=393429
What will happen with the existing Eclipse SDK? Also what about GWT? Splitting the IDE communities is bold. So many questions though.
Is GWT still even a thing they care about? It seems like they're pushing people towards Dart and Angular at this point.
I/O last year was seriously thin on GWT, and it looks this year like there's only one session, which got misfiled in the schedule under "Google Wallet."
What's pretty crazy is that they were insane enough to base it on Eclipse in the first place, seeing as it's probably the only IDE that so many people hate so intensely.
I'm a Linux user primarily, use OS X at work, and detest Windows, yet I'd pick Visual Studio ca. 1999 over Eclipse any day. I'm an Emacs user, yet I'd switch to Vim in a heartbeat if I had to pick between Vim and Eclipse.
I suspect you will find quite a lot of people with similarly strong hate for Eclipse. It's a trainwreck. Though in slow motion, as Eclipse never seems to do anything fast.
Looking forward to porting my ant scripts to gradle.
I'm hesitant to give up Emacs just to write for Android, but even so I might give this new gizmo a try.
I've been thinking of going with Emacs for Java coding for some time, but JDEE always seemed to be missing something (and some of the newer options tended to eat hilarious amounts of resources or required maven)
Android makes this sort of coding easy, because it supports a relatively "small and focused classes" coding style -- much like Java in the 1.0.x days. Compare to, say, J2EE, where you HAVE to have an elaborate IDE just to wrangle the complex classes and all their interrelationships.
Yeah, I know, pre-release software.
The windows seem to take a long time to load, too. That strikes me as odd -- it's one thing when you're starting up some sort of interpreter, but several seconds to scan the project directory or open a file? Perhaps that's another pre-release issue.
The layout XML editor looks like a big win, though. The syntax awareness, suggestions, documentation access, formatting and just all around general helpfulness seem to be about 1000x better than Eclipse. That alone would make it worth the switch! I think the biggest time sink for me while working on layouts is remembering "what's the darn attribute for..." It's all right there in glorious detail.
The realtime WYSIWYG view is . . . cool, I guess. ADT already had that, though you had to switch to a different tab for it. Maybe I'm missing something; it doesn't seem that revolutionary to me. It still doesn't handle custom views, which I use a lot of. (And I mean a lot! Custom container views, too.) And I don't really like feedback while typing, anyway. YMMV, of course, but it looks to me like the big win is the text editor itself, not the graphical display.
I've been meaning to get off of Eclipse for a while now, so I'll play with it more and watch how it changes. For now, color me experimental and cautiously optimistic.
The View editor afaik has some support for custom views, but only some - it's rather iffy (IntelliJ Android view renderer simply used Android libs to render them, but of course that doesn't work for everything, and anything fully programmatic is dead anyway). Fwiw, IntelliJ's XML editor was always much better at not freaking out at the fact that you haven't finished writing that new tag so of course your view doesn't validate (something that was a constant for me back when I used Eclipse).
The editors in general are standard for IntelliJ, with some nifty transformations added - the XML string example reminds me of how IntelliJ dynamically renders certain idioms into Java 8 forms while still keeping the code in 1.6 (well, that's how I have it configured, that is).
In general, it's nice, I hope it will be available as plugin into plain old IntelliJ as well.
On my search to replace Eclipse for my android development I think I came across IntelliJ and it was very resources-heavy compared to eclipse which in the end made me give up on it. Let's hope it's more efficient now...
If Google can make Android Studio good it's huge news for Android development.
TC has a summary on it:
http://techcrunch.com/2013/05/15/google-launches-android-stu...
I'm in.
"Confirmed! Android Studio is a new IDE that Google is developing in cooperation with JetBrains and based on IntelliJ IDEA. Details shortly." https://twitter.com/jetbrains/status/334725715922669568
Unfortunately, switching to Android Studio presents a different set of issues, like lack of Perforce integration (using Perforce is out of my control here, unfortunately).
I'd assume some sort of hybrid Android Studio/IDEA setup is possible, but even still the Pro version of IDEA that I would seemingly need to get any Perforce integration working is priced at a point ($499 and up) where I'm not sure I could make a justification for the purchase. Eclipse kinda sucks, but it also mostly works and the perforce integration on it is free (and also quite good, I have no idea if IDEA's is any good).
I could, of course, just eschew IDE/VCS integration, but editor integration is, in my experience, kind of a big deal with Perforce because of the rather old-school model it uses of checkouts. It becomes really annoying to merge code in if you don't preemptively check things out before you change them, and having the IDE manage this by just checking things out when you first start editing them is a huge win. Pseudo-ironically, if the VCS I used were any of the ones Android Studio/IDEA gives you for free having support for it in the IDE would be less of a big deal for me, I'd just do all the VCS stuff at the command line.
I suppose I will try the 30 day demo of IDEA and see if it is worth fighting for, but probably not until Android Studio is more baked because I've played around with it enough to know that the 0.1 designation is warranted at this time.
It's hours and days wasted, and that's before I consider any difference in productivity while actually using each IDE. If any of this sounds familiar, do spend a couple of weeks in the free version of IDEA. It was night-and-day for me. The worst part will be your muscle memory (e.g. stepping through the debugger).
The next thing I'm waiting for is the new, Gradle based, build system. http://tools.android.com/tech-docs/new-build-system
The only thing that could make be switch over would be a robust NDK debugger.
It's still rough and hampered by ndk's buggy gdb. But when it works it's beautiful! Visual Studio stepping between java and C++!!
[1] http://blog.jetbrains.com/objc/2013/04/c-ide-an-april-fools-...
I'm a huge IntelliJ fan from my days doing server side Java, so I'm definitely looking forward to ditching Eclipse. I just hope it handles Android libraries better than IntelliJ used to.
Just watch the news on reddit or here :)
I first got a pro license of phpstorm at work and liked it so much i got a personal license for my hobby projects. For me the inspections are what make the difference with any other IDE or editor, with the refactoring and code navigation functionality in close pursuit. Phpstorm runs fast enough even on my clunky old atom netbook, and the UI fits on its 1024x600 screen.
Preview or not, you don't expect such dribble from Google.
Mac error was:
Can't register given path of type 'SOURCE' because it's out of content root.
Windows error was:
(After env var fix) "There must not already be a project at this location" and would not let a new one be created.
If they can't test enough to guarantee basic project creation on stock standard OS's they shouldn't release it.
I don't know what UI building issues you're referring to but the intel based emulators run very quickly and I have no problems using them. Though I still prefer testing directly on hardware, for different form factors that isn't always an option.
http://www.theverge.com/2013/5/15/4333534/google-android-stu...
Can someone who has experience in IntelliJ tell me how well it might support a workflow involving an external editor ? Basically I'm trying to decide whether it's worth investing the time to switch over for my use-case. Many thanks in advance for an informative answer.
(* ) for this -> packetzoom.com
http://developer.android.com/distribute/googleplay/promote/b...
I develop in Java for both fun and profit using eclipse and it's been running solid ever since I followed the tips given in this SO thread (esp putting the jvm in a ramdisk) http://stackoverflow.com/questions/316265/tricks-to-speed-up.... Perhaps those whose sole complaint with eclipse is its performance should try some of those suggestions.
Being offered Eclipse/Netbeans tools is the equivalent of getting a Dell laptop for work.
I've used WebStorm (also based on IntelliJ) for NodeJS dev, and like it a lot. I still like VS more, but VS is so slow and buggy by comparison, it's hard to use these days. So I can imagine that this new variant will be very useful, and far better than Eclipse for the same work.
YMMV of course.
Most IDEs just use some kind of project file, or are able to use directly build tools. But Eclipse always has to create this workspace full of metadata that it likes to corrupt every now and then!
also, use a separate build tool (eg ant) and don't store build info in eclipse (basically, use as default a config as possible and "import from" the build tool). then if you do need to start from scratch you lose very little (and don't add the eclipse metadata to git).
I have the Ultimate Edition, but I would definitely check out the Community Edition if all you're doing is Java.
Does anyone know if Android Studio will also be available as a plug-in for people who already have IntelliJ installed? I'm not too keen on having multiple versions of the same IDEs, that I have to each customize and maintain.
"You can see the updated Android support in the Early Access Preview of IntelliJ IDEA v13 that is opened today...This EAP build includes all of the new features of Android Studio except for the new project wizard and the AppEngine cloud endpoints integration. These latter features will also appear in our EAP builds in the coming weeks."
./sdk/tools/lib/monitor-x86_64/
This seems to be the DDMS view of the Eclipse ADT.
Sure, Eclipse can be a little buggy, but it's FREE.
I'd rather take a free, third party IDE over something that will just push Google closer to world domination.
edit: There is nothing definitively saying it is not web-based, but I do feel as if that would be a big talking point when they first introduced it if it were.
The live preview of different layouts is FANTASTIC! I'm super excited!