Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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?




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

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

Search: