From 26a0fd57b7cdd5423fdc3a3cf36bd1c7a3fb8453 Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Fri, 6 Aug 2010 20:42:35 +0000 Subject: Describe what a microframework is. --- docs/designdefense.rst | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/docs/designdefense.rst b/docs/designdefense.rst index 126922f7f..ac8f128fb 100644 --- a/docs/designdefense.rst +++ b/docs/designdefense.rst @@ -1204,18 +1204,30 @@ effort. Microframeworks Have Smaller Hello World Programs ------------------------------------------------- +Self-described "microframeworks" exist: `Bottle +`_ and `Flask `_ are +two that are becoming popular. `Bobo `_ +doesn't describe itself as a microframework, but its intended userbase +is much the same. Many others exist. We've actually even (only as a +teaching tool, not as any sort of official project) `created one using +BFG `_. Microframeworks are +small frameworks with one common feature: each allows its users to +create a fully functional application that lives in a single Python +file. + Some developers and microframework authors point out that BFG's "hello -world" program is longer (by about five lines) than the equivalent -program in their favorite microframework. Guilty as charged; in a -contest of "whose is shortest", BFG indeed loses. +world" single-file program is longer (by about five lines) than the +equivalent program in their favorite microframework. Guilty as +charged; in a contest of "whose is shortest", BFG indeed loses. -This loss isn't for lack of trying: BFG aims to be useful in the same +This loss isn't for lack of trying. BFG aims to be useful in the same circumstance in which microframeworks claim dominance: single-file applications. But BFG doesn't sacrifice its ability to credibly support larger applications in order to achieve hello-world LoC parity with the current crop of microframeworks. BFG's design instead tries to avoid some common pitfalls associated with naive declarative -configuration schemes. +configuration schemes. The subsections which follow explain the +rationale. .. _you_dont_own_modulescope: -- cgit v1.2.3