10件表示Javaから見たアプリケーションプログラミングインタフェース1990年頃、サンのエンジニア、パトリック・ノートンは、自社のプログラミング言語C++とCのアプリケーションプログラミングインタフェース(API)と開発ツールに不満を募らせていた。その頃、NeXTが注目を浴びていたことがきっかけとなって、ノートンはサンでプログラミング環境の開発の仕事をすることになった。NeXTワークステーションと、その環境であるNEXTSTEPでは、主力の言語としてObjective-Cが開発されていた(余談になるが、その「直系の子孫」に当たるのは、macOSおよびiOSと、Swiftである)。した経緯のなかで「ステルスプロジェクト」が始まった。スマートフォンからフィーチャーフォンまでマルチデバイスに対応。MobileAppsは、モバイルサイト開発や運営に必要な基本機能を搭載したMobileAppsエンジンと、これを強化する追加プログラムであるMobileAppsプラグインの2つの製品がある。MobileAppsエンジンは、APIを公開しており、このAPIへ接続するプラグインにより、その機能を誰でも拡張することができる。MobileAppsプラグインにより、MobileAppsエンジンを強化する事で、サービス仕様に依存せずに、様々なモバイルサイトをマルチデバイスへ対応させて構築することができる。X向けに移植しやすくするために開発された。OpenGLから見たアプリケーションプログラミングインタフェースJOGLではC言語で使えるOpenGLのほぼ全ての機能をJNIによりJava言語で直接使えるようにしている。3DなどのJavaライブラリほどローレベルなAPIを隠さず、オブジェクト指向に沿った構造ではない。そのため、低オーバヘッドによる高速な実行が期待できるほか、C言語のコードをほぼそのままJavaへ移行できるが、代わりにソースコードは単調で長くなる傾向にある。フレッシュアイペディアより)ローダブル・カーネル・モジュールから見たアプリケーションプログラミングインタフェース概要で述べた通り、通常カーネル内にある関数名、構造体名などのシンボルはカーネルの外からは直接見えない。LKMのロードにはシンボル解決が必要であるが、シンボル解決するためにはinsmod等のモジュールローダを起動し、様々なチェックに通る必要がある。この時前述の通り、MODULE_LICENSEマクロにある文字列がチェックされる。シンボル名は通常、EXPORT_SYMBOLまたは、GPLにライセンスされたモジュールのみが参照可能なEXPORT_SYMBOL_GPLマクロに記述する。このマクロに記述されたシンボル名はモジュールローディング時にモジュールから参照できるようになるが、あらゆるライセンス用に提供されるEXPORT_SYMBOLとは異なり、EXPORT_SYMBOL_GPLマクロはプロプライエタリなモジュールからは一切参照できない。プロプライエタリなモジュールを作成する場合はEXPORT_SYMBOL_GPLマクロでエクスポートされている関数を利用できないことになる。プロプライエタリなモジュールを作成する企業にとっては、これは前述の汚染フラグとは比べものにならないほど厳しい制限に思える。Linuxカーネル開発者にとってはカーネル内の重要な処理に関する決定のイニシアティブを一貫してLinuxカーネルコミュニティが持つことができるという大きな利点がある。プロプライエタリなドライバはソースコードがない、もしくは自由な改変を許可していないものが多く、状況によりカーネルのAPIをはじめとして最新のカーネル開発状況に追随できていないものが存在する。そのようなドライバによるバグやシステムクラッシュが発生したとしてもソースコードを改変できないため、Linuxカーネルコミュニティ側では全く解決できない。これは昔からコミュニティの悩みの種となっているため、カーネル内の極めて重要なオブジェクトや、問題がひとたび発生するとシステムがクラッシュするような処理を最初からバイナリオンリードライバには実行できないようにしようとしたのである。UNIXのソースライセンスを得た上でバークレー校とのあいだでライセンス契約を結ぶ必要があった。Unixは広く普及した。BSDベースの商用UNIXも登場したが、これはAT&Tからバイナリ再配布ライセンスを得て販売されていたのであり、ソースコードは付属しておらず、カーネル再構成用にリロケータブルオブジェクトファイル(.oファイル)が添付されていた。BSD開発の中心となったのが、後にサン・マイクロシステムズの設立メンバーとなるビル・ジョイである。WindowsでBSDのTCP/IPのコードが使われた。それに伴うソケットAPIはネットワークAPIのデファクトスタンダードとなった。フレッシュアイペディアより)Drupalから見たアプリケーションプログラミングインタフェースその性能がコンテンツ管理から、幅広いサービスや商取引を可能にするにまで及ぶことから、Drupalは時々「ウェブアプリケーションフレームワーク」であると評される。Drupalは洗練されたプログラミングインタフェースを提供するものの、基本的なウェブサイトの設置と管理はプログラミングなしに成し遂げることができる。2.0フレームワークの一つであると考えられている。XML(SAX、サックス)とは、XML文書をアプリケーションソフトウェアから利用するためのAPI。インタラクティブ機能のために定義した仕様である。実装では、タイマ、ユーザー入力(リモコンなど)などの機能が提供される。ネットワークにアクセスして追加コンテンツをダウンロードしたり、2次記憶装置上のブックマークなどの情報にアクセスしたりできる。HTMLに似たXMLベースのマークアップ言語を使って書かれ、アプリケーションのロジックはECMAScriptを使って書かれる。APIから利用できる。ベースとしたXMLマークアップが使われ、タイマの設定にはSMILが使われる。