What is Porcupine?

Porcupine Web Application Server LogoPorcupine is an open-source Python based Web application server that provides front-end and back-end revolutionary technologies for building modern data-centric Web 2.0 applications.

Many of the tasks required for building web applications as you know them, are either eliminated or simplified. For instance, when developing a Porcupine application you don't have to design a relational database. You only have to design and implement your business objects as Python classes, using the building blocks provided by the framework (data-types). Porcupine integrates a native object - key/value database, therefore the overheads required by an object-relational mapping technique when retrieving or updating a single object are removed.

Another tedious task for web applications is the interface design, and the constraints imposed by HTML based UIs. QuiX, the server's integrated JavaScript framework provides an XML User-Interface Language, which greatly simplifies the interface design process. All you have to do is to describe your application's interface in XML and write the appropriate event handlers. You don't have to waste time and money on widget implementations. QuiX comes with a variety of ready to use widgets, accelerating the development process.

Porcupine is a Software Developer's Journal Recommended ProjectGenerally, every Porcupine application consists of three distinct layers. The first consists of the business objects which encapsulate the business logic (aka content classes). The second layer exposes the required functionality over HTTP utilizing the functionality of the first layer's business objects. This layer is implemented using Python Server Pages or Web Methods bound to content classes. One common approach is to directly map an remote web method to a content class method. The third layer, the presentation layer, usually consists of XML files that contain the UI definitions along with the appropriate JavaScript event handlers. The first two layers are executed on the server side and the third layer is executed on the client (browser).

The development skills required for writting applications on top of Porcupine include good knowledge of the Python and JavaScript scripting languages.

Clicky Web Analytics