Webix на практике: решение для доставки еды

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

У нас есть возможность поговорить с Дагом и узнать его мнение о нашем продукте. 

interview with Olivier Vidal

Привет, Даг. Здорово, что Вы согласились с нами побеседовать. Расскажите, пожалуйста, о Вашей роли в компании?

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

Не могли бы Вы рассказать нам немного больше о Вашем проекте, пожалуйста?

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

interview with Johan Smith

Почему Вы решили использовать библиотеку пользовательского интерфейса JavaScript в своем проекте?

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

Кроме того, нам пришлось изменить плагин Eclipse IDE под названием XLr8Developer, который генерирует наш HTML/Javascript код. Мы немного отличаемся от других компаний тем, что наш инструмент создает 100% кода, поэтому нам не нужно вручную работать над каждой формой. Когда мы обратились к Webix в 2020 году, нам потребовалось некоторое время, чтобы перекодировать инструмент для использования свойств Webix. Наш инструмент обрабатывает все экраны, подсказки и макеты с помощью кода Webix, не касаясь его вручную. 

Это круто! Как Вы узнали о Webix?

Нашел в Гугле. Webix входит в топ-10 библиотек JavaScript в нескольких списках. Мы создали код, используя все десять лучших библиотек, которые мы нашли. У нас более 500 форм, поэтому потребовалось много работы, чтобы убедиться, что продукт, который мы выбрали, удовлетворит все наши потребности. 

Какие критерии были для Вас наиболее важными при выборе библиотеки?

Главным критерием было меню и то, можно ли его отображать с левой стороны. Другим главным критерием было то, как таблица данных обрабатывает события. Предыдущий код таблицы данных имел три события: 0, 1, 2, что было не очень удобно. Эти события, исходящие из таблицы данных, важны, потому что мы проверяем данные по мере того, как пользователь движется по столбцам. События Webix, хотя и немного отличаются от того, что нам нужно, очень целостны. Эти события написаны на английском языке, что делает их гораздо более ориентированными на программистов. 

interview with Johan Smith

Какие комплексные виджеты Webix Вы используете?

В настоящее время мы используем Kanban. Мы собираемся использовать Webix Scheduler примерно через 60 дней или около того.

Сталкивались ли Вы с какими-либо проблемами при использовании Webix?

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

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

Что Вам нравится в Webix?

Скорость работы с таблицами данных примерно на 15-20% выше, чем мы привыкли. Десять лет назад мы все кодировали вручную, поэтому ценим скорость и простоту использования. Webix позволяет нам помещать подсказки сверху или слева и даже имеет нижний лейбл; кодировать их довольно просто. Webix имеет множество опций для каждого представления, поэтому не нужно писать свой собственный HTML или CSS, чтобы получить все, что мы хотим. 

interview with Johan Smith

Где Вы обычно ищете информацию, которая поможет Вам в работе? К чьему совету Вы прислушиваетесь?

Только к самому себе. Я не всегда могу положиться на чьи-то отзывы. Webix не так популярен. Как правило, я получаю информацию из Medium (много блогеров, много пишущих людей) или PCMagazineComputerWorld

Хотя инструмент хорош, он действительно хорош. Он делает то, что обещает, он быстр, эффективен и позволяет нам создавать великолепные и функциональные приложения. Когда мы решили обновить наше приложение для водителей, мы преобразовали его в Webix — и это было относительно просто. Мы потратили сотни тысяч часов, чтобы заставить это приложение работать на предыдущей платформе. Для сравнения, мы потратили всего две недели на его преобразование в Webix. Мы запускаем Webix в нашем приложении для водителей, мы его даже не оптимизируем, оно работает так, как есть. Работает хорошо, все довольны. И что удивительно, вся функциональность присутствует без большой работы.

Инструмент для меня входит в топ-5. Я использовал много других. Самый простой из них — ваш. Ему нужно обучиться, но Webix делает то, что обещает и делает эффективно. У нас есть встроенный CSS-код, он выглядит просто замечательно.

Мы рады это слышать! Используете ли Вы Webix Jet?

Webix Jet добавил слишком много сложностей в наш инструмент XLr8Developer, который генерирует код Webix. Кроме того, наш инструмент позволяет настраивать код Webix с помощью внешних скриптов JavaScript, и это также стало основным камнем преткновения при попытке включить эту функциональность при использовании Webix Jet. 

Какие библиотеки Вы используете, кроме Webix?

В настоящее время мы используем продукты Scheduler и Vault от DHTMLX. У нас есть интерфейс с BIRT, механизмом отчетности с открытым исходным кодом, в нашем коде Webix, встроенном в веб-сервер Apache Tomcat. 

Было приятно поговорить с Вами, Даг. Спасибо за Ваше время и обратную связь.

Если вы готовы поделиться своим опытом и рассказать нам о своем проекте, не стесняйтесь обращаться к нам