-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Sidebars are coming into view. Still need to finish fixing presentati…
…ons, and then deal with features and sub pages of features. Complete styling and updates afterwards.
- Loading branch information
Showing
4 changed files
with
101 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
.. include:: sidebar.rst | ||
|
||
########## | ||
Overview | ||
########## | ||
|
||
TurboGears 2 is a reinvention of the TurboGears project to take advantage of new components, and to provide a fully customizable WSGI (Web Server Gateway Interface) stack. From the beginning TurboGears was designed to be a Full Stack framework built from best-of-breed components. New components have been released which improved on the ones in the original TGstack, and the Python web world has been increasingly designed around WSGI. | ||
|
||
This has enabled a whole new world of reuse, and TG2 is designed to take advantage of this fact in order to make a framework which provides easy to use, productive defaults, while still providing flexibility where it’s useful. | ||
|
||
TG2 represents a change from some of the components in TurboGears 1, but we’ve now invested in a set of components that we think will continue to be at the center of python web development for years to come. | ||
|
||
******************************************** | ||
A new Generation in dynamic web frameworks | ||
******************************************** | ||
|
||
TurboGears 2 is the built on top of the experience of several next generation web frameworks including TurboGears 1 (of course), Django, and Rails. All of these frameworks had limitations which were frustrating in various ways, and TG2 is an answer to that frustration. We wanted something that had: | ||
|
||
- Real multi-database support | ||
- Horizontal data partitioning (sharding) | ||
- Support for a variety of JavaScript toolkits, and new widget system to make building ajax heavy apps easier | ||
- Support for multiple data-exchange formats. | ||
- Built in extensibility via standard WSGI components | ||
|
||
***************************************************************************************** | ||
A framework that helps you get going fast, and gets out of your way when you want it t! | ||
***************************************************************************************** | ||
|
||
Create a database-driven, ready-to-extend application in minutes. All with designer friendly templates, easy AJAX on the browser side and on the server side, with an incredibly powerful and flexible Object Relational Mapper (ORM), and with code that is as natural as writing a function. | ||
|
||
Get started Learning TurboGears 2 by looking at our famous `wiki tutorial`_. | ||
|
||
.. _`wiki tutorial`: http://www.turbogears.org/book/part1/wiki20.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
|
||
.. sidebar:: Overview | ||
|
||
- :doc:`/welcome/overview` | ||
- :doc:`/welcome/presentations` | ||
- :doc:`/welcome/turbogears-way` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
.. include:: sidebar.rst | ||
|
||
#################### | ||
The Turbogears Way | ||
#################### | ||
|
||
TurboGears 2 is a reinvention of TurboGears and a return to TurboGears’ roots. | ||
TurboGears is a project that is built upon a foundation of library development best-of-breed component selection, and the re-use of already existing code. And it was always intended to be a small collection of tools, docs, and helpers that made developing with that best-of-breed stack easy. | ||
|
||
In retrospect, some of the code that was added to the main TurboGears project should have been released as independent projects that integrate with TurboGears. This would have allowed those pieces to grow independently of TurboGears, and would have allowed TurboGears to remain smaller and easier to develop and debug. | ||
|
||
TurboGears 0.5 release was just a few hundred lines of Python code, but it built on thousands of lines of code in other libraries. Those libraries had already been deployed, used, and tested, and were known to be “production ready.” | ||
|
||
TurboGears2 returns to that philosophy. It is built on Pylons, but it brings a more full-stack approach to pylons. TurboGears 2 is committed to creating reusable components, and to achieving a long-term stable API based on the following Python components and libraries: | ||
|
||
- Models: SQLAlchemy | ||
- Template engines: Genshi and Mako | ||
- URL Dispatching: Object dispatch | ||
- Form Handling: ToscaWidgets and Sprox | ||
- Authentication and Authorization: repoze.who & repoze.what | ||
|
||
The zen of TurboGears is: | ||
|
||
.. pull-quote:: | ||
|
||
Make simple things easy and complex things possible. | ||
|
||
It's OK to be opinionated, | ||
|
||
But it's not OK to be obnoxious about those opinions. | ||
|
||
Do your best to do things the right way, | ||
|
||
But when there's no "one right way," don't pretend there is. | ||
|
||
Mark Ramm described the relationship between TurboGears and Pylons this way “TurboGears 2 is to Pylons as Ubuntu is to Debian.” | ||
|
||
In other words we’re focused on user experience, and creating a novice-friendly environment. We ship a smaller subset of components, and thus are better able to focus, test, and document things so that new users have the best possible experience. | ||
|
||
Meanwhile Pylons provides the power and flexibility of the underlying core. | ||
|
||
And like Ubuntu, we don’t intend to hide that power and flexibility from advanced users, but we know that they want things set up to just work too. | ||
|
||
Sensible defaults actually encourage code re-use within TurboGears because they make it possible for a group of TurboGears components to share assumptions about how things will work. |