Pull to refresh

Первый взгляд на Xataface — систему построения дата-центрированных приложений на PHP и MySQL

Reading time 3 min
Views 3.2K
Приветствую многоуважаемых хабражителей.

Поиск по Хабру по ключевым словам «dataface» и «xataface» привёл к пустой странице результатов, поэтому считаю своим долгом поделиться с честной публикой своим давним открытием, до сей поры остававшимся в тени.

Рунет так же не в курсе такой замечательной штуки, которая, между тем, существует свыше трёх лет и имеет определенную популярность в узких кругах.

Подробности под катом.

Начиналось всё просто. Мне поступил очередной заказ на разработку удобного интерфейса к базе данных. Почитав «ТЗ» я пришел к выводу, что за предложенный бюджет столько работать не хочется. В то же время всплыла в памяти давняя идея, как скрестить лень с изобретательностью, и таки попробовать построить умную систему, которой скормил данные, оформил связи, а она сама строит остальное.

Скажу честно, нечто подобное я уже делал, но под DOS/Clipper 5.2, где это замечательно работает и по сей день, порядка 8 лет. Но PHP+HTML+CSS+JS+AJAX — это несколько более заморочная тема со своими нюансами и моментами.

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

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

И случилось чудо. Я нашел нечто, что отдаленно напоминало то, что мне было так необходимо. Сайт некоего Стива Ханны (Steve Hannah) разработчика веб-служб на факультете прикладных наук в Simon Frazer University.

Собственно владелец сайта, он же разработчик системы Xataface. Не буду вдаваться в подробности системы, т.к. желающие могут самостоятельно ознакомиться с первоисточником, опишу только собственные впечатления.

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

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

В более сложных случаях всё не так радужно, и приходится много работать напильником.

Тем не менее, впечатление о системе в целом, и подходе, в частности, положительные. Система делает ровно то, что заявлено, ровно так, как заявлено. Более того, система постоянно развивается, появляются патчи, фиксы, новые версии.

Присутствует довольно обширная документация в формате Wiki, форум, где автор активно общается с пользователями системы, даже пару видеороликов, из разряда «How to».

Разумеется всё на английском, как я писал выше, рунет о данной системе ничего не знает.

Система написана в стиле ООП на PHP, с использованием MySQL, шаблонизатора Smarty, MVC, и т.п. Формы и таблицы генерятся автоматом, конфиги хранятся в классических .ini файлах, всё довольно прозрачно и хорошо структурировано. Поддерживаются плагины и пользовательские расширения. Присутствует система авторизации-аутентификации, контроль доступа, из коробки.

Xataface — не идеальное воплощение того, что я хотел бы получить в перспективе, однако вполне работоспособное.

Желаю приятного ознакомления с этой оригинальной новинкой.

P.S.: Заказ был выполнен при помощи Xataface, в срок и в рамках выделенного бюджета. И да, напильником поработать пришлось, в частности при построении отчетов и выгрузок. Впечатления остались весьма приятные, но в следующих проектах я предпочел использовать jqGrid и ручной выделки формы с массой интерактивных элементов и сложной логикой, и много-много AJAX'a, но это уже совершенно отдельная история.

P.P.S.: По просьбам трудящихся (хабрачеловек 4dmonster) ссылки:
Tags:
Hubs:
+33
Comments 40
Comments Comments 40

Articles