マネー報道 MoneyReport

マネーにまつわる報道を取り上げ、自分の切り口で切り取り、噛み砕いてお伝えします。

スマートフォンのアプリ開発環境選択肢。CordovaにTitanium、JavaScriptでハイブリッドアプリ開発!

スポンサーリンク
あとで読む

スマホアプリが作りたい

昨日はここ最近の私のもやもやを書いてみました。

「スマホアプリが作ってみたい!でも開発環境はどれが良いのか分からない(ToT)/」

というものです(^-^;

いえ、プログラムの開発をされない方からすれば

「どれでも良いから始めてみて、イマイチだったら他のに乗り換えれば?」

と思われるかな、と。
ところがですね、新しい開発環境を揃えたり、新しい開発言語を覚えたりって結構エネルギーを使うんですよ(^-^;
しかも着手した開発言語がマイナーで他とは似ても似つかない様な言語だと苦労しますし、それでいて「やっぱりこの開発環境じゃ自分の作りたい物は作れなかった!」と分かって開発言語を乗り換えると、その苦労して覚えた開発言語は大抵二度といかされることはない、という(;_;)

開発環境選びのスタートで間違うと、膨大な労力を使った上で結局「自分の手には何も残らなかった(;_;)」みたいな悲劇が起きてしまったりするので、きちんと下調べをしつつ、諸先輩方の意見に真摯に耳を傾けて、最良の答え『開発しやすく、これからも生き残り、将来的な発展も望める開発環境(開発言語)』を探す必要があります。

現れては消え、現れては消えしていった開発環境や開発言語、ハードウェアなんて星の数ほどあるんじゃないかと(^o^;

そんな消えていく星ではなくて、これからも輝き続ける星(開発環境)を探すべく、皆さんのアドバイスに耳を傾けたいと思います(^-^)/

http://www.flickr.com/photos/26127430@N04/8670067888
photo by jalbertbowdenii

期待値

そうそう、私はようやくWebサイトをPHPで作れるようになった程度のプログラミングレベルです(^^;
ただ色々プログラムを書いていると楽しいので

「せっかくだからスマホアプリも作ってみたいな~♪」

という憧れにも似た欲求が出てきたので

「よっしゃー!まずは調べてみよう!」

という勢いになった所であります(^-^;
そんなアプリ開発素人ではありますが期待して頂ける声も頂いたので、まずはそちらからご紹介(^^)w

id:kokisinさん
あんなアプリがあったらいいのになぁ?、っていうのはたくさんあるんだけれど。。。マネーさん、期待してます。

ありがとうございます!
そんな皆さんの「あったらいいのにな♪」を形に出来るように精進して頑張ります!
まずは「Hello World!」アプリからで勘弁して下さい(^o^;

その内「アプリリクエストフォーム」なんかを作ってアプリアイデアネタを集めたいと思いますので、その時にはぜひぜひ皆さんアイデア応募をお願いします(^^)/

id:cardmicsさん
とうとうそちら側に!是非、SIMカード系のアプリを作って、割安なカードを導き出してほしいですw

いえいえ、ようやっとです。

SIMカードアプリですか!?
全く思いつきもしませんでした(^^;
アクセスした時点のMVNOのSIMカード料金比較とか、MVNOの最新ニュースがチェック出来れば良いですかね?
選択肢から「高速データ通信3GB迄、SMS付、通話不要」とかを選ぶと条件に合ったMVNOが安い順にランキング形式で表示されるとか!?

将来作るアプリアイデアリストに入れておきますね~(^-^)w

開発環境へのアドバイス

スマホアプリ開発に関して最適解が見えていない私に、開発者の皆様が色々とアドバイスを下さいました!
どうもありがとうございます(*^_^*)/

頂いた助言を見ていきましょう。

id:takafuuさん
ハイブリッド開発は色いろあるのですが、とっつきやすさでいえば例えばmonacaかなあ。日本産なので、英語で躓くってことは減ります。ちなみにphonegapですとgpsとか各種センサーは普通に扱えます。

ハイブリッドアプリ開発はCordova(PhoneGap)だけじゃないんですね!
Cordovaしか知りませんでした(^^;
Cordovaをクラウド化してWebサイト内で開発できるようになっているMonaca(モナカ)が、とっつきやすいんですね!
日本産で日本語表記という事でしょうかね?
それは開発初心者の方には嬉しいですね(^-^)w

ただ個人的なワガママを言わせてもらうと、開発マシンでガリガリ作る方が好きなので、Webサイト内の制約がある環境はちょっと避けたいかな、と(^^;

PhoneGap(Cordova)はスマホのGPSとか各種センサーを扱うことが出来るんですね!
素晴らしい!
HTMLやJavaScriptからスマホのGPSやカメラを使うことが出来る、と。
そげな事が出来るんですね~、もう十分な気がしてきました、PhoneGapで♪
ありがとうございます!!!


続きましては、よしみっちゃん (id:tomohiko_yoshimizu)さんから、Twitterで助言を頂きました。

Google先生に「JavaScript スマホアプリ開発」で聴いてみました!
色々と出てきました。
名前だけ羅列してみますが

  • Herlock.(FlashライクなコードでOpenGlを実装可能)
  • enchant.js(国産で簡単にゲームアプリが作れる)
  • Angular.js(PhoneGap用のフレームワーク。パフォーマンス高い)
  • jquerymobile(スマホでは動作遅いもUI構築簡単)
  • Sencha(米国のSencha社が開発したHTML5ベースのフレームワーク)
  • ChocolateChip(UIフレームワーク。iOSデザインテーマ有り)

とかでしょうかね?
すんごい、いっぱいあるんですね!
多すぎてどれから手を出して良いのか全く分かりません(T_T)

大人しくハイブリッドアプリ開発のCordovaにしようかな~(;_;)


続きまして

なるほど、作りたいものによって使う開発環境を決めると。
もっともなご意見ですね。
そこが朧気だと間違いますよね(^^;

とりあえず作りたいと思っているアプリは「固定URL読込みRSSリーダー」です。
スマホアプリ側だけでゴリゴリやるのではなくて、データ処理などの部分はWebサーバー側に任せて、スマホアプリ側は「見やすく表示」する事に特化させたいと考えています。

また激しい画面制御が必要なゲームとかは考えていません(>_<)
手軽に使える便利アプリや息抜きアプリ的な物を作りたいと考えています。

と、考えていくと何だかハイブリッドアプリ開発環境で十分な気がしてきました。
自分でも昨夜から少し調べていたのですが、ハイブリッド開発でもファイルサイズが大きい点やメモリ管理が甘くメモリを大きく使いがちなのは分かりましたが、今後さらにスマホの高性能化は進むでしょうから、将来的にはほとんど問題にならないだろうな~、と。

Titanium

ブコメでもう1つアドバイスを頂きました。

id:sawaken55さん
そんなあなたにTitanium

Titaniumですか?
初めて聞きました!

さらっと「Titanium」とだけ書かれていましが、非常に気になります!
調べてみたら、はてなブロガーでライターをされている川田寛 (id:furoshiki0223)さんという方の記事を見付けました。

HTML5ハイブリッドアプリ開発を支えるOSS「Cordova」はどのように課題を克服し、進化するのか? - ふろしき.js


ハイブリッドアプリも日々進化しています。3年前はPhoneGapもようやく1.0という状況でしたが、それも今ではCordova3.5ということで、ここに来るまで相当な進化があったんです。


従来のハイブリッド開発は、OS付属のWebViewを活用するというものでした。最近はそうではなく、自前のWebViewを内包して開発しようというアイデアがあります。その内包するためのWebViewとして、僕がいま注目しているいくつかのプロジェクトがあります。これらは、今のハイブリッドアプリの制約を改善する可能性を秘めていると考えています。

ふむふむ。
初期のハイブリッドアプリはイマイチだったようですね。
というかAndroidもVer2台の頃はイマイチでしたもんね~。
WebViewという物を使ってハイブリッド開発は進むようですね。


続いては、株式会社はてなの社員の方が書いた記事。

第1回 まずはTitaniumを体験してみよう:Titanium Mobileで作る! iPhone/Androidアプリ|gihyo.jp … 技術評論社

はじめまして,株式会社はてなでアプリケーションエンジニアをしている倉井龍太郎(id:r_kurain)と申します。この連載では,今もっとも注目集めているスマートフォンアプリ開発環境であるTitanium Mobile(以下Titaniumと省略)を使ったiPhone及びAndroidアプリケーションの開発方法について解説していきます。


Titaniumを利用する利点


複数デバイスでの対応を目的とする以外にも,Titaniumを採用する理由になる点が幾つかあります。ひとつは,Javascriptよるコーディングが可能となったことで,Objectice-Cでの開発では不可能だったメモリ管理が自動化される点です。Objective-Cでは参照カウンタを注意深く制御しないとしばしばメモリリークが発生しましたが,Titaniumでの開発は基本的にメモリの状態を意識することはありません。一方でこれは,細やかなメモリの管理が難しいという点でもあり,アプリの性質によっては注意が必要です。


もう一点は,コードが非常に簡潔になり開発速度が向上する点です。計測が難しい問題ではありますが,実際にTitaniumでの開発を体験することでその速度感を味わって頂けるのではないかと思います。

アプリケーションエンジニアなんですね!
格好良い響き!

Objective-Cはメモリの参照カウンタ制御なんて入るんですか!?
絶対やめます(TOT)
怖すぎます!

Titanium良さげですね~。

Titaniumのインストールについては下記リンクの「Titaniumインストールガイド」が良さそうです。

Titanium™ インストールガイド


Titaniumインストールガイドは Titanium Mobile ユーザー会の提供でお送りしております。

ありがとうございます!
CordovaTitaniumの2つの開発環境を試してみようと思います!

ハイブリッドアプリ開発環境でスマホアプリを作る事に決めました(*^_^*)/