Сегодня мы обратимся в Нидерланды, чтобы встретиться с Мартином Зевенбергеном (профиль LinkedIn) и его коллегой Йоханом Ван Вельдхейзеном (профиль LinkedIn). Вместе эти молодые и увлеченные разработчики работают в стартапе под названием Engasy. Компания предлагает цифровые решения для командного сотрудничества. Мы рады узнать об их опыте.
Привет, ребята! Пожалуйста, расскажите нам о своем проекте.
Йохан: Я бэкенд-разработчик. В нашей компании нас двое. Решение, которое мы в настоящее время разрабатываем, — это небольшая ERP-система для подключения команд. Команда работает с командой, что облегчает совместную работу. В каждой компании есть внешние консультанты, субподрядчики и клиенты, участвующие в совместных разработках. С помощью нашего решения они могут разделить цели проекта, инструменты и работать в контексте вместе.
Почему Вы решили использовать библиотеку пользовательского интерфейса JavaScript в своем проекте?
Мартин: Мы искали производителей комплектующих. Нам нужен был согласованный API для каждого компонента. Webix предлагал полную библиотеку компонентов. Он был не слишком дорогим и имел согласованный между компонентами API. Мы рады, что купили его. После тестирования других решений у нас появилось хорошее предчувствие относительно Webix.
Где Вы используете Webix?
Йохан: Мы используем его для фронтенда. Webix помогает нам гибко определять приложения. Например, в бэкэнде мы можем разработать функциональность для создания счетов-фактур, а внешний интерфейс создается динамически. Webix помогает нам в этом. Это дает нам полную гибкость при работе с фронтендом.
Какие комплексные виджеты Webix Вы используете?
Мартин: File Manager, Kanban. Мы также рассматриваем возможность добавления Scheduler. В Webix этого не хватало, но, похоже, вы работаете над библиотекой и расширяете ее. Мы также используем компоненты Form, Datatable, List. Мы создаем приложения на Webix Jet, чтобы объединить все части.
Какие критерии важны для Вас в библиотеке?
Мартин: Согласованность в API и внешнем виде.
Йохан: Документация и образцы очень полезны. И сниппеты.
Как Вы узнали о Webix?
Гугл.
Есть ли у Вас какие-либо трудности и проблемы с Webix?
Мартин: Всегда есть проблемы. Вы должны посмотреть в API, как работает каждый компонент. Я ловлю себя на том, что довольно часто смотрю на Github. Я рад, что там можно найти открытые исходные коды. В некоторых случаях это нужно. Например, я разрабатывал пользовательский фильтр для Datatable. API был плохо документирован, поэтому мне пришлось взглянуть на исходный код. Создание пользовательских компонентов с расширенной функциональностью Webix кажется немного старомодным.
С чем я довольно часто борюсь, так это с парадигмой реактивного программирования. Если вам нужно обновить определенное свойство, Webix не очень удобен. Например, вы заменяете имя поля, оно всегда заменяет HTML, в то время как значение одно и то же. Это все усложняет. Я должен проверять, что должно быть обновлено, поэтому на стороне разработчика больше работы. Хотелось бы более разумного способа обновления пользовательского интерфейса.
Мы также столкнулись со странной проблемой с датой. Я писал об этом на форуме. Наша локализация — голландская, но она внезапно изменилась. Мы не могли понять, почему. Но обнаружили, что причина в File Manager. Я был очень удивлен. Получается, мы используем один и тот же Webix Jet. Но, на мой взгляд, так не должно быть, все должно быть максимально изолировано.
Я уверена, что наша техническая поддержка поможет Вам с этим. Что бы Вы порекомендовали Webix улучшить?
Мартин: Однозначно документацию, а также простой способ управления состоянием. Webix Jet — хорошая вещь, он дает много свободы, что, однако, является и недостатком. Вы принимаете множество решений о том, как поступать. Я видел Jet Restate для упрощения обновлений, он удобный, но он очень ограниченный. Если я обновляю простое значение, я получаю обновление. Но если мне нужен элемент в массиве, нет никакой обратной связи. Хотя это нужно довольно часто. Может быть, здесь поможет какое-нибудь руководство от Webix. Было бы неплохо получить помощь от одного из ваших разработчиков о том, как справляться с подобными вещами, какой способ лучше.
Где Вы обычно находите информацию по ИТ?
Мартин: Я слежу за Medium. Большинство информации там связано с React и Vue. Это помогает мне быть в курсе новостей. И гугл. Также просматриваю блог Webix.
Йохан: Я получаю электронные письма от Webix, и в основном они интересные. Я всегда их просматриваю. Вы молодцы в этом плане!
Мы рады это слышать, спасибо. Используете ли Вы другие библиотеки?
Мартин: Пока нет. Мы хотим придерживаться Webix и в будущем, возможно, нанять людей из команды Webix. Это удобно.
Йохан: И еще одна возможность для нас — это совместное развитие. Мы много знаем о разработке продуктов, поэтому мы могли бы помочь вам с этим. Мы открыты для обсуждения.
Хорошая идея, спасибо. Насколько вероятно, что Вы порекомендуете Webix коллегам, по шкале от 0 до 10?
Мартин: Думаю, 9. Всегда есть, к чему стремиться, но мы по-прежнему довольны Webix. Если бы нам снова пришлось выбирать, мы бы все равно выбрали Webix.
Йохан: Да, это быстрее, чем, например, создавать все с помощью HTML.
Спасибо Вам, ребята, за время и обратную связь. Это возможность для библиотеки Webix расти и совершенствоваться.
Мы уверены, что всем нашим читателям есть чем поделиться с нами. Пожалуйста, не стесняйтесь нам написать.