SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

イベントレポート(AD)

「IBM Bluemix Challenge」コンテスト受賞者に聞く
初めて作成したWebアプリが受賞クォリティになるPaaS「Bluemix」の魔法とは

  • このエントリーをはてなブックマークに追加

アプリのアイデアはどこから?

CodeZine ► Bluemix Challengeに応募した理由を聞かせてください。

猪谷IBM developerWorksの記事を読んでBluemixに興味を持ち、コンテストが開催されることを知って応募しました。

カマール ► 新人研修の一環としてWebアプリを開発することになったことがきっかけです。クラウドでの開発に興味があったのですが、PaaSのBluemixの存在を知って、応募することにしました。

小木曽 ► 大学でBluemixを紹介する授業があり、Bluemixのコンテストを知りました。これまでWebアプリ開発の経験がなかったので、これを機会に学んでみようと思い、応募を決めました。

川岸 ► 言い出したのは私で、小木曽がアイデアを出しました。その後、青木と古川を巻き込んだ形です。

CodeZine ► Bluemix Challengeでは、アプリのアイデアが審査のポイントになりました。アプリのアイデアをどこから得ましたか?

猪谷 ► まず、BluemixとiOS 7のiBeaconを使って何かを作ってみたいと思いました。クラウドを使うこと自体が初めてだったので、いろいろなサービスがどのように連携できるかを考え、最終的に仕組みとして一番わかりやすいクーポンを選びました。そのため、同じようなビジネスモデルであれば、クーポン以外のものでもカスタマイズ可能な仕組みになっていると思います。

カマール ► 毎日のようにチャットを使っているので、チャットアプリを開発しようと考えました。せっかくなら、楽しくて便利なものを作りたいと思い、個人の経験から何を作りたいかを考えました。会社では、私は英語が得意ですが、他の社員は当然日本語が得意なので、コミュニケーションを取るのが大変な場合があります。日本人の友人も多いのですが、友人に日本語でうまく言えないことがあるし、逆に友人も英語でうまく言えないことがあります。そこで、自分の言葉を翻訳できる機能を付けようと思いました。

小木曽 ► 研究などで徹夜が続くと、どこで睡眠を取れば授業を乗り切れるだろうか、と思うことがあります。そんなときに便利そうなスマホなどの睡眠アプリは、睡眠の質や量を計測してくれますが、計測するだけでどこでどのように睡眠を取ればよいかは教えてくれません。そのため、睡眠を提案する部分を自分たちで作っていこうと考えました。実際に睡眠に関するデータを蓄積していたので、それを何とか使いたかったという理由もあります。

川岸 ► 睡眠データとGoogleカレンダーの予定から睡眠を提案するためのアルゴリズムは、みんなで討議して決定しました。その他にもいろいろとやりたいことがあったのですが、今回は間に合いませんでした。

 

チーム「Pセ21G」 カーセム・ユーセフ・カマール氏(左)、同 長堀 哲氏(中央)、猪谷 貴姿子氏(右)
チーム「Pセ21G」 カーセム・ユーセフ・カマール氏(左)、同 長堀 哲氏(中央)、猪谷 貴姿子氏(右)

 

ポイントはいかに手を動かさずに実装するか

CodeZine ► アプリの開発ではどのような機能や言語を使いましたか?

猪谷 ► サーバにはNode.jsとJavaScriptを使いました。Twilioとの連携ではPHP、iOSで動く部分ではObjective-Cを使っています。インターフェイスには、Webアプリ開発のフレームワークであるjQuery Mobileを利用しました。

カマール ► サーバでNode.jsとJavaScriptを使いました。また、チャットアプリのインスタンス管理にRedisを使っています。いろいろなデータベースがありますが、Redisのキーバリューストアが高速であることから、選択しました。言語の自動認識と翻訳には外部のAPIを使用しています。

小木曽 ► 私たちが使ったのもNode.jsとJavaScriptです。睡眠や活動のデータはJawbone UP(運動や睡眠などのモニターするリストバンド)で蓄積します。また、Googleカレンダーに登録した予定を読み込んで利用しています。

CodeZine ► Bluemix Challengeはアプリケーションコンテストには珍しく、コーディングテクニックを競うものではありませんでした。また、なるべくコードを書かずに済む点が、BluemixをはじめとするPaaSのメリットと言えます。実際に書いたコード量はどれくらいですか?

猪谷 ► 一番多くコードを書いたのはiOSで動く部分です。その他はサービスとの連携部分ですが、それほど多くはありません。今まで経験してきたアプリ開発と比べると、全体的にコード量は少ないです。

 今回Node.jsを初めて使ったのですが、結構簡単にコードを書けるんだなと思いました。iOSと他のサービスとの連携はJavaScriptを介してiOSの特定のAPIを利用するというイメージで、こちらも慣れると簡単でした。

カマール ► Node.js、JavaScript、HTML、CSSを合わせて1,000行くらいです。コード量が多かったのは、サーバ管理やRedisのキーバリューストアを扱う部分でした。翻訳APIを呼び出す部分は数行のコードで済みました。

青木 ► WebのUIで200行くらい、それ以外で400~500行くらいです。Bluemixをはじめ、Node.jsやJavaScriptも使うのは初めてだったので、コードを書くことより、その前に使い方を理解するほうが時間がかかりました。

CodeZine ► コードを書くための開発環境には何を使いましたか?

猪谷 ► それほどコード量が多くないのと、1人で開発していることもあって、EmEditorというテキストエディタでコードを書き、cfコマンドでデプロイを行っていました。

カマールJazzHubを選択しました。Bluemixでアプリを作ると、ワンクリックでGitリポジトリが作られ、すぐにJazzHubでコーディングできるようになります。他の開発環境を使うと、自分でコードをダウンロードしなければなりません。また、スマホなどどこからでもJazzHubに入ってコードを修正できるので便利です。

小木曽 ► JazzHubを使いました。慣れないうちは、修正したコードがデプロイされず、戸惑ったこともありました。デプロイしたいコードは、自分の場所から共有の場所に移さなければいけないんですね。

 BluemixからワンクリックでJazzHubに飛んでいけるのは、私もすごく便利だと思います。

次のページ
サーバ乗っ取りなどの心配もいらなかった

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
イベントレポート連載記事一覧

もっと読む

この記事の著者

坂井 直美(サカイ ナオミ)

SE、通信教育講座の編集、IT系出版社の書籍編集を経てフリーランスへ。IT分野で原稿を書いたり編集したり翻訳したり。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8189 2014/10/16 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング