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

Введение

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

w framework в действии

Что было более понятно о чем идет речь, Вы можете просмотреть пример написанного мною web-приложения по следующему адресу — 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.
wframework.com — официальный сайт проекта;
wframework.blogspot.com — блог посвященный w framework’у;
github.com/pandora2510/wframework — страница проекта на github.com;
wframework.com/demo — пример рабочего приложения написанного на w framework’e;
Документация и руководства по w framework’у будут появляться по мере моих возможностей и сил.

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Правильно говорят, что если хочешь сделать что-то гениальное и выдающееся, то сделай это сам. В Вашем стремлении написать хороший фреймворк я Вас абсолютно понимаю.Но позвольте немного конструктивной критики.....

Если уж претендовать на <nobr>1-е</nobr> место, то все должно быть сделано в высшей степени профессионально. А иначе зачем все это?

Минималистический дизайн — штука признанная. Вон посмотрите на демо-версии сайтов «зашитых» в Yii или Zend, и посмотрите на свой..... Про отсутствие «юзабилити» (когда на входе при неправильно введенном логине пытаешься снова поставить курсор в поле «Псевдоним», то само поле перескакивает....) можно было бы и промолчать.

Конечно все понимают, что на Вашем фреймворке дизайн может быть неописуемой красоты, но хоть какая-то минимальная солидность должна присутствовать.

Да и дело не только в презентации!Добавьте сюда неработающую ссылку в демо-сайте «Правила» (The requested URL /demo/ссыÐ"ка на правиЫаnew was not found on this server.), потенциальная уязвимость для SQL-инъекций (No such file or directory in /usr/home/www/data/hysdgfu8/data/www/wframework.com/...emo/index.php)

Когда одно накладывается на другое — не «цепляет» Ваш фреймворк, не «цепляет».....

ссылку я исправил, правда только в онлайновой версии

Нарекания по поводу дизайна и юзабилити не совсем уместны, так как не относятся к функционалу фреймворка «из коробки», это из меня такой дизайнер и хотелось все сделать по быстрее.

Не обижайся, дружище! Я тоже не дизайнер ;-)
Я все понимаю. Я же специально оговорился, что «дизайн на фреймворке может быть неописуемой красоты». Я просто в своем посте акцентировал на низкий уровень представления Вашего продукта и некоей несолидности (с приведением примеров, извини).

Что такое w framework можено почитать здесь, в 10 строк объяснить это у меня не выходит.

Підписатись на коментарі