Установка SDK
Выберите нативный менеджер пакетов своего языка. Go, JavaScript и C/C++ напрямую используют базовые SDK: Go, JS/WASM и CGo. Пакеты для остальных языков оборачивают те же самые реализации.
Доступность релиза: каноническое имя @urnetwork/sdk и новые языковые пакеты ожидают публикации. Команды ниже — контракт установки для этого релиза; руководство по каждому языку также объясняет локальную сборку пакетов. Примерам с сокетами нужен релиз, содержащий новый API сокетов.
| Язык | Нативная установка | Руководство |
|---|---|---|
| C | vcpkg add port urnetwork-sdk | Руководство по C |
| C++ | vcpkg add port urnetwork-sdk | Руководство по C++ |
| C# | dotnet add package URnetwork.SDK | Руководство по C# |
| Go | go get github.com/urnetwork/sdk/v2026@latest | Руководство по Go |
| Java | implementation("io.ur:urnetwork-sdk:") | Руководство по Java |
| JavaScript | npm install @urnetwork/sdk | Руководство по JavaScript |
| Kotlin | implementation("io.ur:urnetwork-sdk:") | Руководство по Kotlin |
| Python | pip install urnetwork-sdk | Руководство по Python |
| Ruby | gem install urnetwork-sdk | Руководство по Ruby |
| Rust | cargo add urnetwork-sdk | Руководство по Rust |
| Swift | .package(url: "https://github.com/urnetwork/sdk-swift", exact: "") | Руководство по Swift |
| TypeScript | npm install @urnetwork/sdk | Руководство по 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: вместо координат для десктопной 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-интеграции для этого языка.
Примеры и поведение сокетов
Откройте обозреватель примеров: для каждого языка там есть README по установке, руководство по запуску socket/README.md и исполняемые исходные файлы. О разнице между сокетом ядра и сокетом Device, включая возможную доставку дубликатов, когда UDP устраивает гонку первой датаграммы между IPv4 и IPv6, читайте в руководстве по сокетам.
Об установке из исходников, закреплении версий и альтернативных менеджерах пакетов читайте в руководствах по языкам выше. Рецепты C/C++ публикуются в настроенный собственный удалённый репозиторий Conan или Git-реестр vcpkg; добавьте этот репозиторий/реестр один раз, прежде чем выполнять команды выше. Попадание в публичные коллекции апстрима требует одобрения их мейнтейнеров. Руководства по языкам описывают эту настройку и локальную установку из архива CMake.