PRADO jest napisanym w PHP5 frameworkiem dla aplikacji webowych opartym na komponentach oraz programowaniu zdarzeniowym (ang. event-driven programming). PRADO z angielskiego oznacza PHP Rapid Application Development Object-oriented (przyp. tłum. szybkie tworzenie aplikacji zorientowanych obiektowo w PHP).
Głównym celem PRADO jest zmaksymalizowanie [reusability] w programowaniu webowym. Poprzez [reusability] rozumiemy nie tylko ponowne używanie własnego kodu ale również ponowne używanie w prosty sposób tego kodu przez inne osoby. To drugie jest bardziej ważne, gdyż oszczędza wysiłek włożony w ponowne wynalezienie koła i może znacznie [dramatycznie] zmniejszyć czas developmentu. Taka jest właśnie intencja zastosowania koncepcji komponentów.
Aby osiągnąć powyższe cele, PRADO wymaga protokołu pisania i używania komnponentów do konstrukcji aplikacji webowych. Komponent jest jednostką programowania, która jest samowystarczalna i może być użyta ponownie poprzez proste [tryvial] dostosowanie [customization]. Nowy komponent może zostać stworzony jako prosta kompozycja istniejących komponentów.
Aby ułatwić interakcję z komponentami, PRADO implementuje paradygmat programowania sterowanego zdarzeniami (ang. event-driven programming paradigm), który umożliwia elastyczne przekierowanie zachowania do komponentu. Czynności użytkownika końcowego, takie jak kliknięcie na [submit button], są przechwytywane jako zdarzenia serwera. Zarówno metody jak i funkcje mogą być przypisane do tych zdarzeń. W chwili gdy takie zdarzenie występuje są one (metody, funkcje) automatycznie wywoływane w odpowiedzi na zdarzenie. W porównaniu do tradycyjnego programowania [sieciowego], w których developerzy muszą zmagać się z surowymi zmiennymi POST i GET, programowanie zdarzeniowe pomaga developerom lepiej skupić się na niezbędnej [necessary] logice i poważnie zredukować nispoziomowe powtarzające się kodowanie.
Sumując, tworzenie w PRADO aplikacji sieciowych, polega głównie na tworzeniu instancji różnego typu wbudowanych komponentów, konfigurowania ich, odpowiadania na ich zdarzenia poprzez wpisanie uchwytów funkcji oraz wkomponowanie ich w stronę [for the application] Jest to bardzo podobne do narzędzi RAD, takich jak Borland Delphi, czy też Microsoft Visual Basic, które używane są do tworzenia desktopowych aplickacji GUI [develop GUI application].
PRADO jest najczęściej postrzegane jako jedyny w swoim rodzaju framework. W rzeczy samej, jest on tak unikatowy, że może zamienić nużące programowanie PHP w przyjemne zadanie. Poniższa lista jest krótkim podsumowaniem, głównych cech PRADO.
Stosowanie PRADO jest najbardziej wskazane w aplikacjach internetowych, które są wysoce interaktywne z użytkownikiem. Może być wykorzystywane do tworzenia systemów tak prostych jak internetowe blogi po kompleksowe rozwiązania e-commerce. Ponieważ PRADO wspiera programowanie zorietnowane oviektowo (OOP) poprzez własną metodologię, bazująca na komponentach, pasuje ono ekstremalnie dobrze do pracy grupowej oraz tworzenia aplikacji klasy enterpise [enterprise development].
PRADO przychodzi z kompletnym zestawem technik keszowanie, które pomagają przyśpieszyć aplikacje internetowe PRADO, by móc przystosować je do aplikacji o wysokim ruchu. Jego modularna architektura umożliwia developerom używać oraz podłączać różne moduły keszujące dla różnych potrzeb. Keszowanie wyjścia umożliwia każdemu selektywny wybór keszowania części renderowanej strony.
PRADO często jest postrzegane jako jedyny w swoim rodzaju framework. Jego unikatowość polega głównie na programowaniu bazującym na komponentach oraz paradygmacie programowania sterowanego zdarzeniami, które stara się promować. Chociaż ten paradygmat nie jest nowością w aplikacjach desktopowych oraz nie jest nowy w kilku językaach programowania webowego, PRADO jest prawdopodobnie pierwszym frameworkiem umożliwiającym go.
Większość frameworków PHP skupia się głównie na odseparowaniu warstwy prezentacji i logiki i promuje wzorzec programowania MVC (model-view-kontroler, model-widok-kontroler). PRADO osiąga te same cele naturalnie poprez potrzebę prechowywania logiki w klasach a prezetnacji w template'ach. PRADO robi dużo więcej w sprawach [aspects] innych niż MVC. Wypełnia wiele białych plam w programowaniu webowym w PHP swoim bazującym na komponentach paradygmacie programowania, jego bogatym zestawem kontrolek webowych, jego wszechstronną obsługą baz danychm, jego elastyczną obsługą błedów oraz logowania oraz wiele wiele innych.
Tak. PRADO jest zostało pierwszy raz opublikowane w sierpniu 2004 roku. Wiele zestawów testów zostało napisanych oraz często przeprowadzanych by upewnić sie o jakości PRADO. Był używany przez tysiące użytkowników oraz developerów oraz wiele aplikacji internetowych powstało w oparciu o niego. Bugi oraz żądania rozszerzenia są zarządzane poprzez system TRAC, także posiadamy wspaniałą społeczność użytkowników oraz zespół developerów by być pewnym, że żadne pytanie nie pozostanie bez odpowiedzi.
śPierwotna inspiracja PRADO pochodziła od Apache Taperstry. W trakcie projektowania i implemntacji, zapożyczyłem wiele idei z Borland Delphi oraz Microsodt ASP.NET. Pierwsza wersja prado ujrzała świat w czerwcu 2004 roku i została napisana w PHP4. Zachęcony (napędzony) przez konkurs kodowania w PHP5 Zenda, przepisałem PRADO do PHP5, co okazało się mądrym posunięciem, dziei nowemu modelowi obiektowemu dostarczonemu przez PHP5. PRADO zdobyło główną nagrodę w konkrusie Zenda, uzyskując najwięcej głosów zarówno wsród publiczności jak wśród sędziów.
W sierpniu 2004, PRADO zaczęło być hostowane przez SourceForge jako projekt open source. Wkrótce, stona projektu xisc.com została zaprezentowana publice. Wraz z fantastycznym wparciem zespołu developerów PRADO oraz użytkowników, PRADO rozwinęło się do wersji 2.0 w środku 2005 roku. W tej wersji, Wei Zhuo wniósł swój wkład do PRADO ze znakomitym wsparciem dla I18N oraz L10N.
W maju 2005, zdecydowaliśmy się całkowicie przepisać framewrork PRADO, by rozwiazać kilka kluczowych kwestii z wersji 2.0 oraz by porwać kilka fajnych cech [features] dostępncyh w Microsoft ASP.NET. Po około roku ciężkiej pracy z ponad 50.000l liniami nowego kodu, wersja 3.0 została w końcu udostępniona w kwietniu 2006r.
Poczynając od wersji 3.0, znaczny nakład jest kłądziony by zapewnić jakość oraz stabilność PRADO. Jeśli powiemy, że PRADO w wersjach 2.x oraz 1.x były dziełem potwierdzającym koncept, możemy powiedzieć, że PRADO 3.X wyrosło na projekt, który jest odpowiedni dla tworzenia plikacji biznesowych.