Tigermouse

From Wikipedia, the free encyclopedia

Tigermouse is an Ajax framework for web applications development in PHP scripting language.


Contents

[edit] Goal

Tigermouse aims to be high quality development tool that speeds up and makes more easy the process of software prototyping, modelling, creation, reuse and refactoring. It is best suited for developing Rich Internet Applications in Model-View-Controller architecture. Its main design principle is to keep business logic processing at server side to stay as much in control as possible. Other notable feature is that Tigermouse abstracts out JavaScript used for XMLHttpRequest, Ajax callback functions, DOM events handling and user interface manipulation.

[edit] Features

Unlike many other frameworks Tigermouse is not inspired by Rails, however it shares the concepts of MVC architecture and the active record design pattern. The most important features are:

  • MVC architecture
  • full native Ajax support with requests queuing and expiring
  • Active Record implementation for CRUD operations
  • DataSource layer for large data sets reading from different sources (e.g. database, XML files, PHP arrays)
  • SWT/GTK#/Qt inspired user interface implementation based on Smarty template system
  • JavaScript encapsulation
  • extensible support for internationalization
  • pluggable input/output filters (e.g. Role Based Access Control System)
  • built-in debugging, logging and profiling tools

[edit] Example

See simple addition-only calculator written in Tigermouse showing its Ajax capabilities.

<?php
class MainCtrl extends Ctrl {
 
    public function show() {
 
        $a = new Input('a');
        $b = new Input('b');
        $result = new Label('result');
 
        $button = new Button();
        $button->addListener(
            new ClickListener(
                new Action('MainCtrl/compute', array($a->valueReader(), $b->valueReader()))
            )
        );
 
        $v = new View();
        $v->add($a);
        $v->add($b);
        $v->add($button);
        $v->add($result);
 
        return $v;
 
    }
 
    public function compute($a, $b) {
 
        $result = new Label('result');
        $result->text = ($a + $b);
        return $result;
 
    }
 
}
?>

[edit] Project status

Tigermouse is a project in development stage. The latest version is Developer Release 1.7 and is considered to be Alpha quality code. Please consult with development team before using in real life project.

[edit] License

Tigermouse is a free software and open source project developed via SourceForge.net development platform. It is distributed under terms of GNU Lesser General Public License version 2 or newer.

[edit] See also