JEEKSSHIRE 24

Разработка десктопных приложений на заказ для macOS и Windows

Разработка десктопных приложений на заказ — это программы для macOS и Windows, которые устанавливаются на компьютер, работают с локальными файлами и обновляются сами. JEEKSSHIRE 24 ведёт такой продукт целиком: от разбора задачи и интерфейса до установщика, подписи, нотаризации, автообновления и сопровождения. У наших собственных продуктов Wallet и Legal есть версии для Mac и Windows рядом с веб-версией, поэтому весь путь выпуска настольного приложения мы проходим сами.

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

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

Если продукту нужна ещё и мобильная версия, её можно собрать в том же проекте: см. разработку мобильных приложений для iOS и Android.

Когда бизнесу нужна программа для компьютера, а не сайт

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

Если вы сомневаетесь, нужна ли вообще своя программа, полезен разбор заказная разработка или готовое решение.

macOS и Windows: нативное или кроссплатформенное десктопное приложение

Нативное приложение пишется под каждую систему её родными средствами, например на Swift для macOS. Кроссплатформенные фреймворки, такие как Electron, позволяют держать одну кодовую базу для Mac и Windows и переиспользовать веб-интерфейс. Правило у нас простое: одна кодовая база там, где это выгодно, и родная сборка там, где важна скорость.

НативноКроссплатформенно (например, Electron)
Кодовая базаОтдельная для macOS и WindowsОдна для обеих систем
Скорость и памятьЛучшие показателиРасход памяти выше, но для бизнес-задач обычно достаточно
Вид и поведениеПолностью родные для системыЕдиный интерфейс на обеих системах
Переиспользование веб-версииМинимальноеВысокое, если веб-интерфейс уже есть
Когда выбиратьТяжёлые вычисления, глубокая интеграция с системойУ продукта есть веб-версия, нужен быстрый выход на обе системы

Выбор делаем на этапе оценки и объясняем на языке задачи, а не стека, чтобы вы могли спорить с ним по существу.

Этапы разработки десктопного приложения

  1. Разбор задачи: что сотрудники или клиенты делают на компьютере сейчас и где теряется время. Готовое ТЗ не обязательно — о коротком брифе есть разбор как составить ТЗ.
  2. Решение и оценка: платформы, нативная или кроссплатформенная сборка, части, которые можно показать и проверить по отдельности.
  3. Интерфейс и архитектура: окна, меню, работа с файлами, хранение данных и связь с сервером.
  4. Сборка по частям: вы видите работающие функции по ходу дела и можете менять приоритеты.
  5. Проверка и релиз: сборка, линт и тесты проходят до выкатки; если шлюз красный, релиза нет.
  6. Установщики, подпись, нотаризация и канал автообновления.
  7. Наблюдение и развитие: оповещения о сбоях, резервные копии и следующие версии.

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

Установщик, подпись, нотаризация и автообновление

Пользователь не должен видеть предупреждение системы о неизвестном разработчике и вручную скачивать каждую новую версию. Поэтому выпуск — часть разработки, а не задача на последний день.

Файлы, оборудование, офлайн и безопасность данных

Настольная программа ближе к данным пользователя, поэтому требования к безопасности выше. Закладываем их с первого коммита: проверка каждого входящего поля, хранение секретов вне кода, минимум прав. Данные не уезжают туда, где им нечего делать: в нашем Legal распознавание текста идёт прямо на устройстве пользователя, и документ не обязан покидать компьютер.

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

Что получает заказчик

Перед приёмкой полезно пройтись по списку из разбора как принять проект у разработчика.

Наш пример: Wallet и Legal для Mac и Windows

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

Ваше приложение пройдёт тот же путь: релиз только из зелёного состояния проверок. Больше о подходе — на странице разработки ПО на заказ, а задачу можно описать в форме заявки.

Частые вопросы

Нативное приложение или Electron: что выбрать?

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

Можно ли сделать одну кодовую базу для macOS и Windows?

Да, кроссплатформенный подход позволяет держать общий код для обеих систем. Отдельные места, например работа с системными функциями, при этом пишутся под каждую платформу.

Нужна ли нотаризация для macOS?

Для распространения вне App Store — да: без подписи и нотаризации macOS предупреждает пользователя или не даёт открыть приложение. Подпись и нотаризацию мы берём на себя.

Как работает автообновление?

Приложение проверяет, есть ли новая версия, скачивает её и устанавливает без ручных действий пользователя. Обновления выходят только после зелёного прохода проверок.

Будет ли приложение работать без интернета?

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

Можно ли перенести наш веб-сервис в десктоп?

Да. Часто веб-интерфейс становится основой настольного приложения, а к нему добавляются работа с файлами, системное меню, установщик и автообновление.

Сколько стоит разработка десктопного приложения?

Цена зависит от объёма и срока: платформ, функций, интеграций и требований к данным. Прайс не публикуем — оценку и план по шагам даём после разбора задачи.

Кому принадлежит код и что с поддержкой после релиза?

Код и права на него принадлежат заказчику, условия фиксируются договором. После релиза договариваемся о сопровождении: обновления под новые версии систем, исправления и развитие.

ⓘ