четверг, 28 февраля 2008 г.

На старт ... или первый взгляд на PRADO.

Не буду утомлять своим нытьем по поводу того, что я создал свой блог - это и так понятно. Сразу к делу.

Уже как год я "вынужден" программировать на .NET, и скажу я вам что мне это нравиться. Однако судьба так распорядилась что столкнулся я с PHP и несколько оробел сперва. Мало того что к скритовым языкам я не очень то привычный (jsvascript еще более менее понятен и очевиден), так он оказался несколько ниже по уровню, нежели .net. Почти сразу у меня возникла идея ... неужели нельзя написать на php полноценный framework и уже с ним работать. Встроенные средства аутентификации, персонализации, работы с xml и тому подобные прелести облегчили бы построение приложений на пхп в разы.

Идея вызревала в моей голове до тех пор, пока я не наткнулся на уже готовый framework и собственно был не просто удивлен, а поражен.

И так ... PARDO.

Как заявляется на официальном сайте http://www.pradosoft.com/
PRADO is a component-based and event-driven programming framework for developing Web applications in PHP5. PRADO stands for PHP Rapid Application Development Object-oriented.
В общем то - framework, основанный на построении визуальный компонентов.

Как только я кинул первый взгляд на платформу меня тут же постигло ощущение что я это где то уже видел. Я попал в привычную среду .NET, только на PHP. Те же конфигурационные xml'ки, те же пространства имен, те же компонент-ориентированные принципы построения контролей. Одним словом, практически все "слизано" с ASP.NET.

Хорошо или плохо ?

Разберу все с чем успел столкнуться подробнее.

Действительно, работать c xml данными в .net на много проще, нежели на php. И удобный интерфейс для работы с xml на hpp лично мне очень был нужен. Но стоит ли при этом полностью копировать пространство имен System.Xml ? Может быть стоило проработать нечто свое?

Потопали дальше. Библиотека встроенных веб-контролей. Здесь я был просто в восторге. При той скупости которую дает сам пхп, библиотека визуальных контролей выглядит просто откровением. Кроме того, отделение кода от представления странички тоже неплохо выглядит. Еще одно приемущество - уже готовые AJAX контроли(выстроены на основе prototype.js), неплохая коллекция валидаторов. Писать свои компоненты конечно достаточно непросто, но оно того стоит.

Встроенная система аутентификации пользователей по конфигурированию ужасно напоминает ASP.NET. Вот для примера кусок конфигурационного файла, отвечающего за авторизацию
<authorization>
<allow pages="Login" users="?" />
<allow roles="normal" />
<deny users="*" />
</authorization>
Не правда ли, напоминает ASP ?

Настойчивое ощущение "слизанности" PRADO с ASP.NET не покидало меня ни на секунду. Однако когда что то происходит один раз это случайность, когда два - уже закономерность. Неужели .net framework настолько хорошо и логично построен что его необходимо копировать?

ЗЫ: Несколько многовато получилось для первого блога, однако прошу меня за это простить, видимо накопилось столько мыслей что высказать их просто необходимо.