С какими вызовами сталкиваются стартапы и разработчики программного обеспечения? 

  1. Качество разработки. Включим сюда безопасность и совместимость. Все то, что может вызывать проблемы и сбои в работе приложения или целой системы. Сегодня IT сектор развивается стремительно, новые продукты пытаются как можно скорее попасть на рынок, что сказывается на их качестве. Причины могут быть самые разнообразные, от недостаточно тщательного тестирования, до использования "сырых", не обкатанных фреймворков. 

  2. Стоимость разработки. Взрывообразный рост IT сектора обусловил высокий спрос на разработчиков, что привело к росту заработных плат и подорожанию конечных программных продуктов. Надо признать, что разработка программного обеспечения - это дорогое и затратное производство. 

  3. Скорость разработки. Современный рынок ставит знак равенства между успехом продукта и скоростью его доставки на рынок. К тому же фактор скорости связан с предыдущими двумя пунктами (качеством и стоимостью). 

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

Теперь обратимся к предмету нашего обзора, JavaScript Framework Webix, и Максиму Кожуху, его создателю. 

Максим руководит Webix. Он архитектор программного обеспечения с более чем 20-летним опытом работы и обширными знаниями в области веб-технологий. Начинал карьеру в эпоху Netscape и прошел через все тенденции веб-индустрии от полных фиаско до важнейших изобретений.

Итак, Макс, может ли Ваш продукт разрубить гордиев узел "тройственной ограниченности" и сделать продукты программного обеспечения одновременно дешевыми, качественными и произведенными в кратчайшие сроки? 

Нет. 

На этом, наверное, можно заканчивать наше интервью, но давайте все же дадим Вам шанс рассказать подробнее. 

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

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

Почему же именно пользовательский интерфейс? Не логичней было бы сфокусироваться на бэк-энде или чем-то более затратном по времени? 

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

И все же, почему не пойти по пути Vaadin, который развивает бэк и фронт-энд на едином фреймворке Java? 

Все дело в гибкости и универсальности. Мы не связывали себя никакими рамками и системными ограничениями. Загляните в наш блог, в раздел интервью, и там Вы найдете примеры реализации под самые различные платформы, вплоть до .Net и SharePoint.

Расскажите подробней про сам продукт. 

Webix - это фреймворк пользовательского интерфейса и библиотека JavaScript. Другими словами, это инструмент для быстрой разработки веб-интерфейсов. Продукт ориентирован как на профессиональных разработчиков, которые хотят сэкономить время на разработке слоя интерфейса, так и на младших разработчиков, которые хотят как можно скорее начать приносить пользу своему работодателю. С практической точки зрения, Webix представляет собой более чем 100 контролов и виджетов пользовательского интерфейса, из которых можно собрать любое бизнес-приложение. В дополнение к этому пользователи получают еще один набор инструментов для более удобной и быстрой разработки: микрофреймворк для более удобной поддержки и кастомизации приложений, визуальный дизайнер, каталог шаблонов, документацию и службу поддержки пользователей. Отдельно хочу выделить комплексные виджеты. Это полноценные SPA приложения для наиболее востребованных прикладных задач: File management, User management, Task management, Scheduler, SQL queries, Chat-messenger. 

Звучит довольно стандартно. Чем вы отличаетесь от других библиотек? 

Тем, что мы не пытаемся решить все задачи одновременно. Мы сфокусировались на сложных бизнес-функциях, создали целую эко среду, в которой эти функции прекрасно работают, и довели функциональность до совершенства. Например, мы не будем предлагать специализированные решения под каждый отдельный фреймворк или системную платформу. Опытные разработчики без труда справятся с этим при помощи имеющейся документации. Но зато мы предлагаем высокопроизводительные многофункциональные компоненты. Например, наш DataGrid имеет более 20 функций (поддержка буфера обмена, ярлыки, контекстное меню, drag-n-drop, фильтры, проверка данных, разбиение на страницы, rowspan, colspan, группировка сетки). Другая особенность Webix - это выверенный дизайн. Мы позиционируем наш продукт как носитель экспертизы материального дизайна для любых проектов. Мы много работали для того, чтобы обеспечить идеальную совместимость всех виджетов. Пользователи Webix получают корректный и красивый материальный дизайн прямо из коробки. 

Не является ли низкая скорость работы платой за такую навороченную функциональность? 

Наоборот. Webix показывает одну из лучших скоростей рендеринга для виджета DataGrid widget (согласно исследованию специалистов Bryntum). Заметьте, это не наше исследование, его проводили конкурирующие разработчики. 

Каков порог входа в Ваш продукт? 

Вы должны любить объектно-ориентированное программирование и знать основы JavaScript. Остальное Вы сможете самостоятельно освоить при помощи методических материалов, интерактивных уроков, примеров и готовых шаблонов.
 

И все же, каков смысл в Вашем продукте, когда есть Angular или React? 

Это один из наиболее часто задаваемых вопросов. Мы не конкурируем с такими глобальными платформами как Angular или React. Мы их органично дополняем. Webix легко встраивается в любую архитектуру. Да, обозначенные фреймворки имеют свои компонентные библиотеки. Но они далеко не так функциональны и универсальны, как наши решения. Опытный разработчик отлично понимает, сколько времени и ресурсов он потратит на кастомизацию или реализацию нужной функции библиотеки React. В то время как Webix предлагает готовое решение. И мы тут коснулись краеугольного камня нашей беседы - "тройственной ограниченности".

Мы создавали наш продукт, чтобы решить три важных бизнес вопроса: 

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

  2. Готовые приложения-виджеты для популярных прикладных задач. Например, наш User Manager - это полноценная админ-панель, которая включает бэк-энд и может выступать ядром любого многопользовательского приложения.

  3. Скоростное программирование слоя пользовательского интерфейса. Webix прост и интуитивно понятен тем, кто хорошо владеет объектно-ориентированным программированием. В обмен на некоторые усилия по изучению основ Webix дарит фантастическую функциональность.

Все же остались сомнения. Может есть какая-то магия Webix, которая притягивает пользователей? 

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

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

  2. Полностью функциональное, живое приложение. Тут работают все контролы и функции. Пользователь может взаимодействовать с приложением без дополнительных настроек. 

  3. Потрясающий дизайн. 

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

Да, теперь признаю, что это может впечатлять. Мы поговорили про качество и скорость разработки. Но что по поводу цены?
 

Webix распространяется в качестве бесплатной библиотеки с открытым исходным кодом. Это полноценная версия продукта, но в нее не входят некоторые виджеты, как и комплексные виджеты. Тем, кому нужно больше функциональности, или тем, кому нужна коммерческая лицензия для выпуска коммерческих продуктов, мы предлагаем Webix Pro. Цена начинается от 450 USD за индивидуальную лицензию для одного разработчика. 

Поясните, почему нельзя использовать пакет с открытым исходным кодом для разработки коммерческого продукта? Разве это запрещено?
 

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

​​​​​​​Спасибо за рассказ, желаем Вам успеха в развитии такого интересного продукта.