Documentation - Introduction
1.2. Design Goals
As a Spyce user, it helps to understand the broad design goals of this tool.
Spyce is designed to be:
- Minimalist: The philosophy behind the design of Spyce is only
to include features that particularly enhance its functionality over the
wealth that is already available from within Python. One can readily import
and use Python modules for many functions, and there is no need to recode
large bodies of functionality.
- Powerful: Spyce aims to free the programmer from as much
"plumbing"-style drudgery as possible through features such as
and reusable Active Tags.
- Modular: Spyce is built to be extended with
Spyce modules and
that provide additional functionality over the core engine
capabilities and standard Python modules. New features in the core engine
and language are rationalised against the option of creating a new module or
a new tag library. Standard Spyce modules and tag libraries are those that
are considered useful in a general setting and are included in the default
Spyce distribution. Users and third-parties are encouraged to develop their
own Spyce modules.
- Intuitive: Obey user expectations. Part of this is avoiding
- Convenient: Using Spyce should be made as efficient as possible.
This, for example, is the reason behind the choice of [[ as delimeters over alternatives such as <? (php) and <% (jsp).
(However, ASP/JSP-style delimeters are also supported, so if you're
used to that style and like it, feel free to continue using it with Spyce.)
modules are also designed with as many defaults as possible.
There are no XML configuration files in Spyce.
- Single-purpose: To be the best, most versatile, wildly-popular
Python-based dynamic HTML engine. Nothing more; nothing less.
- Fast: Performance is
important. It is expected that Spyce will perform comparably with any other
dynamic, scripting solutions available.
Now, let's start using Spyce...