ソフトウェア開発キット(SDK)とは?

Developers rely on software kits to build applications.

ソフトウェア開発者にとって、既存のフレームワークの中でアプリケーションを構築するために、ソフトウェア開発キットは不可欠です。

ソフトウェア開発キットは、SDKとも呼ばれ、ソフトウェア開発者が既存のフレームワーク内でアプリケーションを構築できるようにするツールや共有コードライブラリのセットです。

SDKはアプリケーションの構成要素であり、アプリケーションを構築し、複数のプラットフォームで分配するために必要なツールを提供します。SDKは、アプリケーション間の統合を容易にすることを目的としています。通常、既存のシステムと統合するために必要なアプリケーションプログラムインタフェースやその他のツール、およびそれらのシステムと連携するプログラムを構築するために必要なすべてのドキュメントが含まれています。

SDKには、作成するアプリに応じて、さまざまなコンポーネントが含まれます。ライブラリ、アプリケーションプログラミングインターフェイス(API)、統合開発環境(IDE)は、特定のSDKでは一般的なものです。また、テストツールやコンパイラも多くのSDKに含まれています。

SDKは、安定性と安全性、使いやすさ、バグのなさ、機能性、文書化、迅速な統合、スケーラブルであるべきです。また最小限の労力ですぐに利用できます。

ソフトウェア開発キットを利用するメリット

ほとんどすべてのテクノロジーソリューションには、それに関連した開発キットがあります。SDKの目的は、プログラマーがAPIにアクセスできるようにし、そのプラットフォームと互換性のあるアプリケーションやソフトウェアを構築できるようにすることです。そのために、SDKには必要なビルディングブロックが含まれています。

SDKに含まれているもの SDKの導入メリット
  • コンパイラ
  • デバッガ
  • API
  • ドキュメンテーション
  • ライブラリ
  • 編集者
  • ランタイムと開発環境
  • テスト・解析ツール
  • ドライバ
  • ネットワークプロトコル
  • 基本テストプロジェクト
  • コスト削減(ユーザーには無料で提供されます)
  • プラットフォームへのアクセスおよびその動作の把握
  • 豊富なドキュメントとコードライブラリ
  • デバッグプロセスに有効なドキュメント
  • アプリケーションを他のプラットフォームにシームレスに移行するための、低レベルのAPIへのアクセス
  • 豊富なテストツール
  • プロセスの簡素化と機能性の向上
  • さまざまなプログラミング言語との互換性
  • 時間の節約
  • 機能性の向上
  • ブランドの信頼性向上
  • カスタマイズ可能

APIとSDKの比較

APIとは、開発者とソフトウェアプログラムが相互に通信できるようにするためのコードの断片のことです。SDKは、開発者がアプリケーションの開発を始めるために必要なすべてのツールを含んでいます。APIは新しいアプリケーションを作成するために使用することはできません。APIは、アプリケーション間の通信を可能にします。APIは通常、SDKの中に含まれ、異なる機能を果たす多くの種類があります。

SDKはプログラムのバックボーンまたはフレームワークであると考え、そのフレームワークの中にアプリケーション間の通信と統合を可能にするAPI機能があります。SDKはAPIを保持しますが、APIはSDKを保持しません。

ウインドリバーのアプローチ

The VxWorks SDK provides APIs, debugging capabilities, and more

VxWorks SDKは、API、OSドキュメント、デバッギング機能などを提供します。

VxWorks

VxWorks® は、さまざまな業界で超高信頼性とミッションクリティカルな組込みシステムの設計に使用されている最高のリアルタイム オペレーティング システム(RTOS)で、柔軟性、パフォーマンス、開発の加速化を提供します。VxWorksを使用することで、組込みシステムのメーカーは、信頼性や性能を犠牲にすることなく、新しい主流の開発手法を取り入れ、ハードウェア最適化を改善し、既存のIPへの投資を最大限に活用することができます。

VxWorks SDKの機能

  • カーネル内およびユーザレベルのリアルタイムプロセス(RTP)向け
  • カーネルシェル、コマンドライン、Microsoft VS Codeからデバッグする機能
  • OSの完全なドキュメント
  • OpenCVやIoTエージェントなど、他のlab.windriver.comのプロジェクトを構築する機能

» VxWorksの詳細はこちら » VxWorks SDKをダウンロードする

Wind River Labs

ウインドリバーは、オープンソースプロジェクト、プレリリース機能、Wind River Labsを通じた社内エンジニアリングプロジェクトなど、革新的な新しいテクノロジーへのアクセスを提供しています。 Wind River Labsは、OpenCV、ROS2などのVxWorks プロジェクトへの無償アクセスとAWS、Azure、Googleなどのクラウドプラットフォーム用SDKを提供します。最先端技術へのアクセスやウインドリバーのエンジニアとの直接のコラボレーションにより、VxWorksのお客様はより早くイノベーションを実現することができます。

Wind River Labsが対応するプラットフォーム:

  • QEMU (x86-64)
  • QEMU (sabrelite)
  • Raspberry Pi 3B/3B+
  • Raspberry Pi 4B
  • UP Squared
  • NXP i.MX 8M Quad Evaluation Kit (EVK)
  • Microchip Polarfire SoC Icicle Kit (RISC-V)
  • Sifive Hifive Unleashed (RISC-V)

» Wind River Labsの詳細はこちら

Wind River Linux Distro

Wind River Linux Distroは、ウインドリバーのソースコードベースのLinux製品から作成されています。ウインドリバーが組込みデバイスハードウェアとオープンソースソフトウェアに行った多大な投資を活用したいが、Linuxをソースから構築する時間と労力を省きたいインテリジェントエッジソリューション開発者を対象としたバイナリディストリビューションです。

本ディストリビューションは、ソリューション開発者がバイナリイメージから目的に応じたLinux OSを作成するための複数のアプローチを提供します。これらのアプローチには、マイクロスタートのセルフデプロイイメージ、Linux Assembly Tool (LAT)、dnfパッケージフィード、Docker Hub上のコンテナベースイメージ、およびSDKが含まれます。また、修正プログラムの配布や、イメージを新しいリリースにアップグレードするために使用できるOSTreeアップデートを提供します。ソリューション開発者は、独自のイメージ、コンテナ、パッケージ、パッケージフィード、さらに独自のOSTreeアップデートフィードを作成することができます。

Wind River Linux Distroは、Linuxカーネルのカスタマイズの必要性が限られている場合、ラピッドプロトタイピングおよびデプロイメントに最適な選択肢です。Yocto Projectベースのソース製品であるWind River Linuxよりも、必要なリソースが大幅に少なくなります。

» 詳細はこちら

Wind River Linux Wind River Linux Distro
  • 完全なカスタマイズ性
  • カーネルの修正
  • カタログ化され、今後のリリースで再現可能なカスタマイゼーション
  • 容易な変更の追跡とイメージの再現
  • 開発者の大規模なコミュニティによる支援と機能拡張
  • ベンダーロックインがないYocto Project 代替品
  • サードパーティによるYocto Project対応レイヤーの提供
  • イメージに合わせたアプリ開発SDK
  • より小さなプラットフォームイメージ
  • マルチデバイスでのプロジェクトの成功の可能性
  • タイムトゥーバリューまでの時間の短縮 (数日から数分に短縮)
  • カジュアルなLinuxユーザーにとってより親しみやすいアプローチ
  • イメージ作成の簡素化
  • 反復的なアプローチが可能(初期段階での計画の必要性が少ない)
  • イメージをカスタマイズする複数の方法:LAT、DNF、OSTreeなど
  • 容易な学習
  • プラットフォームとアプリケーション開発者の労力削減