第1及び第2のプラットフォームのそれぞれに対応し互いに同一機能の第1及び第2のネイティブライブラリと、該第1のネイティブライブラリと該第2のネイティブライブラリとで共通に用いられ、第1の中間言語で該ネイティブライブラリ内の関数又はメソッドを呼出可能にする第1ラッパークラスと、該第1のネイティブライブラリと該第2のネイティブライブラリとで共通に用いられ、第2の中間言語で該ネイティブライブラリ内の関数又はメソッドを呼出可能にする第2ラッパークラスと、を有し、該第1及び第2のネイティブライブラリ並びに該第1ラッパークラス及び該第2ラッパークラスを中間言語用拡張ライブラリとして備えていることを特徴とするソフトウェア開発キット。該ネイティブライブラリは、複数のネイティブ関数又はネイティブメソッドをネイティブサブルーチンとして備え、該第1ラッパークラスは、該複数のネイティブサブルーチンのそれぞれについて、該第1の中間言語で記述された関数呼出しに応答して、該第1の中間言語で記述された関数呼出しコードの各引数の型を該ネイティブサブルーチンの対応する引数の型に変換して該ネイティブサブルーチンを呼出し、該ネイティブサブルーチンの戻り値の型を該第1の中間言語の対応する型に変換して該第1の中間言語で記述された関数の呼び出し元に返す型変換メソッドを備え、該第2ラッパークラスは、該複数のネイティブサブルーチンのそれぞれについて、該第2の中間言語で記述された関数呼出しに応答して、該第2の中間言語で記述された関数呼出しコードの各引数の型を該ネイティブサブルーチンの対応する引数の型に変換して該ネイティブサブルーチンを呼出し、該ネイティブサブルーチンの戻り値の型を該第2の中間言語の対応する型に変換して該第2の中間言語で記述された関数の呼び出し元に返す型変換メソッドを備えている、ことを特徴とする請求項1に記載のソフトウェア開発キット。該第1の中間言語はCの中間言語であり、該第2の中間言語はJava登録商標の中間言語であることを特徴とする請求項1又は2に記載のソフトウェア開発キット。画像形成装置のWebサービスと通信するWebサービスインターフェイスをさらに備えていることを特徴とする請求項1乃至3のいずれか1つに記載のソフトウェア開発キット。携帯端末のユーザアプリケーション開発用であることを特徴とする請求項1乃至4のいずれか1つに記載のソフトウェア開発キット。本発明の目的は、このような問題点に鑑み、ネイティブライブラリを用い且つマルチプラットフォーム及びマルチ言語に対応した、構成が簡単なソフトウェア開発キットを提供することにある。本発明によるソフトウェア開発キットの第1態様では、第1及び第2のプラットフォームのそれぞれに対応し互いに同一機能の第1及び第2のネイティブライブラリと、該第1のネイティブライブラリと該第2のネイティブライブラリとで共通に用いられ、第1の中間言語で該ネイティブライブラリ内の関数又はメソッドを呼出可能にする第1ラッパークラスと、該第1のネイティブライブラリと該第2のネイティブライブラリとで共通に用いられ、第2の中間言語で該ネイティブライブラリ内の関数又はメソッドを呼出可能にする第2ラッパークラスとを有し、該第1及び第2のネイティブライブラリ並びに該第1ラッパークラス及び該第2ラッパークラスを中間言語用拡張ライブラリとして備えている。上記第1態様の構成によれば、例えばC/C言語で、プラットフォーム毎に、互いに同一機能のネイティブライブラリを作成しておき、各ネイティブライブラリに共通のマルチ言語対応ラッパークラスを作成することにより、高速処理が可能なネイティブライブラリを用いつつマルチプラットフォーム対応且つマルチ言語対応のソフトウェア開発キットを容易に作成することができるという効果を奏し、特に、各種スマートフォンアプリケーション用ソフトウェア開発キットの構成の簡単化に寄与するところが大きい。本発明の他の目的、特徴的な構成及び効果は、以下の説明を特許請求の範囲及び図面の記載と関係づけて読むことにより明らかになる。図1は、本発明の実施例1に係る、複数のクラウドサービスを利用する画像形成システムの概略構成図である。このシステムでは、イントラネット10に、画像形成装置11と、ユーザ端末としてのパーソナルコンピュータPC12と、無線LANのアクセスポイント13とが結合され、スマートフォン14がアクセスポイント13を介してイントラネット10に結合される。このイントラネット10がルータ不図示を介してインターネット20に結合される。インターネット20には、複数のクラウド21~23が結合されている。また、インターネット20に基地局24が結合され、スマートフォン14及び25から基地局24を介しイントラネット10に結合される。複数のクラウド21~23はそれぞれ、クラウドサービス31~33を各種クライアント端末に対し提供可能となっている。ユーザは、PC12、スマートフォン14及び25などに拡張アプリケーションをインストールすることにより、これらからWebサービスとして、画像形成装置11のコピー、プリント及びファクシミリなどの基本的なサービスやクラウドサービス31~33並びにこれらサービスを組み合わせたものを実行したり、画像形成装置11の設定情報を取得したり、この設定を変更したりすることが可能となる。図1では、簡単化の為に、複数のPC端末を1つのPC12で代表し、アクセスポイント13に対する複数の携帯端末を1つのスマートフォン14で代表し、基地局24に対する複数の携帯端末を1つのスマートフォン25で代表している。図2は、画像形成装置11の階層構造を示すブロック図である。画像形成装置11は、ハードウェアとしてスキャナ40、プリンタ41、FAX42、操作パネル43及びネットワークインターフェイスNIC44を備え、プラットフォーム50を介してそれぞれの基本的な入出力制御を行うことが可能となっている。プラットフォーム50は、前記制御を行ったり、電源を管理したり、TCP/IPなどのプロトコルで通信したりするオペレーティングシステムOSと、OSの下層の各種デバイスドライバと、OS上のJava登録商標VMやCLRCommonLanguageRuntimeなどの仮想マシンクラスライブラリと、標準ライブラリとを備えている。制御モジュール51は、拡張クラスライブラリであって、プラットフォーム50のAPI52を介してこれらハードウェアのそれぞれを機能単位で制御可能となっている。基本アプリケーション53は、制御モジュール51のAPI54を介し、ハードウェア40~44をコピー、プリント及びファクシミリなどのような論理的な機能単位で制御可能となっている。ハードウェア40~44に対する設定情報は、操作パネル43の操作に応答して、制御モジュール51により設定情報データベース55に格納され、また、格納された設定情報は、操作パネル43の操作に応答して制御モジュール51により、操作パネル43に表示される。システム管理部56は、API52又はAPI54を介して、ユーザに対する認証、認可の処理を行ったり、エラー管理を行ったり、省電力管理を行ったりする。PC12又はスマートフォン14若しくは25から画像形成装置11へのサービス要求は、NIC44及びプラットフォーム50を介してWebサービスプロバイダ57に伝えられ、Webサービスプロバイダ57はその要求に応じて、API58を介し基本アプリケーション53を動作させ、API54を介し設定情報データベース55から設定情報を読み出し又は設定情報データベース55の設定を変更し、それらの結果を返信する。図3は、スマートフォン14の階層構造を示すブロック図である。スマートフォン14は、ハードウェアとしてカメラ60、傾きセンサ61、ブルーツース通信部62、操作パネル63及び通信アダプタ64などを備え、通信アダプタ64にアンテナ65が結合され、プラットフォーム70を介してそれぞれの基本的な入出力制御を行うことが可能となっている。プラットフォーム70は、前記制御を行ったり、電源を管理したり、TCP/IPなどのプロトコルで通信したりするOSと、OSの下層の各種デバイスドライバと、OS上の仮想マシンと、標準ライブラリとを備えている。制御モジュール71は、拡張クラスライブラリであって、プラットフォーム70のAPI72を介してこれらハードウェアのそれぞれを機能単位で制御可能となっている。基本アプリケーション73は、ブラウザ、動画プレーヤ及びアドレス帳などを含み、制御モジュール71のAPI74を介し、ハードウェア60~64を論理的な機能単位で制御可能となっている。ハードウェア60~64に対する設定情報は、操作パネル63の操作に応答して、制御モジュール71により設定情報データベース75に格納され、また、格納された設定情報は、操作パネル63の操作に応答して制御モジュール71により、操作パネル63に表示される。システム管理部76は、API72又は74を介して、ユーザに対する認証、認可の処理を行ったり、エラー管理を行ったり、省電力管理を行ったりする。Webクライアント77は、操作パネル63の操作に応答してAPI72を介しそのURLにHTTPプロトコルで要求を送信し、返信された内容を操作パネル63に表示させる。拡張アプリケーションユーザアプリケーション78は、基本アプリケーション73のAPI79を介して、単一又は複数の機能の組み合わせを実行させ、API74を介し設定情報データベース75の設定情報を読み取って操作パネル63に表示させ又は設定情報データベース75の設定情報を変更させる。Webサービスインターフェイス7Aは、Webサービスを内部メソッドのように呼び出すためのサービスプロキシと、送信時に該メソッドの呼び出しをXMLに変換するシリアライザと、受信時にXMLを該メソッドの戻り値に変換するデシリアライザとを備えている。上記拡張アプリケーション78はまた、Webサービスインターフェイス7A及びWebクライアント77を介し画像形成装置11のWebサービスプロバイダ57又はクラウド21~23のサービス31~33に対し要求を行い、その結果を、Webクライアント77及びWebサービスインターフェイス7Aを介して受信し、その内容を操作パネル63に表示させる。図4は、PC12のハードウェア構成を示す概略ブロック図である。図5は、PC12をソフトウェア開発装置として利用する場合の概略機能ブロック図である。ホストコンピュータPC12では、CPU91がインターフェイス92を介してメモリ93、補助記憶装置94、会話型入出力装置95及びネットワークインターフェイス96に結合されている。図4では、簡単化の為に、複数種のインターフェイスを1つのブロック92で表している。メモリインターフェイス92は例えば、BIOSが格納されたフラッシュメモリと、主記憶装置として用いられるDRAMとを備えている。補助記憶装置94には、OS、各種デバイスドライバ、ライブラリ及び仮想マシンがプラットフォームPFとして格納され、さらにソフトウェア開発キットSDKが格納されている。ネットワークインターフェイス96は、イントラネット10に結合されている。このソフトウェア開発装置は、図3中の拡張アプリケーション78の開発を支援するものであり、ネイティブライブラリを備えてスマートフォンでの処理を高速化可能にするとともに、複数のプラットフォームのうちの任意の1つを搭載したスマートフォンの拡張アプリケーション78を開発可能にし、しかも、マルチ言語対応にしてプログラミング言語を選択可能にしている。図5中、構成要素72A、171、173~176及び179はそれぞれ図3中の構成要素72、71、73~76及び79に対応している。これら構成要素72A、171、173~176及び179は、図3中の対応する構成要素のうち、拡張アプリケーション78を開発するのに必要な部分のみを備えていればよい。ラッパーAPI172は、API110をラッパーすることによりAPI72と同じに見せかけるものである。PC12は、通常のSDKと同様に、テキストエディタ100、デザイナ101、デバッガ102及びビルダ103と、ユーザの操作に応答してこれらのいずれかを呼び出す処理やプロジェクト生成処理等を行うアプリ開発統合管理部104とを備えている。デザイナ101は、操作パネル63の画面設計のアプリケーション開発を支援するためのものであって、対話的ビジュアル設計に基づいてプログラムを自動生成するものである。ビルダ103は、複数の言語、例えばC、C、C及びJave登録商標のそれぞれに対応したコンパイラを備えている。ここで、図5の制御モジュール171は、アプリケーションレベルの通信や画像などを高速処理するクラスライブラリを備えており、これは、図6Aに示すように、C又はCのソースコードをコンパイルしたネイティブライブラリ120と、マルチ言語対応にするためC及びJava登録商標のラッパークラスのソースコードをコンパイルしたラッパーAPI121及び122とを備えている。C用ラッパーAPI121は、拡張アプリケーション78の中間コードの一部が、ネイティブライブラリ120内のC関数又はCクラスのメソッドネイティブサブルーチンを、Cのクラスのインスタンスのメソッドとして呼び出せるようにするためのクラスライブラリであり、Cの該メソッドのシグネチャをネイティブライブラリ120内のC関数又はCクラスのメソッドのシグネチャに変換する。ラッパーAPI121はまた、Cの方式でメモリ管理を行えるようにするメソッドも含んでいる。Java登録商標用ラッパーAPI122についても、C用ラッパーAPI121と同様である。ネイティブライブラリ120は、特定のプラットフォーム70PL1のOS又は/及びライブラリ、例えば.NETフレームワークの標準ライブラリを用いて作成されている。ラッパーAPI172は、ネイティブライブラリ120から見てプラットフォーム70をPL1と見なせるようにするためのものである。PC12はまた、図6Bに示すような制御モジュール171Aも備えている。制御モジュール171Aは、ネイティブライブラリ120と同一機能のネイティブライブラリ120Aと、C用ラッパーAPI121及びJava登録商標用ラッパーAPI122とを備え、これらラッパーAPI121及びAPI122は制御モジュール171のものと共用である。ネイティブライブラリ120Aは、他のプラットフォーム70PL2のOS又は/及びライブラリ、例えばLinax登録商標のクラスライブラリを用いて作成されている。ラッパーAPI172Aは、ネイティブライブラリ120Aから見てプラットフォーム70をPL2と見なせるようにするためのものである。上記共用を可能にするため、ネイティブライブラリ120A内の各メソッドのシグネチャはネイティブライブラリ120のそれと同一になっている。すなわち、ネイティブライブラリ120と120AのC又はCソースコードでの相違部分は、プラットフォームPL1とPL2のいずれのAPIを使用しているか及びその周辺部分であり、他は互いに同一である。図7Aは、制御モジュール171の作成手順を示す概略フローチャートである。S0プラットフォームPL1用のネイティブライブラリ120を作成する。このネイティブライブラリ120は、図7Bに示すようにラッパーAPI172クラスライブラリ内の例えばAPI1~API3を用いている。S1各言語用のラッパークラスライブラリ、すなわちラッパーAPI121及びラッパーAPI122を作成する。図8Aは、制御モジュール171Aの作成手順を示す概略フローチャートである。S10プラットフォームPL2用のネイティブライブラリ120Aを作成する。このネイティブライブラリ120Aは、図8Bに示すように、ラッパーAPI172A内の例えばAPI1A~API3Aを用いている。ラッパーAPI121及びAPI122は既に作成され、制御モジュール171のそれらと共用であるので、さらに作成する必要がない。図5に戻って、PC12はさらに、スマートフォン14のハードウェアに対応したシミュレータ105を備えている。入力装置950及び表示装置951は図4中の会話型入出力装置95を構成している。図5中、拡張アプリケーション78及びWebサービスインターフェイス7A中のサービスプロキシ以外は、開発環境として予め備えられている。本実施例1によれば、例えばC/C言語で、プラットフォーム毎に、互いに同一機能のネイティブライブラリ120、120Aを作成しておき、各ネイティブライブラリに共通のマルチ言語対応ラッパークラス121、122を作成することにより、高速処理が可能なネイティブライブラリを用いつつマルチプラットフォーム対応且つマルチ言語対応のソフトウェア開発キットを容易に作成することができるという効果を奏し、特に、各種スマートフォンアプリケーション用ソフトウェア開発キットの構成の簡単化に寄与するところが大きい。以上において、本発明の好適な実施例を説明したが、本発明には他にも種々の変形例が含まれ、上記各構成要素の機能を実現する他の構成を用いたもの、当業者であればこれらの構成又は機能から想到するであろう他の構成も、本発明に含まれる。例えば、ラッパーAPI120、122は、API174の一部であってもよい。換言すれば、ラッパーAPI120、122をAPI174の一部として用いる構成であってもよい。また、中間言語にコンパイルされるオブジェクト指向言語は、上記以外のものであってもよい。ネイティブライブラリはアセンブリ言語を一部又は全部用いて作成したものであってもよい。