I'm finally getting around to starting an app engine project, years after first downloading and playing with the python-only version - I find myself back at square 1 with the java version. I need some advice on getting started.
Typically I find myself blocked from starting by a bewildering number of technology choices that seem to need to be made up front: java vs python, gwt vs javascript, objectify vs twig vs jdo, etc etc. All of these choices tend to lead me into massive research projects which, while - truth be told - I thoroughly enjoy the research, eventually result in so much inertia at the start of the project that it never gets off the ground. I'm sure a lot of you can relate. So let me lay out where my head is now. Basic goals: - I want to build a web app that will eventually have millions of users (who doesn't, but hey, let me dream for a moment) - I've decided to go with Java. Let's not even discuss it - I'm comfortable with Java (though not really with J2EE). - I agonized for some time over GWT vs pure Javascript, like YUI. I kind of favour YUI, because I don't really like working in a language that generates the language I actually need - that tends to lead to maintenance headaches and compromises in functionality. Nonetheless, I've decided to go with GWT now, because it seems easier to get started that way, and I can code and debug in Eclipse, with which I'm very familiar. Let's not discuss that choice either, other than to consider that I would like to have the option to pull back from GWT some time in the future and put a YUI front end on my java backend if need be. - Having got that far, I went into the GAE documentation, and got as far as the datastore documentation when the little blue box detailing framework alternatives to JDO and JPA - then got sidetracked again, of course... On the one hand I'm very familar with Hibernate, so JPA was tempting - and might help with future independence from GAE. Note that these startup decisions are always plagued by doubts about what happens in the future, when the fact is the doubts tend to ensure that the future never comes about :( Future independence be damned, let's just concentrate on the project getting started so it has a future. So anyway, I was drawn in briefly by Slim3, and then gave it up in favor of Objectify. (Note I still haven't written byte-one of this code - these are all just vaporware decisions right now). I like Objectify because it's simple enough to use and close enough to pure GAE that I'm not really tying myself down. That decision made, I'm ready to get started... But wait: reading about objectify, lead me to a Google IO video on Objectify with Request Factory. (http://www.youtube.com/watch? v=imiquTOLl64&feature=player_embedded#at=2066). Now, I was almost ready to resist this and just get started, but I went through a tutorial on creating and understanding the standard GAE/GWT project - mostly the GWT side - and I was kind of bothered by the huge amount of boilerplate involved: all of those interfaces, serverImpls and client- sides for every widget/page. So I watched and was impressed by that presentation. But of course, it lead right into another presentation by Philippe Beaudoin on GWTP http://code.google.com/p/gwt-platform/. This turns out to a fork of two other technologies to reduce GWT boilerplate: gwt-dispatch and gwt- presenter. Argh, here we go - they fork, I fork, and off I am on another technology reading binge. That's about as far as I got - I was already to start coding using GWTP when I pulled back for a moment and realized that I was maybe getting in too deep. GWTP has a nice bunch of documentation behind it, won't it be easier, in my first go at my first app, to just start with the basics from Google. I mean Objectify for persistence, sure, its easy enough to grok, and low-level persistence seems very trivial anyway, but for presentation, perhaps I'm better off just writing all of that boilerplate for now, hmm? Another thing to consider here, is that all of these developers who are using packages like GWTP, and developing them and blogging about then, all come from a background of having started with the basics, and worked their way through the alternatives. Some of that results in their documentation being slanted by that knowledge and less accessible to someone just getting started. What do you all think? Should I go it the hard way to start with and build with pure GWT based on the main google samples? Or jump right in with a framework? thanks for reading this far - and sorry for the total noob questions -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
