W framework, краткий обзор

Введение

W framework — web framework написанный на двух языках программирования PHP(серверная часть) и JavaScript(клиентская часть), и предназначений для создания интерактивных web-приложений. Под web-приложением понимается один из следующих типов сайтов: социальные сети, биллинговые системы, админ-панели, различные online-менеджеры и вообще на w framework'e может работать любой сайт, который не требует индексирования своих страниц поисковыми роботами.

w framework в действии


Что было более понятно о чем идет речь, Вы можете просмотреть пример написанного мною web-приложения по следующему адресу - http://wframework.com/demo/. На оригинальность мое приложение не претендует, но все же позволят показать принцип работы самого w framework'a и работу некоторых php-классов и w-плагинов. Теперь о самом web-приложении: там Вы сможете заметить регистрацию, регистрация настоящая с проверкой личности при помощи email; так же Вы можете заметить необычную каптчу, суть этой каптчи в том, что человек способен видеть оптические иллюзии, а компьютер нет; после регистрации Вы можете перейти на страницу своего профиля и редактировать там некоторые данные, также Вы можете просматритривать страницы других профилей, но только тех профилей у которых указан противоположный пол(это что то типа социальной сети знакомств). Email адреса, указываемые пользователями нигде и некогда использоваться не будут!

системные требования


  • сервер с LAMP в состав которого входит PHP не ниже чем 5.2.9,  а лучше PHP 5.3.5 собранный с поддержкой mysqlnd;
  • браузер с поддержкой JavaScript;
  • актуальная версия w framewor'a;

Архитектура и принцип работы


W framework реализует MC-CV паттерн проектирования, M(модель) — php код основная задача которого чтение/запись данных из/в хранилища данных; С(контроллер) — отвечает за формирование запроса к M и передачи передачи полученных данных к V, за его работу отвечают системные классы и плагины, реализован в виде набора параметров; V(вид) — произвольный js код основная задача которого отображение полученных данных в удобной форме для человека. Так же стоит упомянуть о клиентской системе шаблонирования, которая занимается формирование html-фрагментов.
Теперь стоит наверное описать порядок, способы и количество запросов в w framework'e. Первое — это первая загрузка, загружается html-страница, но которой содержатся ссылка для загрузки клиенткой части framework'a, загружается автоматически, некоторые системные сообщения, и html-фрагменты для шаблонизатора. Далее после загрузки и инициализации клиенткой части ядра системы, производятся запросы данных с сервера, полученные данные отображается при помощи кода в V.
Далее короткий перечень особенностей w framework'a:
  • все запросы от клиента к серверу происходят асинхронно, при помощи ajax или iframe;
  • поддержка мультипроектов, неограничение число проектов может работать на едином ядре с использованием общих экшенов;

  • контроллер C реализован в виде набора параметров, что значительно упрощает архитектуру всего frameworka и работу системы кэширования;
  • легко расширяем, расширение может иметь вид php класса или w плагина(w плагин практически идентичен jQuery плагину);
  • поддержка локализации, полность реализуется на клиентской стороне;
  • особенности серверной части w framework'а:
    • автозагрузка всех php классов;
    • Memcache;

    • MySQL;
    • классы для создания резервных копий;
    • классы для работы с tar архивами;
    • классы для работы с сессиями и привилегиями;
  • особенности клиентской части w framework'а:
    • система избирательно запроса контета(настраивается пользователем);
    • клиентская система шаблонирования;

    • средства для работы с формами;
В итоге

В результате моей работы получился web-framework, с нестандартной архитектурой, но вполне пригодных для производства некоторых типов web-приложений. На данный момент архитектура framework'a является полностью законченной и в будущем вряд ли будет подвержена изменению, что позволит писать переносимый код, в пределах w framework'a.
W framework распространяется под лицензией MIT.
http://wframework.com/ — официальный сайт проекта;
http://wframework.blogspot.com/ — блог посвященный w framework'у;
https://github.com/pandora2510/wframework/ — страница проекта на github.com;
http://wframework.com/demo/ — пример рабочего приложения написанного на w framework'e;
Документация и руководства по w framework'у будут появляться по мере моих возможностей и сил.


1 комментарий

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