开发者

Opinion about Glashammer App engine Web framework

I am having to look into some code and consider working in a Python framework called Glashammer.

I know and love Django. I have some experience with Appengine native framework and D开发者_如何学运维jango on Appengine.

I'd like to know from you that have used one or more of those, how Glahammer compares and contrasts with others. What are there any Pros and Cons and what else do I need to be aware of.


I am highly biased, because I am the Glashammer author. But the pros for me are:

  • Werkzeug-based framework removes much of the boilerplate in creating Werkzeug based applications
  • Easy pluggability and high flexibility: 2 levels of plugins, Appliances which are reusable components and Bundles which are behavioural modifiers.
  • Well unit tested
  • Documentation is not bad (for an open source project)

Versus something like Django, I would just have to say "Werkzeug-based, with a nicer plugin framework."

Did I mention the code is beautiful like a glowing orb of ... (oh maybe this is subjective)


After a bit of googling (and finding your question:) and half an hour of reading docs and code I can say that

Glashammmer is great because it:

  • is well-documented;
  • is lightweight and very flexible;
  • provides almost everything to rapidly build a complex web app -- unlike Werkzeug itself;
  • does not suffer from NIH syndrome which is arguably the Django's greatest wart;
  • does not impose database-related libraries and thus supports whatever storage one could use from Python. Django only supports a number of relational databases and assumes you are happy with them. Of course you can drop Django ORM but this renders admin -- the Django's strongest point -- useless;
  • appliances are the best way to define views I've seen so far.

Galashammer is not so great because it:

  • has shorter development history and much smaller community than Django's, which leads to:
    • inevitably lower quality of core code, and
    • inevitably lower quantity of contributed code;
  • makes use of some components that may be unstable (e.g. flatland which is in alpha stage, though it's an arbitrary label and may be irrelevant to quality; moreover, it's only used in glashammer.utils.yconfig);
  • does not provide an API to define models (e.g. some declarative wrapper with backends), so the "pluginability" of applications can be significantly weaker that in Django (applications will make too many assumptions about the environment).

Anyway, I think this framework is worth diving into.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜