REPOZE.BFG Rok Garbas, python/zope/plone consulting Oct. 2009 “Everything should be made as simple as possible, but not simpler.” ~ Einstein BFG is a "pay only for what you eat" Python web framework. You can get started easily and learn new concepts as you go, and only if you need them. It's simple, well tested, well documented, and fast. http://bfg.repoze.org
20
Embed
Repoze Bfg - presented by Rok Garbas at the Python Barcelona Meetup October 2009
BFG is a "pay only for what you eat" Python web framework. You can get started easily and learn new concepts as you go, and only if you need them. It's simple, well tested, well documented, and fast.
This is a talk given by Rok Garbas at the Python Barcelona Meetup in October 2009
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
REPOZE.BFG
Rok Garbas, python/zope/plone consultingOct. 2009
“Everything should be made as simple as possible, but not
simpler.” ~ Einstein
BFG is a "pay only for what you eat" Python web framework. You can get started
easily and learn new concepts as you go, and only if you need them. It's simple, well
tested, well documented, and fast.
http://bfg.repoze.org
WHAT MATTERS
I’M A PLONISTA, I LOVE PLONE, I LOVE PLONE
COMMUNITY, BUT…
ON THE END IT DOESN’T REALLY MATTER
WHAT YOU ARE USING
WHAT MATTER IS HOW PASIONATE YOU ARE
ABOUT IT
THANK YOU …
Chris McDonough
Tres Seaver
Paul Everitt,
Carlos de la Guardia
Malthe Borch
Stefan Eletzhofer
Fernando Neto-Correa
WHY NAME IT BFG
repoze.bfg should have just been named "BFG".
BFG's goals are somewhat sideways of the original Repoze goals.
The BFG 9000 is a fictional futuristic weapon found in Doom. It is the most powerful weapon in the game, and is capable of destroying nearly any player or enemy with a single hit.
ABOUT
July 2008 – Initial release
July 2009 – 1.0 released, API promissed to be
backwards compatible
10th of October 2009 – Latest release … 1.1a5
Allow Zope developers to use WSGI technologies
more easily and even out of Zope framework.
Allow non-Zope developers to use Zope
technologies without using all of Zope.
WHY
ZOPE2 / PLONE
ZOPE 3
GROK
DJANGO
PYLONS / TG2
WHAT IT DOES
Graph traversal / URL Dispatch: maps
URLs to code
Security: provides mechanisms that allow
developers to make declarative security
assertions
Templating: provides text and HTML
templating facilities
Zope libs: use wonderful zope stuff
WHAT IT DOESN’T DO
Database / persistence
Sessions
Indexing / searching
ZMI / TTW code
View code sharing with Z3 / Five
...
HOW YOUR BFG APP WORKS
You are not running framework and your application
inside it, like zope, instead you are running your
application alone.
INTERNETWSGI + MIDDLEWARE
BFG ROUTER
YOUR APPLICATION
MODELS VIEWS TEMPLATES
ZOPE COMPONENT ARHITECTURE
The Zope Component Architecture is a system for
runtime indirection ("pluggability"). Used only to
construct BFG.
BFG application developers don't need to
understand the Zope CA. It's a framework
implementation detail.
Dependencies (22)
Paste-1.7.2
PasteScript-1.7.3
PasteDeploy-1.3.3
setuptools-0.6c8
simplejson-2.0.9
martian-0.12
repoze.lru-0.3
repoze.zcml
zope.deprecation-3.4.0
zope.component-3.7.1
zope.interface-3.5.2
WebOb-0.9.6.1
chameleon.zpt-1.1.1
chameleon.core-1.0.2
zope.configuration-3.6.0
zope.event-3.4.1
zope.dottedname-3.4.6
zope.i18n-3.7.1
sourcecodegen-0.6.11
zope.schema-3.5.4
zope.i18nmessageid-3.5.0
pytz-2009n
MODELS
“content” objects. for Zope people, think of it as things we
store in ZODB
ZODB not required for repoze.bfg applications: filesystem
directories, XML documents, RDF graphs, SQL databases, etc.