Теперь наш код будет на 70% веселее

Вот список текущих (на мой взгляд) тенденций веб-разработки:

- Возрастающая динамичность сайтов: ajax, json, canvas, svg, js фреймворки.

- Важность клиентской оптимизации: сжатие js, css, корректные заголовки, кэширование статики, спрайты, быстродействие селекторов в css.

- Интеграция различных веб-сервисов: google (карты, календари, контакты), picasa, panoramio, всякие фиды (rss, atom), twitter, авторизация по openid.

- Медиа возможности: интеграция видеоплееров, хранение видео в аккаунте youtube, потоковые трансляции, интеграция javascript и flash интерфейсов.

- Повышение универсальности программной части сайтов. Возможность совместной работы над проектом, а также стандартизация библиотек. Ворастающая роль open source.

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

Как мы отвечаем на все эти вызовы? Изменяемся. Постоянно пробуем новое. Сначала мы хотели развивать свои наработки в полноценную CMS. У меня есть опыт создания и развития движка сайта. Начался он конечно на предыдущем месте работы: веб-студии Интерволги. Где для нужд портала volga34.ru был написан движок kernel (iKernel вроде сейчас продолжает существовать на нескольких десятках сайтов, ну и на Волге34 естественно). Но то был именно "движок", набор скриптов с навешенной на них админкой. На основе заложенных в него идей я попытался сделать CMS. Хотелось в 2 клика создавать сайты. Результат: vizitka.magwai.ru. Продукт, подзабытый нами ввиду отказа от создания неадекватно дешевых сайтов. В пике своего развития на нем были написаны сайты: modno-byt-rebenkom.rurabota498.ruviaborse.ru.

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

Постепенно сформировались требования к программной основе сайтов нашей студии:

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

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

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

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

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

Итак, мы выбираем ZendFramework. Эта библиотека отвечает всем указанным требованиям. Переход на нее планировался 6 месяцев, 3 из которых были посвящены разработке собственной среды (оболочки) для удобного сайтостроения и интеграции компонентов ZendFramework с десятками других библиотек. Эта оболочка была оформлена в виде отдельной библиотеки, включающей в себя множество php классов для задач: построения панели управления, работы с графикой, javascript, css, множество js компонент (jqueryui, datagrid, colorpicker, uploadify...). Название этой надстройки над Zend - Zkernel.

Zkernel лицензирована как опенсорс. Под самую открытую лицензию - MIT. Для проекта создан репозиторий на github. Исходный код ядра наших сайтов может быть просмотрен кем угодно, и кем угодно использован для создания своих сайтов или интеграции в другие системы.

ZendFramework будет использован на всех последующих сайтах студии. Ну а в данный момент мы можем продемонстрировать достаточно крупный интернет-магазин, написанный полностью на новой системе: palerom.ru. Это хороший пример для демонстрации возможностей движка, потому что на Палероме есть все: корзина заказов, видео, формы чата,  каталог на несколько тысяч позиций, поиск с использованием Lucene, генерация xls прайса, система управления с разделением прав на админов и менеджеров, система рассылок и внутренняя почта сайта.

Ааа, только не спрашивайте нас больше, что у нас за CMS. У нас нет и не будет CMS! Увы, пока не сделали станок для создания шедевров живописи. Неужели вы думаете, что кто-то уже написал для него идеальную программу?



Самое интересное