Witam wszystkich,
Od ponad roku rozwijam projekt Tigermouse. Jest to nowoczesny framework dla Ajaksowych aplikacji www z mocnym wpsarciem dla logiki biznesowej po stronie serwera. Nie jest to szkielet do ogólnego zastosowania, a raczej do aplikacji, które swoim wyglądem przypominają programy grubego klienta (wszelkiego rodzaju katalogi, systemy ewidencjonujące, CRMy, systemy document/work flow).
Szkielet natywnie obsługuje wszystkie akcje poprzez wywołania asynchroniczne. Realizacja akcji i callbacków Ajaksowych jest inna niż we wszystkich znanych mi frameworkach - w Tigermouse to serwer decyduje jaki callback ma być wykorzystany (w trakcie obsługi żądania w kontrolerze), więc nie musisz podawać callbacka zanim wykonasz akcję.
Ponadto szkielet oferuje mocną implementacją ActiveRecord ze wsparciem dla dowolnej biblioteki dostępu do bazy danych (dostarczone domyślnie PDO i PEAR), różne dialekty języka SQL oraz wsparcie dla wielu połączeń z DB jednocześnie.
Implementacja ACL-i na podstawie ról oraz wsparcie dla języków narodowych zaimplementowane są jako filtry wejścia-wyjścia. Podobnie realizowany jest podsystem logowania i profilowania oraz strażnik HTML dla elementów o zduplikowanych atrybutach id.
Widoki posiadają obsługę podobną do tej znanej z bibliotek Qt, GTK# czy SWT. Podobnie zaimplementowano model zdarzeń: listenery i adaptery akcji. Istnieje również wstępne wsparcie dla efektów specjalnych. Wszystko to realizowane po stronie serwera.
Zainteresowanym polecam odwiedziny strony projektu:
tigermouse.epsi.pl
Znajduje się tam opis, nieco dokumentacji, diagramy UML, przykładowy kod oraz screencasty. (Na stronie nie działa zakładanie konta, więc proszę tego nie robić)
Projekt hostowany jest na Sourceforge, gdzie znajduje się jego repozytorium SVN:
http://sourceforge.net/projects/tigermouse
Będę wdzięczny za wszelkie uwagi, a także chętnie odpowiem na pytania. Jeszcze raz na koniec: to nie jest framework ogólnego przeznaczenia - zwykłe strony WWW, blogi, sondy, portale lepiej pisać w czymś innym.
Pozdrawiam,
Michał Słaby