Кроссплатформенная декларативная GUI-библиотека на Rust для создания нативных приложений для компьютеров и мобильных устройств.
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
Проверьте требования: macOS с Xcode и Go 1.26 или новее
- 2
Добавьте инструмент nsgo в модуль
go get -tool github.com/oneo-me/nsgo/cmd/nsgo - 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 обновляется ежедневно.
Похожие проекты
Python-фреймворк для создания веб-, десктопных и мобильных приложений с интерфейсом на базе Flutter — без опыта во фронтенд-разработке.
TypeScript-рантайм для интерфейсов, который рисует нативные пиксели на портативных устройствах, компьютерах и встроенных экранах — без DOM и WebView.
Фреймворк для создания нативных приложений для iOS, Android и visionOS на JavaScript или TypeScript с прямым доступом к нативному UI и API.
Кроссплатформенный GUI toolkit и API для приложений на Go, позволяющие создавать приложения для компьютеров и мобильных устройств на основе единой кодовой базы.
Библиотека Elixir для создания нативных настольных приложений с декларативным UI на базе фреймворка GPUI, написанного на Rust.