いわゆる
【クロスプラットフォーム(マルチプラットフォーム)】 … Win/Mac/Android/iOS
【ハイブリッドアプリ】 … ブラウザから直接利用することも、ネイティブアプリとしてインストールすることもできる
【ワンソース・マルチデバイス】
を目指しています。
(PCの古いブラウザは切り捨てるつもりです。)
まずFlashが思い浮かぶものの、「iOSではFlashは使えない」とか「Flash BuilderでiOSアプリが作れる」とか色々情報があって混乱しています。
Flash Builderはとても良さそうで惹かれているのですが高額で…。
あとはPhoneGap、appMobi、jQueryMobile、など色々あるようですが、利点と欠点が詳細にまとめられたようなページがなかなか見つけられず、いまいち見通しが立てられずにいます。
HTML5というものを使う以上、いくらフレームワークを使ったとしても結局はブラウザ間の違いを確認しきれないのでは?(動かないものを作ってしまうのでは?)という不安もあります。
そこで
「通常の作業工程を崩すことなく、HTML5、CSS3およびJavaScriptをネイティブに使用して、タブレットやスマートフォン、デスクトップも含めた最新の各種ブラウザー環境に対して均質なコンテンツ表示を提供できます。」
http://www.adobe.com/jp/products/creativecloud/tools.html
と宣うAdobe Edgeに目をつけているところですけれども、これって先月末に出たばかりなのですね。
ハイブリッドアプリの定義がよく分からないのですが、OSネイティブなアプリを意味しているのであれば、それはWebアプリとは呼べません。
ソースを一元化し、OSやブラウザに依存しないWebアプリと、OSネイティブなアプリを生成したいというご質問であれば、ソースはHTML5/JavaScript/CSSを選択するのが無難です。
Android/iOSのOSネイティブアプリをクロスプラットフォーム開発できる環境として有名なのはPhoneGapです。
http://gihyo.jp/dev/serial/01/phonegap/0001
http://thinkit.co.jp/story/2012/06/12/3579
ただし、PC/MacとAndroid/iOSとではデバイスの性質(画面解像度や搭載センサー類など)が全く異なりますので、両者のOSネイティブなアプリを生成する適当なツールは、いまのところ存在しません。
PC/MacとAndroid/iOSを一元化したいのであれば、Webアプリに限定するという選択肢になります。つまり、クライアント側はHTML5対応ブラウザで、サーバ側はJavaやPHPなどのサーバサイド言語を使う形になります。
ある人から「クロスプラットフォームなんて幻想」と言われたことがあります。
facebookはhtml5でクロスプラットフォームを試みましたが失敗し、ネイティブで作り直しました。
どんな機能を持ったアプリを作りたいのでしょうか。条件を出していけばそれにあった最適な方法が浮かび上がってくるはずです。
ウェブデザインのクロスプラットフォーム化なら、レスポンシブデザインでぐぐってみてください。
たしかに幻想なのではないだろうかという危惧はありますが、それでも諦めずに追い求めたいものです。
facebookは成功例だと思っていたのですが失敗だったのですか。勉強になりました。
レスポンシブデザインは、単に「異なる画面サイズ」に対応するのが主で、ブラウザごとの微妙なレンダリングの違いに関するものではないという把握ですが…
色々とやりたいことはあるので、
「いま自分はこういうアプリを作りたい」
という観点から探すのでなく、まず
「こういうときにはこれを使うのが最適」
という全体的な見通しを立てたいと思っています。
java
具体的には?
Javaアプレットは、スマートフォンのブラウザでは動作しないみたいですよ。
かつて、「Javaなら環境に依存しない」といったようなことが言われていて心動かされたものですが。
PhoneGapが有名なのは知っています。
2012/10/13 15:48:13残念ながら、ご紹介していただいたページはどれも既に見たことがあります。