Hacker News new | past | comments | ask | show | jobs | submit login

As someone who is interested in Android, but is currently being scared off by Eclipse, does anyone know any good resources for developing for Android in something that isn't $BLOATED_JAVA_IDE?

I tried vim, but the command-line builds were horribly slow, and almost all documentation and tutorials I found expected me to be using Eclipse.




Using a popular internet meme, "I don't always code in Java but when I do, I prefer IntelliJ".

Seriously, give IntelliJ IDEA a try. Personally I think it's a lot nicer and snappier than Eclipse. It has a free edition. You might still decide that you don't like it but I think it's definitely worth a try. Also, the last time I checked (which was years ago, admittedly) it worked with Android perfectly.


Yes command-line build/deploy is horrible, the way to use vim is:

- Write code in VIM

- Build everything on Eclipse.

Basically keep eclipse open only to build, and deploy to the smartphone. Everything else, do it in vim.


Why is command line deployment horrible? Write some scripts, copy stuff with ssh, etc... I continue to be horrified at the refusal of modern app developers to write code to help them write code.


Someone already did that for us, it's called an IDE. I continue to be horrified by engineering re-write code that already exists.


Except it clearly doesn't. For the use case in question, an IDE can build a .apk and install it on a single connected device. Can you run it in the same step? What if the app has a 10MB data set and takes 8 seconds to install, can you optimize that by copying only the binary? Can you wipe the data from the host machine? How about install a known data set for a test? Install on 5 devices and run a test suite without manual intervention?

Every one of these is a valuable optimization for some workflow somewhere. All of them reduce the compile/test cycle by seconds or minutes, speeding development. NONE of them are done by any IDE I'm aware of.

Seriously: write code to help you write code. If you aren't doing this, you probably aren't writing good code. And if you gave that answer in an interview, I for one wouldn't hire you.


How good is code completion in VIM for Android apps? I was an emacs guy for many years but since I started doing iOS I can't imagine writing Objective-C without really solid code completion. Maybe it's less necessary in Android?


Because you're writing Java, which is a very verbose language, all code completion and code generation (method stubs, auto constructors etc.) are a godsend when working with Android.

That's why I'm always wondering why anyone would so much want to waste time with typing Java on VIM (even though I DO use Vim for other programming tasks) instead of just using an IDE specifically customized to make such development faster and easier.


A few years ago I was having lunch with some of the guys from Franz Lisp and one of them said that his epiphany was that Java did have macros, but that they were write only and built into the IDE. I didn't really appreciate his insight at the time but I get it now.


An IDE is not a build tool.

I use Maven for all my Android builds.


I am saying in android case. The command-line tools for android not in general. Have you developed android command line ?


I do all my Android dev in VIM, and I use ant on the command line for building... what do you find horrible about the command line build? I just use 'ant debug' for debug builds, and 'ant release' for release builds - and 'adb install -r' to install the package once it is built. Usually, it ends up being a couple of up arrows, and enter, on the command line to build / deploy.


I wrote a script to automate these steps as well as taking a few options to allow me to:

- adb clean (because chasing syntax errors that don't exist is a headache)

- run my (shockingly limited) test suite

- copy the .apk to a shared Dropbox directory that I use to let a few people help me test nightly builds

Without the tests the full build takes a few seconds (on MBP from March 2011).


Funny, that's exactly what I do. Eclipse for building and debugging; Vim for coding. It's a pretty happy combination especially considering that the switch between perspectives is, for me, much more disorienting than the switching between two applications [I feel lame saying this, but the perspective change is really disorienting for me...].


I think that you have to work to make your perspectives as similar as possible. Nominate screen regions for areas of similar importance.


May be I have been doing it the wrong way all along. I've used 'ant install' for build/deployment. Is that a horrible way for deployment? Does Eclipse deploy it faster?


I hadn't used a proper IDE in a decade or so and Eclipse was perfectly acceptable.

I really would recommend sticking with it for a while and then moving on to vim once you've got some experience in the process.


well if you had used a proper IDE in the last decade you'd realize that Eclipse is not perfectly acceptable.


As someone who uses Eclipse pretty regularly, what don't you like about it? I'd never really used big IDEs before I got into Java either, so I'm curious.


Well, for someone that uses VIM/Emacs heavily, Eclipse might be fine as an IDE, but I don't like to use it as an editor. When I'm using eclipse to edit code, I feel like I'm using microsoft word -- user friendly, but not "coder" friendly.

Also, try using eclipse on very large projects -- it gets very slow. Sometimes I'm not sure if eclipse is hung, or if it's still stuck compiling something or fetching something in maven.


I too, would definitely recommend sticking with eclipse for now. When you really understand all the different steps of the build you could switch to emacs/vim + cli tools, but since it's pretty undocumented there's no reason not to stick with eclipse and do some work while you're figuring it all out.


open a default project in eclipse and just compile.

do all that the docs tell you that the ide is doing ioutside of it and compile.

i did the test. eclipse version had 30 extra kb i could never explain.


are people complaining about eclipse because it starts up slow ? After initial startup, what are the issues that cause this person to be scared of using an IDE ?


Eclipse is frankly a poor text editor. After learning enough Emacs to get comfortable, it becomes clear that there is a better way. For example, undo. In Eclipse, type something, undo it and type something else. Now you can't use the undo/redo function to get the first thing that you typed back. In Emacs, you can, since undo is an undoable operation. Similarly, having things like i-search, align-regex and rectangle editing have become vital for editing code. These things either do not exist, or are difficult to discover or use in things like Eclipse.


In all fairness, Eclipse does have i-search, and on Ctrl-J it's not that difficult to discover.


people claim that Eclipse IDE is slow.. I run Eclipse IDE on Ubuntu under wmware VM on a 32 bit MS Vista 2.4GHZ AMD dual core cpu machine..and yet my eclipse start times beat theirs..part of java development is knowing how to tune VM settings..some just frankly do not know how..


ide does stuff i don't understand.

i read the "other ide" page on androids docs and understood all the build process.

if i used eclipse, all i would know is how to hunt down menus filled under nonsense names...

painfully typed on a mobile


What's wrong with the popularity of Eclipse? Why is that bad?


Sorry, that wasn't supposed to be there. I'm scared by Eclipse itself, not it's popularity. ;P




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: