-サーバ連携方法、オープンソースの使い方など様々なCurlの実際のソースコードの記述方法が集約されています。2011モバイル・アプリケーション開発を始める前に!こんにちは。Curl製品開発チームの岡田です。最近、そろそろモバイル・アプリケーションを開発着手していたり、検討に入っていたり、プロトを作ったり、アプリを開発して利用し始めている企業が増えてきています。そこで、今回はモバイル・アプリケーションの開発を始める前に知っておいた方がいいと思われることをご紹介していこうと思います。出されたレポートによりますと、昨年まではAndroidが人気だったようですが最近ではiOSが人気になっているようです。http://www.appcelerator.com/thinkmobile/surveysとは言え、Androidもまだまだ人気はあるみたいです。Phoneは、日本ではまだデバイスが少ないので人気は薄いと思いますが、我々のセミナーに来られる方のアンケートの集計によると、期待されている方が多くいるように感じます。PhoneやWindows8のニーズが多くなって来るのではないかと思っています。実際に使ってみた感想ですが、iOSの方が安定しており、パフォーマンスもいいように感じます。Androidはマルウェアなど多く出没しており、セキュリティ面で多く問題を持っています。キャリアやデバイスの選択肢などを考えるとAndroidの方が融通が効きそうです。ちなみに、私はAndroidを持っています。企業などで導入する際は、どれかに固定するのか、どれでも動くようなアプリが必要であるのかは、検討要素の1つとして考える必要はあると思います。現在、モバイル・アプリケーション開発をする方式としては、3つあります。Web方式ネイティブ方式ハイブリッド方式Web方式とは、モバイル上でブラウザからアクセスするHTML/JavaScript/CSSでプログラミングされた通常のWebアプリです。Webアプリとの相違はモバイルからアクセスするとモバイルに合わせたレイアウトで表示するような方式です。一般のWebサイトなどはこちらで作成することが多いと思われます。Market)などからダウンロードして、デバイスにインストールする形式のアプリケーションです。この2つの違いは開発の方法が違います。ネイティブ方式の開発方法は、iOSであればAppleが提供しているXcode上でObjective-Cという言語を利用して開発し、AndroidであればGoogleが提供しているAndroidSDKを使ってJavaで開発することになります。その他のプラットフォームもそれぞれの言語を利用して開発することになります。メリットはハイパフォーマンスであり、細かい開発も可能で、カメラやセンサーなどをコントロールできるという点です。ハイブリッド方式とは、Web方式のHTML5などを利用して、1つの言語でAndroid・iOSなどのプラットフォーム上で動くアプリを作れるための開発ツールです。これももちろんカメラやセンサーなどをコントロールできるように開発ツール側で提供されています。ネイティブ方式ほどはハイパフォーマンスではありませんし、機能制限もあります。マルチプラットフォーム対応をする必要がある場合には、生産性という面で非常に優れています。ちなみに、Facebookモバイルアプリもハイブリッド方式で開発しているとのことです。http://www.readwriteweb.com/mobile/2011/...design.phpこのことを考えると、ネイティブアプリで、iOSのObjective-CやAndroidのJava、さらには他のプラットフォームの技術を理解しているエンジニアを多く集めることは非常に難しいのではないかと思います。そのため、デスクトップやWebアプリと共通の技術で開発できるハイブリッド方式というものは、企業が導入するためにも重要な要素となってくるのではないかと思います。個人アプリを作るのであれば、個人の力でいくつかの技術を習得できれば開発できますが、企業のアプリですと、大人数のエンジニアを必要とするケースが多く、ネイティブで開発して、その後保守していくのはコスト的に負担が大きいかもしれません。いった懸念事項を解消できるのであれば、ネイティブ方式がハイパフォーマンスかつ細かい実装も可能ですので、個人的にお勧めです。下に3つの方式をまとめておきました。利用ケースもまとめておきました。これ以外にもあると思いますのでコメントいただければと思います。(個人的な視点も入っていますので参考まで。)ハイブリッド・モバイル・アプリケーション開発ツールWeb方式を選択した場合は、基本的には従来の開発ツールと同様です。ネイティブ方式を選択した場合、基本的に開発ツールは、iOSならXcode、AndroidならEclipseを利用することになると思います。ハイブリッド方式を選択した場合、いろんなモバイル・アプリ開発ツールがあります。以下のようなものです。...etc各ツールにはそれぞれ特徴がありますが、検証・選択の際に、以下のようにランキングなどもありますので、参考になると思います。http://www.infoq.com/news/2012/02/Cross-Platform-ToolsCaedeのメリット最後に、我々の製品も売り込んでおきます!Caedeはハイブリッド方式をとっている製品であり、他のハイブリッド製品群と同様のメリットがあります。フレームワークを使うことになると思います。それらのフレームワークを検証及び選択し、勉強しなければならないという必要性がさらにプラスとして出てきます。HTML/JavaScript/CSSについては、既にご存知の方が多いのでメリットは非常に多いと思います。Caedeは、Curl言語1つで見た目部分もロジック部分もフレームワークに対応する部分も記述可能ということがメリットです。Curl言語を知らない場合は、Javaなどを知っていると比較的すんなりと習得できると思いますが、勉強する必要があります。モバイルだけのクロスプラットフォームのみならず、デスクトップ上(Windows、Mac、Linux)のリッチクライアント・アプリもCurl言語1つのみで開発可能です。この1つの言語で作ったアプリケーションがデスクトップとモバイル両方の環境で動作する「ワンソース・マルチユース」というメリットが最大の特徴です。投稿したいと思います。