# Установка SDK

Выберите нативный менеджер пакетов своего языка. Go, JavaScript и C/C++ напрямую используют базовые SDK: Go, JS/WASM и CGo. Пакеты для остальных языков оборачивают те же самые реализации.

**Доступность релиза:** каноническое имя `@urnetwork/sdk` и новые языковые пакеты ожидают публикации. Команды ниже — контракт установки для этого релиза; руководство по каждому языку также объясняет локальную сборку пакетов. Примерам с сокетами нужен релиз, содержащий новый API сокетов.

| Язык | Нативная установка | Руководство |
| --- | --- | --- |
| C | `vcpkg add port urnetwork-sdk` | [Руководство по C](/docs/examples/c) |
| C++ | `vcpkg add port urnetwork-sdk` | [Руководство по C++](/docs/examples/cpp) |
| C# | `dotnet add package URnetwork.SDK` | [Руководство по C#](/docs/examples/csharp) |
| Go | `go get github.com/urnetwork/sdk/v2026@latest` | [Руководство по Go](/docs/examples/go) |
| Java | `implementation("io.ur:urnetwork-sdk:<version>")` | [Руководство по Java](/docs/examples/java) |
| JavaScript | `npm install @urnetwork/sdk` | [Руководство по JavaScript](/docs/examples/javascript) |
| Kotlin | `implementation("io.ur:urnetwork-sdk:<version>")` | [Руководство по Kotlin](/docs/examples/kotlin) |
| Python | `pip install urnetwork-sdk` | [Руководство по Python](/docs/examples/python) |
| Ruby | `gem install urnetwork-sdk` | [Руководство по Ruby](/docs/examples/ruby) |
| Rust | `cargo add urnetwork-sdk` | [Руководство по Rust](/docs/examples/rust) |
| Swift | `.package(url: "https://github.com/urnetwork/sdk-swift", exact: "<version>")` | [Руководство по Swift](/docs/examples/swift) |
| TypeScript | `npm install @urnetwork/sdk` | [Руководство по TypeScript](/docs/examples/typescript) |

Эти команды без уточнений выбирают релизы по умолчанию/стабильные. Для предварительных версий используйте `npm install @urnetwork/sdk@nightly`, `pip install --pre urnetwork-sdk`, `dotnet add package URnetwork.SDK --prerelease` или `gem install urnetwork-sdk --pre`. Cargo, Maven и SwiftPM позволяют закрепить точную предварительную версию. Имена пакетов предварительных версий совпадают с именами стабильных пакетов.

## Java и Kotlin на Android

Используйте `io.ur:urnetwork-sdk-android:<version>` вместо координат для десктопной JVM. AAR для Android собирается с помощью gomobile; десктопные Java/Kotlin используют JNA поверх рантайма CGo. Swift использует существующий Apple XCFramework.

## Содержимое пакетов

Wheel-пакеты Python, гемы Ruby, пакеты NuGet и десктопные JVM-пакеты включают свои поддерживаемые нативные библиотеки. Крейт Rust во время сборки скачивает нативный ассет с закреплённой версией и проверенной контрольной суммой и встраивает его в исполняемый файл. Потребителям не нужны ни компилятор Go, ни ручное скачивание DLL. Поддержка ограничена платформами, включёнными в этот релиз; пакеты для Linux указывают свою минимальную версию libc.

npm-пакет содержит парный ему рантайм Go/WASM и объявления TypeScript, а также запускаемые примеры для Node и браузера. И те и другие используют настроенный размещённый Device. У нативного fetch API браузера нет пользовательской фабрики сокетов; адаптер запросов Axios и пример с Direct Sockets ищите в руководстве по HTTP-интеграции для этого языка.

## Примеры и поведение сокетов

Откройте [обозреватель примеров](/docs/examples): для каждого языка там есть README по установке, руководство по запуску `socket/README.md` и исполняемые исходные файлы. О разнице между сокетом ядра и сокетом Device, включая возможную доставку дубликатов, когда UDP устраивает гонку первой датаграммы между IPv4 и IPv6, читайте в [руководстве по сокетам](/docs/socket).

Об установке из исходников, закреплении версий и альтернативных менеджерах пакетов читайте в руководствах по языкам выше. Рецепты C/C++ публикуются в настроенный собственный удалённый репозиторий Conan или Git-реестр vcpkg; добавьте этот репозиторий/реестр один раз, прежде чем выполнять команды выше. Попадание в публичные коллекции апстрима требует одобрения их мейнтейнеров. Руководства по языкам описывают эту настройку и локальную установку из архива CMake.
