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.

Reply via email to