NEWS ABOUT SERVICE WORKS TEAM BLOG RECRUIT お問い合わせ JP EN

個人アプリ開発のあんなこと、こんなこと

個人アプリ開発のあんなこと、こんなこと

こんにちは!6月末に入社して丁度3ヶ月、システム担当新入社員の藤野です。

新入社員と言っても中途入社、つい先日34歳を迎えたアンフレッシュな新人です。
これまで公立中学校で理科講師として教壇に立ったり、年齢なりにいろいろ経験してきました。
教職からエンジニアというとなかなかレアな経歴と思われますが、私が現在この職に就いている第一の理由は、自分で「こんなサービスあったらいいな!」と思うようなサービスを作ってみたいという理由からです。

三十路を目前にしてWeb業界に転職し、半分独学で個人でWebサービス、iPhoneアプリ、Androidアプリをリリースするために私がやってきたことをご紹介します。

 

作ったもの

iPhoneの衝撃が世間を騒がせ日本でもスマートフォンの普及が急速に拡大していった2010年くらいのある日、電車に乗っていてある光景を目にしました。
向かいのナイスミドルなスーツ姿のおじさまが、学生が使うような暗記カード(表に英単語、裏に日本語訳が書いてあるようなアレです。)の束を繰ってコツコツと何かを勉強されていたのです。
それを見て閃きました。「何歳になってもああやって勉強する方はたくさんいる!スマートフォンが当たり前になりつつある今あのカードの束を持ち歩くのは面倒くさい。アプリにしてしまったらいいんじゃないか!?」と。
さらに「一人でカードを作って勉強するのは根気がいる。同じような事を勉強している人たちとカードをシェアしてみんなで勉強できたら楽しいんじゃないか!?」
さらに「今流行のソーシャル、ゲーミフィケーションの要素を取り入れてみんなで楽しく勉強できるサービスを作ってしまおう!」と。。

そんな訳で作ったのが「ソーシャル暗記カード『みんドリ』」です。(みんなのドリルの略です)

ソーシャル暗記カード『みんドリ』

ソーシャル暗記カード『みんドリ』

 

スピーディにWebサービスを作る

〜オープンソースフレームワークの利用~

さて、思い付いたら実際に形にすることが出来るのがプログラマーのいいところ。
とはいえ、前述の通りWeb経験も短く一からコツコツ作っていては実現できるのはいつになることやら。。

そんな時、開発者の大きな力になってくれるのがフレームワークです!

私が使っているPHPでも数多のオープンソースのフレームワークが存在します。
有名なところでいうと以下のようなところでしょうか。

PHP frameworks

PHP frameworks

 上記をまとめてPHPの4大フレームワークと言ったりするそうです。
そこで私はZend Frameworkを除く3つのフレームワークを個人で借りているレンタルサーバに導入してそれぞれで簡易ブログを作成するというテストをしました。

それぞれ使ってみて私が一番使いやすいと思ったのがCodeIgniterでした。
(厳密に言うと丁度その頃CodeIgniterはライセンスの問題がにわかに勃発しており選択を迷ったのですが、後継とも言えるFuelPHPというフレームワークが流行し始めておりいざとなれば移行もしやすかろうということでこれを選びました。)

現在では業務でもオープンソースのフレームワークを使用することは多いと思いますが、何と言っても

  • 開発コストが大幅に削減される。
  • 探せば豊富にプラグインが見つかり基本的な部分はその組み合わせだけである程度出来上がってしまったりする。
  • 世界中で多くの実績があるので一から自分で書くより安心感がある。

など利点は多いので、開発コストを抑えてスピーディに形にしたい時にはまず導入を検討に入れてみると良いのではないでしょうか。

 

スピーディにスマートフォンアプリを作る

〜TitaniumMobileの利用~

そんなこんなで何とかCodeIgniterというフレームワークの力を借りてWebサービスとして形にすることが出来たわけですが、前述の通り作りたいものはどう考えてもモバイル向け。。

スマートフォンアプリの開発言語は以下です。

  1. iPhoneアプリ → Objective-C
  2. Androidアプリ → JAVA

やっとこさPHPでWebサービスを作れるようになった遅咲きの三十路プログラマーがこれから新たに2種類の言語を学習してコツコツ作っていては実現できるのはいつになることやら。。

そんな時見つけたのがAppcelerator社のTitaniumMobileです!

このTitaniumMobile、Web開発でもお馴染みなJavaScriptで開発できて、iPhoneアプリ、Androidアプリそれぞれにビルドすることが出来る優れものです。

TitaniumMobile(TitanumStudio)の画面です。eclipseベースのIDE(統合開発環境)で馴染み易いです。iPhone、Androidそれぞれのエミュレータを動かせます。

TitaniumMobile(TitanumStudio)の画面です。eclipseベースのIDE(統合開発環境)で馴染み易いです。iPhone、Androidそれぞれのエミュレータを動かせます。

特に今回すでにWebアプリとしては完成していますから、いわゆる「側(がわ)だけアプリ」 としてメニューなどの骨格だけ作ってしまって、中身はWebView(各SDK組み込みのブラウザ機能)でスマートフォン向けに最適化した画面を表示してしまおう!という作戦です。

側だけアプリ

側だけアプリ

実際にやってみるとAndroidでいろいろ動かなくて躓くことも多かったですが、TitaniumMobileのお陰で何とかiPhone、Androidそれぞれでアプリとしてリリースすることができました。

「Webサービスを取り急ぎスマートフォンアプリにしてみたいんだけど。。。」という時にはこのような「側だけアプリ」でスピーディにアプリリリースしてみるのもひとつの手ではないでしょうか。
(あまり露骨に「側だけ」だとアプリの審査に通らないという問題は生じますが^^;)

 

まとめ

プログラマーの方なら、仕事としてだけでなくプライベートな時間でも新しい技術の勉強などやっている方は多いと思います。
「こんなものを作ってみたい!」という目標があれば学習スピード、密度は上がりますし、実際に世に出してみるとユーザからフィードバックがあったり面白いものです。
また、これを作るにあたって昨今話題のコワーキングスペースなどを活用して一緒にお手伝いしてくれる人やアドバイスをくれる人など同業他社の方とのネットワークを広げることにもつながりました。

あなたも是非自分のアイデアでアプリをリリースしてみては!?

藤野 隼吾