5 minutes tour
Sit back and relax. You are going to be presented brief overview of Tigermouse capabilities. Just keep scrolling down.
it's totally ajax
Simply every action taken by user is handled via AJAX, which dramaticaly improves application responsiveness and user experience. Take the AJAX advantage over traditional way of doing web software.
modern user interface foundation
User interface is built using Views and templates. Some Views have interesting functionalities
commonly used in fat-client toolkits such as GTK#, PyGTK, Qt or SWT. What does it mean for you?
You can do $window->open() on the web!
the easiest way to replace part of web page
Tigermouse offers you the easiest way of partial updating your DOM tree. No other framework has it done that easy: just return a View from controller to replace the one having the same id attribute. That's it!
no Javascript coding required
Yes, you can still write decent application without touching Javascript at all. No manual callback configuration. No searching for DOM element to replace. No fine print here. Of course, you are not forbidden to use custom Javascript any time.
server side to client side binding
All Controllers have their public methods exposed to client environment. Any method can be called any time using its string identifier. No explicit Controller method pre-registering is required!
client side to server side binding
Invoke a method on response object at server side and it will be transparently executed at client side as Javascript.
It works for objects too, so $response->document->write('Hello world!')
works as expected!
single entry point
All processing always starts in the same place - FrontController. Lightweight preliminary request processor and dispatcher. Can be attached with set of InterceptingFilters to perform request and response filtering such as access verification, logging, debugging etc.
powerful data abstraction layer
Tigermouse provides robust ActiveRecord implementation. What does it mean to you? No manual SQL handling when working with one-to-many and many-to-many relations. Of course, multiple database engines, access libraries and SQL dialects are handled gracefuly.
internationalization
I-eighteen-characters-N? Yes. Which flavour do you prefer? File based one or database backend?
Or maybe you are willing to write your own? No problem here. Get your translation using
__() (double underscore) function.
server side business processing
Thanks to being lightweight Tigermouse brings business processing back to server side, where it belongs. Your software is more reliable when you are in controll of what is happening. At client side, you simply do not controll the situation.
reliable AJAX transport layer
AJAX requests always go into queue before invoked. This prevents parallel or out-of-order execution. We have request cancelling on server or network timeout to prevent locking client environment. Our XHR object implementation is browser differences aware, naturally.
developer tools built in
Suffer from lack of good AJAX development support tools? Not with Tigermouse. It provides logging and benchmarking facility, on-demand Javascript line numbering, duplicate id hunter in DOM tree and excellent error reporting window. All very convenient.
class autoloader makes your code cleaner
You can use lightweight autoloader to include your classes on the fly. Just rebuild autoloader map using
provided utility and use new operator without fighting unsatisfied dependencies to other classes.
overengineered?
Simply: no. Here in Tigermouse there is no single thing that cannot be replaced. Clean design and strong urge to remove all unneeded parts are key principles we take seriously.
don't hack the framework instead of application
Tigermouse is designed not to enforce you hacking it when you run into trouble. You are not going to be offended with any cryptic internal error messages and all Exception messages are human readable.
ready to run
No configuration is needed to run Tigermouse based application. Just download, give write permission to directories and start writing your own code. No command line code generators, no database configuration files.









