Repolode
oneo-me

oneo-me/nsgo

Кроссплатформенный движок нативных интерфейсов: логика приложения работает на Go, а каждая платформа отрисовывает интерфейс своими нативными представлениями.

Звёзды
198
Форки
9
Открытые issues
1
Последний коммит
23 часа назад

Что это?

NSGo позволяет разработчикам создавать пользовательские интерфейсы на Go. Логика приложения, реактивный граф на основе сигналов, мемо и эффектов, а также компоновка Flexbox или Grid выполняются на Go, а каждая целевая платформа отрисовывает интерфейс и текст своими нативными представлениями, а не с помощью собственного canvas. Это порт Native Shell (NSH) на Go — фреймворка на Rust с той же концепцией.

Проект поддерживает iOS, Android, macOS, Windows, Linux и веб, а также текст, изображения, canvas, шейдеры, анимацию, сервисы и базовые компоненты без оформления. Приложения можно писать на Go или на TSX с классами Tailwind CSS. Команда nsgo собирает, запускает и тестирует приложения; в режиме разработки доступна горячая перезагрузка, для каждой платформы создаются релизные пакеты, а помимо тестов с реальным окном и скриншотами есть безголовый режим.

Проект находится на ранней стадии: стабильного релиза и стабильного API пока нет. Также поддерживается встраивание представлений NSGo в существующие приложения для iOS, Android или настольные приложения на Go.

Ключевые возможности

  • 01Реактивное состояние на сигналах, мемо и эффектах, реализованное на Go
  • 02Компоновка Flexbox и Grid с отрисовкой нативными представлениями каждой платформы
  • 03Поддержка iOS, Android, macOS, Windows, Linux и веба
  • 04Приложения можно писать на TSX с классами Tailwind CSS
  • 05Безголовые тесты и тесты с реальным окном и скриншотами
  • 06Горячая перезагрузка в режиме разработки и создание релизных пакетов для каждой платформы

Сценарии использования

  • Создание кроссплатформенного приложения на Go, которое выглядит нативно на каждой платформе
  • Встраивание интерфейса, созданного на Go, в существующее приложение для iOS, Android или настольную систему
  • Команды, которым нужна модель NSH без необходимости писать на Rust

Быстрый старт

  1. 1

    Проверьте требования: macOS с Xcode и Go 1.26 или новее

  2. 2

    Добавьте инструмент nsgo в модуль

    go get -tool github.com/oneo-me/nsgo/cmd/nsgo
  3. 3

    Один раз запустите приложение с помощью команды dev

    go tool nsgo dev

Что важно знать

  • NSGo находится на ранней стадии: у него пока нет релиза и стабильного API.
  • Для разработки под все целевые платформы требуется macOS с Xcode.
  • Для некоторых целевых платформ нужны дополнительные инструменты, например adb для Android или Android NDK для эмулятора x86_64.

В подборках

Темы

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

Что такое nsgo?
Кроссплатформенный движок нативных интерфейсов: логика приложения работает на Go, а каждая платформа отрисовывает интерфейс своими нативными представлениями. NSGo позволяет разработчикам создавать пользовательские интерфейсы на Go. Логика приложения, реактивный граф на основе сигналов, мемо и эффектов, а также компоновка Flexbox или Grid выполняются на Go, а каждая целевая платформа отрисовывает интерфейс и текст своими нативными представлениями, а не с помощью собственного canvas. Это порт Native Shell (NSH) на Go — фреймворка на Rust с той же концепцией.
nsgo можно использовать бесплатно? Какая у него лицензия?
nsgo распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
nsgo всё ещё поддерживается?
Активно поддерживается. Последний коммит в nsgo — 6 нояб. 2026 г..
Для чего можно использовать nsgo?
Создание кроссплатформенного приложения на Go, которое выглядит нативно на каждой платформе Встраивание интерфейса, созданного на Go, в существующее приложение для iOS, Android или настольную систему Команды, которым нужна модель NSH без необходимости писать на Rust
Как установить nsgo?
Проверьте требования: macOS с Xcode и Go 1.26 или новее Добавьте инструмент nsgo в модуль: go get -tool github.com/oneo-me/nsgo/cmd/nsgo Один раз запустите приложение с помощью команды dev: go tool nsgo dev
Где скачать nsgo?
Исходный код и инструкции по установке — на GitHub: https://github.com/oneo-me/nsgo

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Кроссплатформенный GUI toolkit и API для приложений на Go, позволяющие создавать приложения для компьютеров и мобильных устройств на основе единой кодовой базы.

28,8 тыс.+19 за неделю1,6 тыс.GoBSD-3-ClauseАктивно поддерживаетсяОбновлён 4 дня назад