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

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

Вот первое такое приложение — приложение «Списки дел»: http://www.webasyst.com/ru/apps/checklists/

Приложение «Списки дел» позволяет вести списки дел и отмечать, что сделано. Например, кому какие подарки купить, что не забыть сделать в офисе, что взять с собой в поездку, кого позвать на вечеринку, какие фильмы посмотреть и т.д. Списками можно пользоваться коллективно: доступ регулируется по спискам из приложения «Контакты» (скоро фреймворк позволит регулировать доступ напрямую из приложения). Посмотрите онлайн-демо нового приложения.

Приложение доступно для установки из «Инсталлера» внутри каждой установки Вебасиста, весит всего около 30 КБ и разработано действительно за два дня.

26 комментариев

Пока наша команда погружена в разработку фреймворка Вебасист, приложений «Сайт», «Блог» и «Поддержка», немного расскажу о том, как создавался проект Shop-Script.

shop.vofka.ru

Shop-Script я начал писать осенью 2001 года, то есть почти десять лет назад. Я тогда был студентом 2-го курса ВМиК МГУ и решил поизучать PHP. Писал код по вечерам в общаге ГЗ МГУ и написал первую версию скрипта примерно за месяц. Идея написать скрипт магазина появилась из желания сделать какое-нибудь полезное упражнение на PHP и заработать немного денег.

Упражнение переросло в профессию. Первая копия Shop-Script была продана 21 января 2002 года на дискетке за $70 ($50 — сам скрипт, $20 — установка на сервере заказчика). Встречался с заказчиком на станции метро «Кузнецкий мост» (даже помню его домен — starshop.ru — сейчас, правда, этот магазин уже не работает). Осталось отчетливое воспоминание: на деньги с первой продажи я купил шаурму.

Интересующимся я предлагаю скачать ту первую версию скрипта, которая продавалась за $49 аж до 2004 года: Shop-Script 1.0 (Zip-архив; 70 КБ). Скрипт был спроектирован неправильно априори, полностью построен на процедурном коде типа «лапша», однако, не требовал никакого вникания в архитектуру кода в принципе. Какой файл править — понятно из его названия. Я тогда не сильно беспокоился вопросами организации кода. Все проекты, которые делал до Shop-Script, были, в основном, академическими: интересные алгоритмические задачи, но не крупные проекты. Тем более, все былоне для веба. Впрочем, скрипт работал, стал приносить немного денег, а это позволило не искать постоянную работу и продолжать заниматься проектом.

Читать далее →

4 комментария

Хорошая новость для разработчиков приложений на основе Вебасиста: Вебасист теперь есть на GitHub по адресу https://github.com/webasyst/webasyst-framework

Это значит, что, во-первых, локальные установки Вебасиста теперь можно делать и обновлять напрямую из репозитория на GitHub через GIT или SVN и, следовательно, контролировать какие файлы были изменены, а какие нет. Репозиторий Вебасиста содержит системные файлы фреймворка и бесплатные приложения (Контакты, Стикеры, «Пустышку» и пр.; Инсталлера в репозитории пока нет, но скоро планируем добавить и его).

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

  • GIT: git clone git://github.com/webasyst/webasyst-framework.git
  • SVN: svn checkout http://svn.github.com/webasyst/webasyst-framework.git

Про установку Вебасиста из репозитория мы написали в документации по фреймворку. Подключайтесь!

2 комментария

Новые статьи
На этой неделе мы добавили две статьи в документацию по фреймворку Вебасист:

  • Шаблоны: добавлена секция про то, как заменить шаблонизатор Smarty на другой,
  • Композитные макеты: статья про создание страниц, на которых подключается несколько шаблонов.

Autoload
На форуме нам задавали вопрос про устройство автолоада во фреймворке, и мы хотим обратить на этот вопрос внимание всех, кто уже разрабатывает на основе Вебасиста. Автолоад (autoload) реализован так, чтобы разработчику не приходилось думать о подключении классов: Вебасист автоматически подключает все классы, которые располагаются внутри папки lib приложения и названы согласно правилам именования классов (необходимо выполнение обоих условий). Для работы автолоада необходимо, чтобы в одном php-файле был определен только один класс. При самом первом запуске приложения фреймворк находят все файлы .php в папке lib приложения, по имени файла определяется название класса, и полученный список «класс => файл» кешируется, чтобы не перечитывать все .php-файлы каждый раз. Кеширование отключается только в режиме разработчика (debug_mode).

debug_mode
В связи с описанным выше поведением автолоада и кеширования напоминаем всем разработчикам о необходимости включения режима разработчика на время создания приложений: это делается в настройках приложения «Инсталлер» или в файле wa-config/config.php добавлением строчки 'debug' => true.

5 комментариев

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

Планируем выпустить приложение в течение лета 2011.

Ваши пожелания и идеи по приложению приветствуются. В «Блоге» будет реализована плагин-структура, которая позволит гибко расширять базовый функционал приложения.

11 комментариев

Одно из первых приложений, которое мы собираемся выпустить на базе фреймворка Вебасист — это приложение «Поддержка» для организации поддержки клиентов.

Делать мы его будем, в первую очередь, чтобы обеспечить работу собственной службы поддержки (в первую очередь не потому, что для себя, а потому что это будет первым внедрением). Наша техподдержка пережила уже два поколения версий приложений, мы многому научились за это время, и на этот раз хотим сделать «идеальный инструмент»: платформу для работы с запросами (тикетами), которую можно будет настроить для работы с произвольной бизнес-логикой. От пресейл-вопросов и запросов в техподдержку до заказов на туры или приемки в ремонт аппаратуры. Приложение будет обеспечивать работу с потоком тикетов, распределенных по разным отделам, где в каждом отделе — свой рабочий процесс (воркфлоу).

Но каким бы завершенным ни было наше представление о приложении, нам хотелось бы посмотреть на «Поддержку» с другой стороны. Поэтому мы предлагаем вам рассказать каким вы видите ваш идеальный хелпдеск.

Мы видим следующие обязательные моменты в приложении:
— приложение должно быть одним большим маршрутизатором потоков в службу поддержки, где каждый поток (отдел) маршрутизируется по своим правилам;
— в первую очередь надо обеспечить обработку запросов по электронной почте, причем использовать веб-интерфейс приложения должно быть не обязательно: должно быть можно просто ответить на письмо из любимого почтового клиента, и приложение само его обработает, переслав ответ напрямую клиенту по почте или добавив новую запись в журнал обработки запроса (если это ответ на внутреннее обсуждение запроса, например);
— у приложения должен быть фронтенд: открытая база данных запросов в формате примерно как в сервисе «Реформал» или на stackoverflow.com; должно быть голосование и комментирование запросов, опубликованных во фронтенде;
— должен быть REST API;
— запросы могут приходить из разных источников и не только по электронной почте; в поток, вообще говоря, должно быть можно «запустить» запросы разной природы: заказы, уведомления от платежных систем, сообщения из форума и т.д. Такое расширение функционала должно обеспечиваться плагинами.

Приглашаем к дискуссии в комменты.

Мы начали вести блог на Хабре постом про PHP-скрипт, который умеет обновлять сам себя: http://habrahabr.ru/company/webasyst/blog/122451/

Планируем публиковать в блоге на Хабре интересные статьи, так что подписывайтесь. Статьи будут освещаться и в этом блоге: когда-то более подробно, когда-то менее.

Мы завели аккаунт на Хабрахабре. Френдите: http://habrahabr.ru/company/webasyst/
Собираемся вести на Хабре блог и общаться с разработчиками приложений на основе нашего фреймворка.

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

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

http://webasyst.reformal.ru/

Там уже есть ряд интересных предложений, но нам нужно больше! Принимаются идеи в любой форме. Можно одной строчкой, можно сумбурно, можно детально со всеми требованиями.

Конечно, не в наших силах реализовать все ваши предложения. Все таки одна из первоочередных наших задач сейчас — это выпустить новый Shop-Script, и отвлекаться от этой работы мы не планируем. Но! Все идеи находятся в открытом доступе, да и Вебасист теперь представляет собой открытую платформу. Так что ваши предложения увидим не только мы, но и другие разработчики. Возможно, ваша идея понравится кому-то из них. Мы же постараемся максимально помогать разработчикам на начальном этапе и стимулировать их на хорошую работу :-)

3 комментария

Мы уже объявили о том, что новый Shop-Script будет выпущен в 2012 году. Мы готовимся к этому событию, с нетерпением ждем его и сейчас хотим ознакомить вас с кратким планом разработки приложений для фреймворка. Этот план выстроен таким образом, чтобы реализовать недостающие элементы фреймворка, предложить готовые паттерны построения приложений и подготовить платформу к выпуску Shop-Script.

Заготовок разных приложений у нас накопилось довольно много, от простых чеклистов до внутренней системы учета продаж скриптов и хостинга, и выпускать новые приложения мы планируем примерно так:

1. Бесплатные приложения:

  • «Сайт»: Приложение для создания сайтов на основе Вебасиста. Это «полусистемное» приложение, которое будет отвечать за объединение фронтендов разных приложений, управление маршрутизацией (роутингом), редактирование шаблонов дизайна и создание статических страничек для сайта.
  • «Блог» и «Фото»: на этих приложениях мы представим плагиновую структуру, которая будет в новом Shop-Script, и проработаем интеграцию с приложением «Сайт».

Бесплатные приложения начнут выходить уже очень скоро (начнем с «Сайта» и «Блога»).

2. Платные приложения: здесь мы сконцентрируемся на приложениях, которые позволят организовать собственную онлайн CRM-систему. Это будут приложения для управления контактами, рассылками, поддержкой пользователей, учета дел, сделок, заказов, задач. Эти приложения мы выпустим до нового Shop-Script, чтобы сразу правильно заложить синхронизацию данных между CRM-приложениями и интернет-магазином. Первые платные приложения ожидайте осенью этого года.

3. Внеплановые приложения: будут появляться и отдельные небольшие приложения помимо перечисленных. Это будут как приложения, созданные нами, так и приложения других разработчиков. Высказывайте ваши предложения и пожелания по новым приложениям в нашем реформал-аккаунте: webasyst.reformal.ru

В перспективе мы планируем открыть полноценный магазин приложений, через который можно будет приобрести наши приложения и приложения других разработчиков. Для разработчиков мы предложим выгодные условия сотрудничества. Сегодняшний раздел «Приложения» — это прототип будущего магазина приложений.