2014年07月02日
2014/07/02 スマホアプリフレームワークでどれを選ぶ?
ずいぶん前から、AndroidとiOSで、Javaのように「Write Once Run Anywhere」と言う訳に行かないのか?
結局、Javaでも書き直しの部分はあるようですけどねw
ですが、一から両方のアプリを作成することを考えると、フレームワークはあった方がよいですね。
見た目重視
よくクライアントと問題になるのは、見た目です。
Servletがはやり始めた頃、2000年前後でしょうか?ワールドカップの年だと記憶しています。
何故そんなことを。。。(仕事をサボって近くのガストに観戦しにいっていた輩がいたから記憶に残っています。人が仕事しているのに。。。)
話が脱線しましたが、顧客からサポートしなければならないブラウザを指定されます。
そのブラウザで表示が崩れないことを確認していたのですが、残念な問題が発生!
このラインの太さが違うとか、ボールド時の文字の太さが違うとか。。。
ブラウザが違うのだから見た目に多少に違いはあります。
ですが、それを常識として認識していなかった上層部は納品ができないとか何とかで。。。
これと同じことが、iOSやAndroidの世界で一昔前に起きていました。
iPhoneのUIに合わせてくださいとか。。。見た目は、OSが違うのだから違ってきます。
クライアントにはあらかじめ確認をする必要があります。
「今回の開発では、iOSとAndroidの見た目を統一することはいたしません。なぜなら、その見た目統一の為に、多大なコストが掛かるからですw」
見た目問題を回避できたとすれば、次はどのフレームワークを選ぶかですね。
どのと言うよりは、どちらの(PhoneGap、Titanium)?というべきなんですねw
サクサクっと調べてみます。
「PhoneGapとTitanium – ウェブの知識でネイティブアプリを開発する」
「次のモバイルアプリはどのフレームワークで作る? 」
さらに、こんな情報も
「Firefox OS 開発者向け端末の国内入手について」
ついに、Firefox OSの載った端末が手に入るとか、入らないとか?
PhoneGap
サクサクと読んだ感じで行くと、HTMLで画面作れるのがPhoneGapです。PhoneGapの開発はDreamweaver(ドリームウィーバーですよw)でできるとか。。。イベントドリブンの処理に関しては、JavaScriptで記述するようです。ででで、さらに読んでいくと「通常ブラウザでは扱えないカメラやセンサに関しては。。。」という文言を読む限りブラウザで動作させることが想像できます。
推測ですが、Firefoxにそのまま移植できそうな感じがしますが、どの道、カメラ、センサは独自実装になることでしょう。
と言う所が特徴でしょう。
さらに、PhoneGap Buildなどと言うサービスを利用すれば、iOS、Android、Blackberry、WebOS、symbian等にも対応できるようです。
「PhoneGap Buildで会社案内アプリを楽して作る」
Titanium
JavaScript(以後JS)で体裁を整えるらしいです。PhoneGapと大きく違いは、作成したものからネイティブなソースを生成するところでしょうか?
(PhoneGap Build使えばできるでしょ。。。)
つまり、JSで書いたコードをそれぞれのプラットフォームに対応したネイティブコード(Cとかって意味じゃないですよw)を出力するところが違うのでしょう。
つまり、作ったものと出来上がるもののイメージが違うこともあります。もっとも良く例に挙げられているのは、タブです。
タブの位置が上か下か。。。
機能的には、どちらでもいい話ですが、クライアントによっては「違うじゃないか」と言われてしまうのでしょう。
「偉い人にはわからんのですよ」(ガンダム ジオング 足が無い で検索すると出てくるかもw)
結果的にどちらを選ぶ?
どちらを選ぶかって話になったときに、カメラやセンサを使わないなら、PhoneGapですね。
これも、現状では改善されているかもしれませんが、以前Androidでは、センサの戻り値や、カメラの設定が値が機種によって違うと言う話を耳にしました。
HALでハードウェアの違いを吸収し切れていないために、戻り値が他の機種と異なる範囲で帰ってきたりするわけです。
この部分を、組み込んでしまっているPhoneGapで対応しきれるのかと言う不安があります。
さくっと作るなら、PhoneGapなんでしょうか?でも、開発環境がDreamweaverらしので。。。お金が掛かりますよね。なになにテキストエディタで書けと。。。
その点、Titaniumの開発環境はTitanium StudioはEclipseベースらしくEclipseユーザにとっては使いやすいと思いますが、JSでレイアウトはしんどいですねw
結局、Javaでも書き直しの部分はあるようですけどねw
ですが、一から両方のアプリを作成することを考えると、フレームワークはあった方がよいですね。
見た目重視
よくクライアントと問題になるのは、見た目です。
Servletがはやり始めた頃、2000年前後でしょうか?ワールドカップの年だと記憶しています。
何故そんなことを。。。(仕事をサボって近くのガストに観戦しにいっていた輩がいたから記憶に残っています。人が仕事しているのに。。。)
話が脱線しましたが、顧客からサポートしなければならないブラウザを指定されます。
そのブラウザで表示が崩れないことを確認していたのですが、残念な問題が発生!
このラインの太さが違うとか、ボールド時の文字の太さが違うとか。。。
ブラウザが違うのだから見た目に多少に違いはあります。
ですが、それを常識として認識していなかった上層部は納品ができないとか何とかで。。。
これと同じことが、iOSやAndroidの世界で一昔前に起きていました。
iPhoneのUIに合わせてくださいとか。。。見た目は、OSが違うのだから違ってきます。
クライアントにはあらかじめ確認をする必要があります。
「今回の開発では、iOSとAndroidの見た目を統一することはいたしません。なぜなら、その見た目統一の為に、多大なコストが掛かるからですw」
見た目問題を回避できたとすれば、次はどのフレームワークを選ぶかですね。
どのと言うよりは、どちらの(PhoneGap、Titanium)?というべきなんですねw
サクサクっと調べてみます。
「PhoneGapとTitanium – ウェブの知識でネイティブアプリを開発する」
「次のモバイルアプリはどのフレームワークで作る? 」
さらに、こんな情報も
「Firefox OS 開発者向け端末の国内入手について」
ついに、Firefox OSの載った端末が手に入るとか、入らないとか?
PhoneGap
サクサクと読んだ感じで行くと、HTMLで画面作れるのがPhoneGapです。PhoneGapの開発はDreamweaver(ドリームウィーバーですよw)でできるとか。。。イベントドリブンの処理に関しては、JavaScriptで記述するようです。ででで、さらに読んでいくと「通常ブラウザでは扱えないカメラやセンサに関しては。。。」という文言を読む限りブラウザで動作させることが想像できます。
推測ですが、Firefoxにそのまま移植できそうな感じがしますが、どの道、カメラ、センサは独自実装になることでしょう。
と言う所が特徴でしょう。
さらに、PhoneGap Buildなどと言うサービスを利用すれば、iOS、Android、Blackberry、WebOS、symbian等にも対応できるようです。
「PhoneGap Buildで会社案内アプリを楽して作る」
Titanium
JavaScript(以後JS)で体裁を整えるらしいです。PhoneGapと大きく違いは、作成したものからネイティブなソースを生成するところでしょうか?
(PhoneGap Build使えばできるでしょ。。。)
つまり、JSで書いたコードをそれぞれのプラットフォームに対応したネイティブコード(Cとかって意味じゃないですよw)を出力するところが違うのでしょう。
つまり、作ったものと出来上がるもののイメージが違うこともあります。もっとも良く例に挙げられているのは、タブです。
タブの位置が上か下か。。。
機能的には、どちらでもいい話ですが、クライアントによっては「違うじゃないか」と言われてしまうのでしょう。
「偉い人にはわからんのですよ」(ガンダム ジオング 足が無い で検索すると出てくるかもw)
結果的にどちらを選ぶ?
どちらを選ぶかって話になったときに、カメラやセンサを使わないなら、PhoneGapですね。
これも、現状では改善されているかもしれませんが、以前Androidでは、センサの戻り値や、カメラの設定が値が機種によって違うと言う話を耳にしました。
HALでハードウェアの違いを吸収し切れていないために、戻り値が他の機種と異なる範囲で帰ってきたりするわけです。
この部分を、組み込んでしまっているPhoneGapで対応しきれるのかと言う不安があります。
さくっと作るなら、PhoneGapなんでしょうか?でも、開発環境がDreamweaverらしので。。。お金が掛かりますよね。なになにテキストエディタで書けと。。。
その点、Titaniumの開発環境はTitanium StudioはEclipseベースらしくEclipseユーザにとっては使いやすいと思いますが、JSでレイアウトはしんどいですねw