Hi list,

If you have any interest in Clojure on Google App Engine you might want to
take a look at migae <https://github.com/migae/migae>.  Currently it just
contains several basic demos showing how to structure Clojure apps on GAE,
running from raw java interop, to ring, to compojure, to compojure-api.
Dynamic code reloading makes rapid development possible.  Not quite a true
repl, but almost as good for servlet development at least.

The technique is straightforward and surprisingly simple, but has not (to
my knowledge) been explained or demoed before.  (A web search for "clojure
on app engine" turns up surprisingly few recent results.)  It turns out to
be very easy to have multiple servlets, filters and a quasi-repl using
basic techniques (and some minor hackery) rather than a specialized
library.  It's not at all like appengine-magic.  AE-magic is fine, but it's
a little long in the tooth, and more important, Google's switch to a
gradle-based build system renders much of AE-magic's logic unnecessary.
Also, I wanted the service libs to be independently usable.

I'd appreciate any feedback, especially on my explanation of how it works -
why dynamic loading works even though everything is aot-compiled.  I'm not
entirely sure I understand how Clojure's loading mechanism dovetails with
the servlet/jvm loading mechanism, so I made an educated guess.  Also, I've
tried to make the README relatively basic so those not familiar with
servlet programming can grok it.

As for GAE service libraries, that'll take a while, and it's probably too
much for me alone, so any who wants to help out is welcome.  I've got what
I think is a promising approach to the Datastore API but will describe that
in another message.

Thanks,

Gregg

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to