W frameworkphp-js framework для написания WEB-приложений и интернет сервисов

Здравствуйте.
Я написал WEB framework для собственных нужд, так как существующие меня не устраивали и хочу немного рассказать про него.

Вступление


WEB framework состоит из двух частей, одна серверная(написана на php), вторая клиентска(написаная на js). Серверная и клиентская части frameworka самодостаточны и являются работоспособны независимо одна от другой, но все же являются одним целым. Framework называется «W» и распространяется под лицензией MIT, исходный код можно скачать отсюда, отсюда.

Особенности


  • — Соответствует шаблону проектирования(патерну) MVC, более правильней MC-CV(M и одна часть C — находятся на сервере, а вторая часть C и V находятся на клиенте);

  • — Все http и https запросы протоколах к серверу выполняются асинхронно, все запросы, кроме первого(первый запрос загружает клиентскую часть frameworka);

  • — Данные форм также отправляются на сервер асинхронно(на данный момент отсутствует возможность загрузки файлов на сервер стандартными средствами(html и js));

  • — Каждый запрос возвращает минимально необходимое количество данных!
    Клиентская часть реализована на js с использование библиотеки jQuery в виде jQuery плагинов;
    • — — warea — основной jQuery плагин для обеспечения асинхронной работы frameworka;

    • — — wajax — jQuery плагин выполнения асинхронный запросов по https протоколу(корректно работает в msie8, chrome8, opera11 и ff4(!));

    • — — wform — jQuery плагин для работы с формами;


  • — Серверная часть реализована на php в виде глобального объекта, к которому по древовидной иерархии подключаются все классы на индексной странице или по мере необходимости(что-то типа прототипа), что позволяет иметь доступ к любому объекту из любой части программы не прибегая к статическим свойствам и методам в классах;
    • — — упрощенный интерфейс работы с БД;

    • — — средства для работы Memcache(наличие средств блокировки ключей хэш таблицы);

    • — — встроенная система кэширования;

    • — — поддержка статические и динамические иерархий привилегий(динамические привилегии применимы к соц. Сетям, когда одну и туже страницу можно видеть по разному с одинаковой привилегией(статической), если в друзьях или в друзьях друзей);

    • — — глобальная система конфигурации;

    • — — полноценная поддержка UTF8;

    • — — наличие валидатора;


  • — Контроллер определяется настройками, а не произвольным кодом. Более правильным будет: Контроллер — это инструкция которая определяет какие данные и от каких экшенов передавать клиенту;

  • — Встроенная система кэширования данных моделей, которая зависит от GET параметров экшена(модуль, компонент. В состав экшена входят — модель, настройки, вид(обрабатывается на клиенте) и файлы локализации(обрабатываются на клиенте)) и привилегий(статической и динамической);

  • — формирование html фрагмента из данных полностью происходит клиенте, с сервера принимаются лишь «сырые» данные, возвращенные из каких либо хранилищ(чаще всего это БД);

  • — поддержка локализаций, реализуется и обрабатывается на клинте;

  • — ...



Итог


Что было более понят что и зачем, вот пример сайта написанного на W frameworke, вот архив с демо версией и инструкцией по установке. Какая либо документация на данный момент отсутствует. И еще одно, в силу конструктивных особенностей сайтов написанных на W frameworke, мой framework предназначен для написания каких либо интернет сервисов.

Если кому то понравился мой W framework или кто то будет его использовать — это будет круто. Со мной связаться можно здесь.

Комментарии (0)

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.