Вот сижу, осуществляю полный рефакторинг модуля "Финансы" под все самые последние возможности платформы 0.5.7, а тем временем в голове накопилось куча мыслей, с которыми хочется поделиться...
Честно признаюсь, писать сложный код мне гораздо проще, чем статьи или еще хуже документацию. Даже сейчас, пишу этот текст, а на другом мониторе моя любимая IDE PhpStorm и каждые тридцать минут, я переключаюсь с нее на этот текст, уделяя ему по 5 минут. Но писать такие тексты походу все-таки нужно и придется. Периодически получается так, что платформой очередной раз всерьез начинают интересоваться вебмастера. Качают с сайта старые версии, на которые я уже давно смотреть не могу, и даже не подозревают, что есть продукт гораздо круче и то, какая бурная жизнь платформы бурлит за кадром...
Экспериментальная система структуризации моделей приложения — придуманная мной в версии 0.5.7, сильнейшая библиотека YUI версии 3 — которую YAHOO прекратила поддержку, AbricosJS — JS шаблонизатор — который я вынес в отдельный проект, Bootstrap от Twitter, и еще куча мелких, но значимых возможностей — все это позволяет в прямом смысле слова наслаждаться разработкой очередного проекта. Но речь не об этом.
Далее, мои мысли будут сумбурными и структурировать их не охота, просто вылью некоторую их часть, что крутиться в голове.
Итак.
Кода в приложениях становится все меньше, разработка и отладка проще. Глаза начинают гореть от предстоящих возможностях! Может быть поэтому нету времени, да и лень, собирать очередной дистрибутив очередного завершенного этапа. И вот уже практически два года, а на сайте полное затишье. Со стороны складывается впечатление, что проект задохнулся. Но, это не так. Все эти восемь лет, что я работаю над платформой, полностью посвящены ей. И хочется все время двигаться дальше и дальше, не задумываясь о популяризации Абрикос.
Но, надеюсь в этот раз и буквально уже в ближайшие недели соберусь мыслями и выпущу дистрибутив. Начну со сборки Person. Да, кстати, теперь все дистрибутивы будут жить в отдельных сборках на Гитхабе.
Сборка — так много в ней прекрасного и удобного, что позволяет управлять множеством различных проектов, с их модулями и разными версиями. Будь то сайт или сервис, теперь все это может храниться в сборках. Если мне нужно поправить что-то в проекте, я просто выгружаю сборку, выполняю пару команд и вот она уже подгрузила все модули из нужных мест и развернула рабочую версию на моем локальном серваке. Потом включаю режим слежения за изменениями в исходниках и в режиме реального времени, внося изменения в код, сборка автоматически компилируется в рабочий проект. Удобно до жути… )
А дальше уже начинают созревать мысли о создании полноценного конструктора, в котором можно будет создавать любое приложение, не вдаваясь в азы программирования. Тем более опыт в этой области у меня есть — когда-то я создал продукт, который позволяет разрабатывать торговые стратегии без участия программистов в визуальном редакторе. Согласитесь, применить это в платформе было-бы круто — открыл визуальный редактор, задал параметры, связи и вот тебе готовое приложение управления клиентами… Эх...
Но, нужно включать стоп! Настала пора уделять время не только техническим возможностям платформы, но и информации для пользователей о том, что это за платформа, как в ней программировать, что можно из нее сделать и т.п. Причины я указал выше, повторяться не буду.
Получится ли у меня это? Навряд-ли! Точно знаю, найду силы, соберу новый дистрибутив и снова погружусь в мир кода. Но как быть? Выход есть, как минимум два.
Первое. Господа вебмастера, многие из вас пользуются продуктом. Не стесняйтесь, черканите пару строчек в блоге о своих успехах, поделитесь информацией с другими. Поверьте мне, этим вы сделаете свой вклад в платформу, поможете ей стать чуточку открытее. А потом придут другие и какая-то их часть так же сделает свой вклад, тем самым вы существенно облегчите мне работу. Многие из вас ведь хотят видеть новые фишки в тех или иных модулях?...
И второе. Я взял ориентир на зарубежную аудиторию. В версии 0.5.7 приведена в порядок система локализации на другие языки. Как не крути, а зарубежная аудитория относиться к отрытым проектам куда более заинтересованней и пользователи чаще, чем в России, принимают участие в его жизни. Знаю это по опыту предыдущих платформе Абрикос проектов.
В итоге на выходе найдутся люди, которые возьмутся за документацию, описания возможностей, кто-то даже начнет слать пулреквесты, а отдельные займут места ведущих разработчиков. Работа закипит еще более плотным ходом и платформа начнет существовать свой, не зависимой от меня, жизнью. А я тем временем спокойно продолжу создавать новые системы и возможности… эх… мечты, мечты...
А что в планах?
Вы не поверите, но уже есть существенный набросок ядра версии 0.6.0. В этой версии я заложил полноценную основу автоматизированной системы прохода тестов, даже для этого разработал виртуальный SMTP-сервер (SMTPeshka) для тестирования отправляемых уведомлений движком, автоматической сборки документации, полное отделение клиентской части от серверной, предварительная компиляция частей кода для разгрузки сервера и многое, многое другое.
Короче говоря, сам того не ожидая, продукт уже давным давно стал чем то больше, чем просто платформа. Раньше я в какой-то степени переживал о том, что иду против течения общих тенденции разработки, а теперь все чаше и чаще вижу, как многие системы начинают использовать в своих основах возможности, которые я когда то, много лет назад, заложил в Абрикос. И пока другие только-только начинают путь в нестандартных решениях, в платформе они уже отработаны и выстреливают.
В заключении отдельным абзацем хочу сказать следующее:
Те не многие, кто все же проявляет упорство и через завесу отсутствия информации/документации познает возможности платформы, пишут потом мне свое восхищение о ней. Делятся впечатлением, как легко и удобно верстать шаблоны, писать модули, создавать сайты и сервисы… Респект вам и уважение!