- Linux SDKs
- Introduction
- SDK Creation
- SDK Installation
- Application Development
- IDE Configuration
- Eclipse Configuration
- Установка пакета SDK для .NET или среды выполнения .NET вручную
- Выпуски .NET
- Зависимости
- Зависимости RPM
- Зависимости DEB
- Общие зависимости
- Установка с помощью скрипта
- Установка вручную
- SDK и API: в чем разница?
- Что такое SDK?
- Как работает SDK
- Примеры использования SDK
- Преимущества SDK
- Что такое API?
- Что представляет вызов API с технической точки зрения:
- Нужно ли выбирать между SDK и API?
Linux SDKs
Introduction
Attention: Toradex does not maintain SDKs, nor provides them in the binary form! The only exception was the old Quickstart Guide for BSP 2.8 when we provided binary SDKs as-is, validated solely for the Hello World application from the Quickstart Guide and nothing more.
Toradex Linux images are built using the Yocto Project/OpenEmbedded-core. The same build system can be used to generate SDKs specific to these images. A standard Yocto Project SDK includes:
- Cross-development toolchain containing cross-compiler, cross-linker, cross-debugger, etc.
- Native sysroot containing cross-compiler, linker and other development tools
- Target sysroot containing libraries, headers & symbols
- Environment setup script
For more information, refer to the Yocto Project documentation. You may also want to check the article How to setup environment for Embedded Linux application development and the Quickstart Guide for alternative sources of information about development environment and cross-toolchain setup.
SDK Creation
Whether building an SDK for the standard Toradex demo image or for your own custom image, the method of generating the SDK is the same. After building the image as described in the Build a Reference Image with Yocto Project article, you can use bitbake to generate the SDK:
The generated SDK will be located at oe-core/deploy/sdk/ .
If you need Qt5 tools deployed in your SDK add the following to your image recipe:
If you want to build kernel modules for the kernel used on the target system full kernel sources are needed. The kernel-devsrc recipe packs the kernel sources of the kernel chosen by virtual/kernel .
Note: In earlier build system configurations, the deploy directory was here: ‘oe-core/build/out-glibc/deploy/sdk/’. Note: There are a number of recipes (meta-toolchain-xxx.bb) which are alternative ways to build an SDK. Among them meta-toolchain.bb, meta-toolchain-qte, and meta-toolchain-qt5 targeting use on command line, Qt4e, and Qt5 targets. They can be built as follows: ‘bitbake meta-toolchain-xxx’. Note that these SDKs do not necessarily include all libraries and headers for the packages deployed in your image nor are all libraries for which the SDK does contain stuff necessarily installed in your image. Note: In earlier build system configurations, the SDK filename didn’t change when you built for a different image_name or a different machine leading to errors like this: ‘The recipe meta-toolchain-qt5 is trying to install files into a shared area when those files already exist. . ‘ Delete the existing file from an earlier run and restart bitbake to get around the issue.
SDK Installation
Execute the generated SDK script file to initiate installation:
When prompted, accept the default installation path (or enter an alternate path) for the SDK.
Application Development
Begin by changing into the SDK’s installation directory and sourcing the environment script:
Warning: Source the environment script in every shell session in which you work with the SDK.
The newly exported environment variables expand the PATH variable with the bin directory of the native sysroots (containing cross compiler etc.) and define the SDK’s associated cross-development tools and flags. To make use of this environment in development, use the environment variables. For example, to compile a C hello world application, use the C compiler variable CC :
You can read the environment script to learn what variables are exported.
IDE Configuration
Eclipse Configuration
Create a new C or C++ project. Select Empty Project and Cross GCC toolchain. Skip Configure the Cross GCC path and prefix .
Then, in the toolbar, click Project and select Properties from the drop down menu.
Navigate to C/C++ Build —> Settings
Within the Tool Settings tab, select [All configurations] from the configurations list.
Select Cross GCC Compiler from the Tool Settings menu.
For Command , enter:
Under Cross GCC Compiler , select Miscellaneous .
For Other flags , enter:
Select Cross G++ Compiler from the Tool Settings menu.
For Command , enter:
Under Cross G++ Compiler , select Miscellaneous .
For Other flags , enter:
Select Cross G++ Linker from the Tool Settings menu.
For Command , enter:
Under Cross G++ Linker , select Miscellaneous .
For Linker flags , enter:
Select Cross GCC Assembler from the Tool Settings menu.
Источник
Установка пакета SDK для .NET или среды выполнения .NET вручную
Платформа .NET поддерживается в Linux. В этой статье описывается установка .NET в Linux с помощью скрипта установки или посредством извлечения двоичных файлов. Список дистрибутивов, поддерживающих встроенный диспетчер пакетов, см. в разделе Установка .NET в Linux.
Также можно установить .NET с помощью пакета Snap. Дополнительные сведения см. в разделе Установка пакета SDK для .NET или среды выполнения .NET с использованием пакета Snap.
Если вы хотите разрабатывать приложения .NET, установите пакет SDK (включает среду выполнения). Если нужно просто запустить приложения, установите среду выполнения. Если вы устанавливаете среду выполнения, мы рекомендуем установить среду выполнения ASP.NET Core, так как она включает в себя среды выполнения .NET и ASP.NET Core.
Если вы уже установили пакет SDK или среду выполнения, с помощью команд dotnet —list-sdks и dotnet —list-runtimes узнайте, какие версии установлены. Дополнительные сведения см. в статье Проверка того, установлена ли платформа .NET.
Выпуски .NET
В следующей таблице перечислены выпуски .NET (и .NET Core):
✔️ Поддерживается | ❌ Не поддерживается |
---|---|
5,0 | 3.0 |
3.1 (LTS) | 2.2 |
2.1 (LTS) | 2,0 |
1,1 | |
1.0 |
Дополнительные сведения о жизненном цикле выпусков .NET см. в разделе Политика поддержки .NET Core и .NET 5.
Зависимости
В некоторых случаях, например при установке .NET вручную, некоторые зависимости могут не устанавливаться. Ниже перечислены дистрибутивы Linux, которые поддерживаются корпорацией Майкрософт и для которых может потребоваться установка зависимостей. Дополнительные сведения см. на странице, посвященной соответствующему дистрибутиву:
Общие сведения о зависимостях см. в статье об автономных приложениях Linux.
Зависимости RPM
Если ваш дистрибутив не указан в приведенном выше списке и построен на основе RPM, могут потребоваться следующие зависимости:
Если в целевой среде выполнения установлена версия OpenSSL 1.1 или более поздняя, необходимо установить compat-openssl10.
Зависимости DEB
Если ваш дистрибутив не указан в приведенном выше списке и построен на основе Debian, могут потребоваться следующие зависимости:
Общие зависимости
Для приложений .NET, использующих сборку System.Drawing.Common, необходима также следующая зависимость:
Вы можете установить последнюю версию libgdiplus, добавив в систему репозиторий Mono. Для получения дополнительной информации см. https://www.mono-project.com/download/stable/.
Установка с помощью скрипта
Сценарии dotnet-install используются для автоматизации установок пакета SDK и среды выполнения и осуществления таких установок без прав администратора. Скрипт можно скачать на странице https://dot.net/v1/dotnet-install.sh.
![ВАЖНО] Для выполнения скрипта требуется Bash.
Этот сценарий по умолчанию устанавливает последнюю версию SDK с долгосрочной поддержкой (LTS), которой сейчас является .NET Core 3.1. Чтобы установить текущий выпуск, который может не быть версией LTS, используйте параметр -c Current .
Чтобы вместо пакета SDK установить среду выполнения .NET, используйте параметр —runtime .
Вы можете установить определенную версию, указав ее в параметре -c . Следующая команда устанавливает пакет SDK для .NET 5.0.
Установка вручную
В качестве альтернативы диспетчерам пакетов можно скачать и вручную установить пакет SDK и среду выполнения. Установка вручную как правило выполняется в рамках тестирования непрерывной интеграции или в неподдерживаемом дистрибутиве Linux. В большинстве случаев разработчикам и пользователям рекомендуется использовать диспетчер пакетов.
Сначала скачайте двоичный выпуск пакета SDK или среды выполнения с одного из следующих сайтов. При установке пакета SDK для .NET не нужно устанавливать соответствующую среду выполнения:
Затем извлеките скачанный файл и используйте команду export , чтобы задать для переменной DOTNET_ROOT расположение извлеченной папки, а затем проверьте включение .NET в переменную PATH. После этого команды .NET CLI станут доступны в терминале.
Кроме того, после скачивания двоичного файла .NET можно выполнить следующие команды из каталога, в котором сохранен файл, для извлечения среды выполнения. После этого команды .NET CLI также станут доступны в терминале, и будут заданы нужные переменные среды. Обязательно измените значение DOTNET_FILE на имя скачанного двоичного файла:
Приведенные выше команды export сделают команды .NET CLI доступными только для сеанса терминала, в котором производился запуск.
Вы можете изменить профиль оболочки, чтобы добавить команды окончательно. Существует несколько различных оболочек, доступных для Linux, и каждая из них имеет свой профиль. Пример:
- Оболочка Bash:
/.bashrc
Оболочка Korn:
/.kshrc или .profile
Оболочка Z:
Измените соответствующий исходный файл оболочки и добавьте :$HOME/dotnet в конец существующего оператора PATH . Если оператор PATH не указан, добавьте новую строку с export PATH=$PATH:$HOME/dotnet .
Кроме того, добавьте export DOTNET_ROOT=$HOME/dotnet в конец файла.
Такой подход позволяет устанавливать разные версии в отдельные расположения и выбирать, какие из них следует использовать для каждого приложения.
Источник
SDK и API: в чем разница?
Разработчики программного обеспечения пользуются основными инструментами: SDK и API. По сути, как SDK, так и API позволяют улучшить функционал приложений, не прибегая к большим усилиям.
Что такое SDK?
Аббревиатура SDK расшифровывается как software development kit. SDK, или devkit, — это набор средств для разработки ПО под определенную платформу. Он содержит компоновочные блоки, средства отладки, а зачастую фреймворк или группу библиотек кода, например набор подпрограмм для определенной операционной системы.
В стандартном SDK могут присутствовать как некоторые, так и все компоненты из списка ниже:
- Компилятор: переводит с одного языка программирования на используемый вами.
- Примеры кода: демонстрируют примеры приложений или веб-страниц.
- Библиотеки кода (фреймворк): предоставляют фрагменты кода, часто используемые программистами.
- Инструменты для тестирования и аналитики: предоставляют аналитические данные о работе продукта в тестовой и эксплуатационной средах.
- Документация: содержит инструкции для разработчиков.
- Средства отладки: помогают разработчикам обнаруживать ошибки в коде, чтобы публикуемый код работал как задумано.
Часто в SDK есть по меньшей мере один API, поскольку без него приложения не могут обмениваться данными и работать вместе.
Как работает SDK
SDK предоставляет инструменты, которые способствуют ускорению и стандартизации разработки приложений.
- Приобретите, загрузите и установите набор SDK для своей платформы (например, предварительно подготовленные фрагменты сборки, примеры и инструкции).
- Откройте и используйте любые API исредства разработки, необходимые для создания нового приложения, начиная с интегрированной среды разработки (IDE). Это пространство, в котором работает программист и установлено средство отладки.
- При разработке используйте инструкции, документацию, примеры кода и инструменты тестирования, которые обеспечат вам и вашей команде хороший старт.
Примеры использования SDK
SDK — неотъемлемая часть разработки мобильных приложений. SDK имеют множество областей применения:
- SDK для определенных языков программирования, например JSON и Java Developer Kit (JDK) для JavaScript и Java соответственно, используются для разработки программ на этих языках оптимальным и стандартизированным путем.
- SDK для аналитики от Google и других компаний предоставляют данные о пользовательских действиях, поведении и путях их перемещения по сайту или приложению.
- SDK для монетизации от Google, Facebook и других компаний упрощают интеграцию рекламы с существующими приложениями с целью получения дохода.
Преимущества SDK
Что такое API?
Аббревиатура API расшифровывается как application programming interface (интерфейс программирования приложений). API — и как отдельное решение, и в составе SDK — облегчает обмен данными между двумя платформами и позволяет сторонним разработчикам использовать функционал проприетарного ПО.
API можно рассматривать как соглашение между двумя сторонами. API не только обеспечивает возможность обмена данными, но и устанавливает его правила.
Поскольку некоторые API предоставляют интерфейс напрямую, термины API и «интерфейс» иногда взаимозаменяемы.
Чтобы внести ясность, стоит отметить, что API может состоять из двух компонентов:
- Технические спецификации и документация: информация об интеграции и эффективном использовании API.
- Интерфейс: доступ к нему осуществляется как напрямую, через ключевое слово (в случае веб-API), или косвенно, через отдельный интерфейс (в случае REST API).
Что представляет вызов API с технической точки зрения:
- Как пользователь приложения, которому необходимо выполнить задачу, вы инициируете задачу из своего приложения, создавая запрос.
- API совершает вызов к веб-серверу, передавая запрос. API знает, куда отправлять запрос, поскольку он передается в конечную точку API, обычно — URL сервера.
- Запрос выполняет стороннее приложение или база данных, предоставляющие такой сервис.
Примеры использования API
- API в картографии обычно используются для интеграции карты на веб-странице или в мобильном приложении.
- API платежных сервисов обычно используются компаниями, занимающимися e-commerce, для повышения гибкости процесса покупки, что приводит к расширению базы потенциальных клиентов.
- API метеорологических служб могут улучшить опыт пользователей спортивных приложений, поисковых систем и т. д.
Преимущества API
- Объединение разнородных программных приложений для создания более сильного продукта
- Сокращение цикла разработки за счет автоматизации
- Снижение нагрузки на штатные ресурсы
- Повышение узнаваемости бренда и доверия к нему
- Максимально эффективное предоставление новых сервисов конечным пользователям
Нужно ли выбирать между SDK и API?
Нет, ведь как сказано выше, SDK зачастую имеет по меньшей мере один API. Они выполняют разные функции, но могут работать и помогать вместе.
Следует иметь в виду, что с использованием API и SDK связаны некоторые сложности. Одна из них заключается в потенциальных уязвимостях. Другая сложность, относящаяся к SDK, — частота обновлений. Поэтому важно, чтобы команды DevOps держали вопрос информационной безопасности в поле зрения, а также следили за своевременным обновлением компонентов.
Оригинальный материал на английском языке доступен по ссылке.
Источник