Enough with the linkbait pitches. Tell me it's easy, great, I could be interested. Tell me it only takes 10 seconds. that's BS. Look, I just picked up a soldering iron! My new hardware project is underway in only 2 seconds!! - 5 times faster than AndroidKickstartR by simply switching to dedicated hardware!
(cue a slew of blog posts about starting your next _________ project in only 100 millseconds, because that's about how long the human brain takes to form a new thought.)
Seriously, there's such a thing as overselling. Give me less wank and better inline documentation. I like the concept a good deal, but not the way it is presented.
Really. This is Hacker News and we're presumably interested in a little more depth.
There's no sense in optimizing the "start building an Android app" process in and of itself. If you ignore the time it takes to launch Eclipse (which, to be fair, runs about 45 minutes), I can start an Android app project in less than 10 seconds too, not counting the time it takes to create a github repo. The important part is what happens after the project is set up: building and maintaining your software.
I'm definitely not more experienced than most, but I've always found myself weaving in and out of frameworks and libraries when I develop to the extent that any Bootstrap tools I've ever used as a starting point have probably cost me as much time removing what I don't need from them as starting from absolute scratch and only including things I need as I need them. Adding libraries in both Maven-based Android (I'm a stupid Vim Android developer) and Xcode iOS apps really isn't difficult. But that's only my personal opinion.
That said, this seems to populate the extensive layout and values resource directories, which is always the most tedious part of assembling a basic working Android app, where as Android Bootstrap doesn't have as many options and only populates the basic resources.
I'm about to buy a new phone, and I'm going to get an iPhone 5. The primary reason is not because it's (necessarily) a better phone than any Android phones, or because iOS6 is better, but because I can't spend three weeks building an iPhone app anywhere nearly as I could an Android one. I don't have the time, or even close to having the time, but I know with an Android phone I would do it anyway, and it would probably just derail the other 30 things I don't have time for. (For the record, I have built an iPhone app before and it's not that it's harder than building for Android in terms of code/framework, but I don't have a Mac, a developer licence etc).
I wonder if anyone else is motivated to get an iPhone because of this? It's a kind of bizarre situation, but one I'm so glad I identified before buying a phone.
Wait, you are going to buy an iPhone because that would _hinder_ you from taking up app development since you don't have a Mac? That is quite bizarre yes, but each to his own :)
it seems like the real value prop is adding popular libs to your project setup for you. I agree, doesn't seem like it really provides all that much value.
That looks neat, but the "10 seconds" thing is a bit weird. It would take me at least 2-3 minutes to evaluate those options and download the file. Also, it's not like "10 seconds" is an improvement on the status quo, which is like 5 seconds (or 2 seconds, if you have AIDE).
AndroidKickstartR is a dynamic android app generator. It helps to quickly start a project including the libraries you want depending on your needs. Whereas AndroidBootstrap is a more complex and complete template. So, if you don't need some "features" you have to remove the unusable/unused code. So, it really depends on what you need ;)
Looks cool, but also looks just like it's aspiring to be Android Bootstrap which already exists. I don't use either, because application setup isn't really the big pain point of Android development. I'd love to see this effort being focused on something with more value, but I applaud the effort regardless.
Edit:
I judged too quickly, and this is really cool. I did a quick setup from both Android Bootstrap and Android KickstartR. Android KickstartR worked with very minimal effort, and while there were a few things I had to do manually in Eclipse because of some weirdness in the latest Android toolkit (set JDK compiler to 1.6 to fix attribute errors, rename the projects...the usual), it worked and it wasn't so think with someone else's coding and project setup style that I could easily get cranking on this. When I set up from Android Bootstrap, it flat out didn't work with a simple Import from Eclipse and when I browsed through the source files, it looks really thick with boiler plate code. Bootstrap looked more like an app in a box and less like an actual bootstrap or kick start for my own app.
This KickstartR thing can go a long way actually if it maintains the lightweight feel. I don't like that AB uses Roboguice for that reason (as an example of what I mean about lightweight vs heavy-handed in this case). The second you introduce that by default, as seems to be the case in AB, you're now tied to that whether you like it or not. I personally gave Roboguice a try and just didn't think it added value for me and wasn't my style. I have other ways of achieving the same benefits that fit my style better, so I'd rather not have it, or at least have the option to remove it.
Something cool for this KickstartR would be to support arbitrary libs and not just the really popular ones. For example, I published my own lib which currently only I'm using AFAIK. But regardless, I use this lib in all of my own work. It would be nice to add a reference from that here, especially since I publish a jar with my library so it would be as easy as copying my jar into the libs directory. A former coworker of mine did the same, and I'd love to grab his libs in the process as well (as well as things like http-request, etc).
I'm the author of android bootstrap. Its built to work with maven and particular libs that are very common. Its very opinionated and will evolve over time. Each tool has their own value prop. Bootstrap is one for a example app or template while kickstatr is different. These tools are very useful and save a ton of time. Try to get roboguice 2 working with action bar sherlock with maven in under 10 minutes without a template/generator. Yeah good luck. Now you'll see the value of both/either.
Can I find your library on github/googlecode ? You could post an issue or fork the project on github for including your library. I can't promise you that I'll include it, but why not :)
Is there some webservice for PhoneGap like applications? One where you just paste your html and get back an android app? Thats the way I would like to develop.
Just curious -- has anyone here used the AndroidAnnotations library that is included as part of this in a reasonably complex Android application? What was your experience with it like? It seems like an interesting way to avoid having to write a bunch of boilerplate code without any runtime performance implications.
I've not used it myself personally, but it seems like it doesn't really do anything that will actually shorten development time, as you'll still be typing a fair amount to get references to your views established with the annotations. It seems like it could help with making more activity setup consistent, but it is actually more useful in practice to set up base classes for fragments, activities, and services as you'll likely be configuring class-wide defaults in those places anyway.
In my opinion, android development is easy enough to get started without this kind of tool. There are concepts like activities , providers ,etc ... you need to grasp that cannot be abstracted. It's like wanting to develop for a solid app for iOs without learning obj-C,while it is possible, one would throw aways everything the iOs framework gives ones for free.
10 seconds. That is too quick for me. If you are messing around perhaps thats ok, but a project which is a click to include feels wrong for anything more than a tiny app which does something very basic.
Immediately when I create an app like this using this, I have clicked to include libraries. How does this import only the things that I want.
It bothers me that 'starting a new app' is a repetitive enough task that something like this is considered useful. Is this really something anyone ought to be be doing twice a week?
(cue a slew of blog posts about starting your next _________ project in only 100 millseconds, because that's about how long the human brain takes to form a new thought.)
Seriously, there's such a thing as overselling. Give me less wank and better inline documentation. I like the concept a good deal, but not the way it is presented.