Это гостевая статья от Алексиса Шана Гриделя (Alexis Chân Gridel) — сооснователя и генерального директора w, проекта, поданного на конкурс Expo App Award. Он также руководит дизайн- и инжиниринговой студией Écrin Digital, создающей премиальные веб-сайты и мобильные приложения.
Анимация рисунка обычно ассоциируется с таймлайнами, ключевыми кадрами и многократным перерисовыванием одного и того же кадра. Мы хотели добиться противоположного. В Doodraw вы проводите линию, и она сразу оживает. Эффект «кипящей линии» (boiling line), создаваемый аниматорами вручную кадр за кадром, возникает прямо в процессе рисования внутри кисти, поэтому 10-секундный скетч превращается в нечто, чем сразу хочется поделиться.
Мы начали разработку Doodraw в мае 2026 года, выпустили первую версию для iOS в августе и официально запустились в сентябре 2026 года. К 19 октября количество установок (по первому открытию приложения) превысило 120 000 при нулевых затратах на платную рекламу.
Кто мы
Я Алексис, сооснователь и генеральный директор. Я создаю Doodraw: движок на Rust, само приложение и каждый релиз. Мой сооснователь и директор по маркетингу Элоди Маяд (Elodie Mayade) — иллюстратор и контент-креатор. Она определяет визуальный стиль и ощущение от кистей, а также ведет весь наш контент в Shorts, Reels и TikTok, откуда приходит практически весь поток наших установок. Я также управляю Écrin Digital, дизайн- и инжиниринговой студией, создающей премиальные веб-сайты и мобильные приложения, поэтому кроссплатформенная разработка для меня не в новинку. А вот написание графического движка было новым опытом.
Отказ от генеративного ИИ был осознанным выбором. Наши пользователи — художники, и они хотят видеть свои собственные руки и свои собственные линии. Doodraw создан для иллюстраторов, художников-любителей, студентов и авторов контента, публикующих работы в Instagram и TikTok — людей, которые раньше пользовались инструментами анимации в Procreate, FlipaClip, After Effects или браузерными игрушками вроде WigglyPaint.
Почему выбор пал на Expo вокруг движка на Rust
Переписывание всего нативного кода дважды с нуля не было вариантом для команды из двух человек, к тому же движок в любом случае должен был быть общим, поэтому Rust стал основой с первого дня. Настоящим вопросом была оболочка вокруг него. Expo позволил нам использовать единую кодовую базу для iPhone, iPad и Android, в то время как всю тяжелую работу выполняет нативная часть.
Движок состоит примерно из 30 000 строк кода на Rust с использованием wgpu. Он компилируется в XCFramework для iOS и нативные библиотеки для Android. Холст представляет собой нативное представление, а Expo управляет инструментами, слоями и пользовательским интерфейсом, взаимодействуя с движком через нативные модули на Swift и Kotlin, включая нативный экспорт в MP4. Приложение работает на Expo SDK 57 и React Native 0.86 с Expo Router, Reanimated 4, Gesture Handler и React Native Skia.
Исключение нативных папок из git
Непрерывная генерация нативного кода (Continuous Native Generation) стала ключевым решением. Наши папки ios/ и android/ не хранятся в git. Плагин конфигурации с именем withRustEngine копирует скомпилированный движок и файлы наших связок Swift и Kotlin на этапе предварительной сборки (prebuild) и интегрирует их в нативные проекты. Если какой-то бинарный файл отсутствует, плагин немедленно прекращает сборку, вместо того чтобы позволить Xcode выдать ошибку полчаса спустя.
Обновление Expo сводится к изменению версий и повторному запуску prebuild. Мы не объединяем нативные проекты вручную.
Одна пайплайн-система, затем Android и Windows
EAS Build и EAS Submit собирают версии для обоих магазинов из одной пайплайн-системы. Скомпилированный движок включается в загрузку EAS. Версия для Android вышла в конце августа, спустя несколько недель после iOS, практически без дополнительных затрат времени на сборку.
Поскольку пользовательский интерфейс написан на обычном Expo, те же экраны работают и на Windows. Мы экспортируем приложение для веб и запускаем его в оболочке Tauri 2, используя то же ядро на Rust, скомпилированное в WebAssembly и выполняющее отрисовку через WebGPU. Приложение для Windows было запущено в конце сентября, и ни одна строка пользовательского интерфейса не переписывалась под десктоп.
OTA-обновления с политикой fingerprint
Мы используем EAS Update с политикой среды выполнения по отпечатку пальца (fingerprint). Обновление доставляет только изменения JavaScript, а отпечаток сообщает нам, когда изменение затрагивает нативный код и требует сборки для магазина приложений. Мы даже держим нашу конфигурацию, предназначенную исключительно для десктопа, вне app.json, чтобы отпечатки для iOS и Android оставались идентичными.
Наше первое продакшн-обновление доставило исправления и небольшие улучшения UX на 1 389 устройств под управлением iOS без единого сбоя при запуске. Теперь мы выпускаем сборку для магазинов каждые 2–4 недели (iOS 1.0, 1.1, 1.1.2) и OTA-обновления несколько раз в неделю для изменений, затрагивающих только JS, таких как новые параметры экспорта и карточка «продолжить последний рисунок» в октябре.
Цифры
- Более 120 000 установок (первых открытий приложения) по состоянию на 19 октября 2026 года, примерно через два с половиной месяца после первого релиза на iOS, при нулевых затратах на платную рекламу
- Пользователи более чем в 180 странах
- Около двух третей наших загрузок на iOS приходятся на iPad
- Наш самый успешный Short набрал более 4,6 млн просмотров, а общее количество просмотров наших видео превысило 14 млн на YouTube Shorts, Instagram Reels и TikTok за последние 90 дней
Вы можете посмотреть, что создают пользователи, на нашем канале YouTube и в Instagram по адресу @doodraw.app, включая Short с более чем 4,6 млн просмотров.
Что дальше
Улучшение производительности на большем числе устройств Android, обновление до Expo SDK 58, более быстрый первый запуск (начало рисования в одно касание и экспорт первой анимации), новые языки и новые кисти каждый сезон.
Мой список пожеланий к Expo: более простой способ доставки предварительно скомпилированных нативных бинарных файлов в EAS Builds без необходимости повторной загрузки каждый раз, а также более официальный путь для разработки под десктоп. Сегодня мы экспортируем проект для веб и самостоятельно оборачиваем его в Tauri.
Если у вас есть нативное ядро или ядро на Rust, и вы до сих пор считаете, что Expo его не потянет, прочитайте руководство по плагинам конфигурации и попробуйте перенести свой нативный клей в плагин, выполняемый на этапе prebuild. Скачайте Doodraw в App Store, Google Play или Windows.











