В современном мире технологий искусственный интеллект становится неотъемлемой частью программирования, помогая разработчикам писать код быстрее, качественнее и с меньшими усилиями. Однако одна из главных проблем при создании AI-инструментов для разработчиков — это охват максимально большого числа пользователей на разных платформах. Выходить на рынок сразу с приложением под веб, популярные IDE и десктопные операционные системы — важный шаг, но он сопряжен с множеством сложностей. Команда Jolt нашла решение, создав универсальный AI-инструмент для программирования, построенный на единой базе кода с использованием SolidJS, и таким образом покрыла шесть различных платформ одновременно. Чтобы понять всю суть и преимущества такого подхода, важно подробнее взглянуть на архитектуру, технологии и мотивацию, стоящую за их техническим выбором.
Современное AI и платформенная фрагментация Инструменты с искусственным интеллектом для помощи разработчикам становятся все популярнее и функциональнее. Но чтобы AI действительно приносил пользу, он должен быть доступен там, где работают пользователи — в браузерах, различных редакторах кода и на настольных машинах. Каждая из платформ обладает своей спецификой, особенностями API, нюансами отображения и взаимодействия, поэтому разработка нативных приложений под каждую из них зачастую ведет к увеличению трудозатрат и дроблению ресурсов команды. Создавая отдельные продукты под каждую среду без общего основания, рискуется допустить ошибки, расходится пользовательский опыт, а также возникают сложности с синхронизацией функционала и выпуском обновлений. Это приводит к тому, что проект становится хрупким и неповоротливым, а конкуренция на рынке стремительно растет.
Именно эти вызовы и попыталась решить команда Jolt. Почему SolidJS? React уже долгое время является стандартом для разработки пользовательских интерфейсов, однако у SolidJS есть свои уникальные преимущества, которые особенно важны для проектов, где эффективность и производительность играют ключевую роль. SolidJS сохраняет концепцию реактивных компонентов и односторонний поток данных, аналогичный React, но при этом отказывается от использования виртуального DOM. Это дает значительное снижение использования оперативной памяти и улучшает скорость рендеринга, что критично для интеграции в расширения IDE и десктопные приложения, где ресурсы ограничены. Небольшой размер итоговых бандлов и низкие накладные расходы делают SolidJS идеальным выбором для тех случаев, когда одна база кода используется в разных средах и вкладках.
Таким образом, выбор SolidJS обеспечил Jolt баланс между знакомой разработчикам моделью и инновационным подходом к производительности. Архитектура и общий кодовый каркас В основе решения Jolt лежит разделение пользовательского интерфейса и бизнес-логики. UI полностью построен на SolidJS и отвечает за отображение данных и прием пользовательских действий, не заморачиваясь деталями того, как именно получить или обработать эти данные. Бизнес-логика вынесена в отдельный модуль на TypeScript, где содержатся сервисы для работы с API, аутентификации, хранением данных, а также интеграции с файловой системой и git-командами в расширениях для IDE. Такое разделение позволяет повторно использовать бизнес-логику во всех приложениях, будь то веб-клиент, расширение для Visual Studio Code, плагин для JetBrains или десктопный клиент, запускаемый на macOS, Windows и Linux.
В результате разработчики не тратят время на реализацию идентичных функций по нескольку раз, что повышает продуктивность и ускоряет время выхода обновлений. Чтобы объединить UI и бизнес-логику в различных средах, в каждом приложении реализуется специальный CoreAdapter, который связывает представление с сервисами. Это позволяет учесть особенности каждой платформы и обеспечить стабильную работу без дублирования кода. Благодаря такой архитектуре Jolt смог обеспечить единый пользовательский опыт, позволяющий без боли переключаться между IDE и веб-интерфейсом. Оптимизация сборки и состояние проекта Для сборки UI команда использует современный инструмент Vite, который обеспечивает быструю и эффективную сборку фронтенд-приложений.
Для бизнес-логики используется tsdown — инструмент, аналогичный tsup, но с внедрением компонентов на Rust, что дало преимущество в скорости компиляции и размере итоговых файлов. Такое решение позволило добиться сокращения времени билда более чем на тридцать процентов, что особенно важно для быстрой разработки и тестирования. Множество платформ — одна кодовая база Jolt охватывает шесть основных платформ: веб-браузер, расширения для Visual Studio Code и JetBrains, а также десктопные приложения для macOS, Windows и Linux. Такой универсальный подход дает огромные преимущества. Пользователи могут работать в привычной для них среде, сохранять настройки и получать одинаковый функционал и интерфейс при работе в разных контекстах.
Для конечного пользователя это значит меньше усилий на обучение, а для команды — меньше багов и большей стабильности продукта. Каждый новый релиз становится доступен одновременно на всех шести платформах, что увеличивает конкурентоспособность и скорость выхода на рынок. Почему важна поддержка IDE Интеграция с Visual Studio Code и JetBrains очень важна, поскольку эти среды составляют основу для большинства профессиональных разработчиков. Расширения позволяют обеспечить глубокое взаимодействие с проектами пользователей: доступ к файловой системе, управление версиями, запуск git-команд и многое другое. Также благодаря тому, что бизнес-логика работает в Node.
js, сервисы одинаково эффективны, будь то в браузере или в IDE. Десктопное приложение на базе Electron дополняет этот набор, предлагая отдельный опыт и возможность использовать Jolt параллельно с любым другим редактором кода, например, Xcode или Vim. Это особенно удобно для пользователей, которые предпочитают настраиваемые и гибкие рабочие процессы. В роли стека технологий также задействованы TypeScript для типизации, Zod для валидации схем данных, и Tailwind CSS для удобной стилизации интерфейсов — все это современные и поддерживаемые инструменты, позволяющие создавать надежные и масштабируемые приложения. Взгляд в будущее Использование единой базы кода на SolidJS для столь разнообразного спектра приложений — важный прорыв для Jolt.
Это означает снижение технического долга, увеличение скорости родуктовой разработки и возможность сосредоточиться на улучшении самого AI и качества работы с кодом, а не на поддержании множества разрозненных проектов. Система с CoreAdapter и слоем бизнес-логики позволяет легко расширять и адаптировать продукт под новые платформы без серьезных архитектурных изменений. Команда планирует дальше делиться опытом и рассказывать о глубоких деталях работы своих сервисов и интеграций, что ценно для сообщества разработчиков. Заключение Разработка AI-инструмента с единой кодовой базой, охватывающей сразу шесть платформ, — это замечательный пример того, как современные веб-технологии и грамотная архитектура помогают решение сложных задач. SolidJS, TypeScript, и продуманный подход к разделению UI и бизнес-логики позволили команде Jolt создать продукт, который не просто доступен где угодно, но и обеспечивает единый и стабильный опыт работы.
В эпоху, когда пользователи используют самые разные инструменты и среды для программирования, такой универсальный подход не просто предпочтителен — он становится необходимостью. Опыт Jolt демонстрирует, что правильный выбор технологий и системный взгляд позволяют создавать масштабируемые, производительные и удобные инструменты AI, помогающие решать сложные задачи разработки с максимальным комфортом и эффективностью.