• はてなブックマークに追加
  • Yahoo!ブックマークに登録
スマートフォン向けアプリ開発をサポートする「GREE SDK」
グリーのiOS/Android向けSDKは、こうして開発された
開発パートナー向けに、スマートフォン用ソーシャルアプリ開発を支援する「GREE Platform for smartphone」。その中核である「GREE SDK」の開発に携わった2人のエンジニアに、これからのスマートフォン・アプリ開発におけるSDKのもつ意義と、開発の醍醐味を聞いた。
(取材・文/広重隆樹 総研スタッフ/宮みゆき 撮影/佐藤聡)作成日:11.08.05
GREEパートナーのスマートフォン・シフトを支援

 グリーは2010年12月、ソーシャル・ネットワーキング・サービス(SNS)「GREE」にソーシャルアプリなどを提供する開発パートナー(以下、GREEパートナー)に対して「GREE Platform for smartphone」を公開した。「GREE」に参加するソーシャル・アプリケーション・プロバイダー(SAP)は、このプラットフォームを開発環境として利用することで、iPhone、Android端末向けのWebアプリだけでなく、iOS、Android OSのそれぞれの機能を活かしたネイティブアプリの開発が容易になる。

 つまり、GREEパートナーがスマートフォンにおけるソーシャルアプリ事業を活性化させるにあたってそれを支援するのが、このプラットフォームの役割ということになる。プラットフォームの使いやすさが認知されれば、結果的にソーシャルアプリのGREEパートナーがより多く「GREE」に参加するようになる。「GREE」のユーザーにとっては、より多くのアプリケーションを楽しむことができるようになるということだ。

 グリーの今後の国内外の事業展開上、重要な役割を果たす「GREE Platform for smartphone」。とりわけ、iOSとAndroidのネイティブアプリ開発を容易にする「GREE SDK」(ソフトウェア開発キット)開発の舞台裏を聞いた。

GREEパートナーのスマートフォン・シフトを支援
佐藤 大介氏
開発本部 エンジニア
佐藤 大介氏

 SDKは、一般的にはプログラミング言語やAPIなどのテクノロジーを利用してソフトウェアを開発する際に必要なツールセットのことだ。「GREE SDK」にはさらに、ソーシャルアプリ開発用ならではの特徴がある。グリーのサーバーに蓄えられたソーシャルグラフとアプリを結び付ける機能もその一つ。また、これらのデータをセキュアに読み書きするための認証技術や、統一されたユーザーインターフェイス開発のためのフレームワークも欠かせない。

 この「GREE SDK」開発チームを率いるのが、開発本部の佐藤大介氏だ。SDKの開発が一般のアプリケーション開発と違う点はどこにあるのかをまず聞いてみた。
「デベロッパーが開発するアプリケーションがどういうものになるのかは、予想しきれないところがあります。しかし、SDK開発では彼らがどういうアプリを作りたいのかを想定しながら、共通に必要な機能を抜き出して、ライブラリー化する必要があります。それらのライブラリーは、デベロッパーがいろいろなアプリケーションに組み込むことになります。つまりデベロッパーが共有するライブラリーに、万一バグがあると、それが多くのアプリケーションに悪影響を与えてしまうことになる。その点で、ライブラリーの品質管理は、通常のアプリケーション開発以上に慎重に行うべきだと考えています。またそれらは、常にデベロッパー及び弊社が提供するサービスに合わせて進化していかなければなりません」

 とはいえ、SDKの完璧性を期するために、膨大な時間をかけていいわけではない。プラットフォームの整備やオープン化は、事業拡大の成否を握るだけに、SDK開発にはスピードが要求される。そこでスピードと品質の両立のために、佐藤氏らはネイティブ技術と、「GREE」が本来得意とするWeb技術を、ハイブリッドで組み合わさせることによる「動的アップデート」という手法をSDKに組み込んだ。簡単にいえば、デベロッパーがアプリに組み込んだ部分をサーバー側から自動的に更新できる仕組みだ。もちろん全ての機能をアップデートすることは難しいが、特に日々進化が求められる部分を中心にハイブリッド技術を適用したことで、タイムラグなしに品質や機能向上が図れるし、デベロッパーの工数削減につながる。

どこにも書かれていないAndroidアプリ開発のノウハウを蓄積

 現在、「GREE SDK」はiOS用とAndroid用の2つがリリースされている。
「デベロッパーさんは、それぞれのOSで動くネイティブアプリを書きたいわけですから、私たちもSDKでは、それぞれに特化したコードでライブラリーを提供しています。当然、iOS SDKはObjectiveC、Android SDKはJavaというように中のコードは全く違う。いまはチームを2つのラインにわけて作業していますが、開発にもメンテナンスにもコストがかかることは否めない。そこで、2つのラインの情報交換を強化したり、間にミドルウェアをはさむことで、生産性を高める工夫もしています」(佐藤氏)

 複数のOSや複数のバージョンに対応しなければならないのは、SDK開発にとって頭の痛いところ。とりわけ、Androidでは「複数のデバイスごとに毎に振るまいが異なり、頭を悩ませることが、多々ある」と、佐藤氏は指摘する。
「OS標準の正しい実装をしているのに、アプリが動かないということが実際あるんです。スマートフォンのデバイスメーカーがOSをカスタマイズしていると思われる部分があって、それが外からはわかりにくいのです。デバイスごとの違いなど、どこの技術書にも書かれていませんからね。その違いを解析・検証しながら、私たちがそのノウハウを蓄積していかないといけないのです」

 難しさは、Androidだけでなく、iOSにもある。
「iOSはOSもデバイスも同じメーカーなので、SDKとしては作りやすいという面はありますが、一方で、アップル社によるレギュレーション(規制)が頻繁に変わるので、それに随時対応していかなければなりません」

 こうした対応のために、佐藤氏らのチームは、他の部署と緊密に連携し、SDKが対応するプラットフォームの最新情報を国内外から取得し、それに対する対策を行っている。ただ、OSメーカーが全てをサポートできるわけではない。ゲーム・デベロッパーに対しては、SDK開発者の責任として、完璧なサポートを行わなければならないのだ。スマートフォンはIT分野の中でも、まだ新しい技術領域。変化も激しい世界だ。その最前線でSDKを開発する苦労は、並大抵のものではないのだ。

「Unity」などミドルウェアの技術を解析して、全面サポート

 先ほど、アプリ開発工数の削減のために、スマートフォン向けミドルウェアを活用するという話があった。グリーは現在、「VIVID Runtime(アクロディア社)」「Adobe AIR for Android(アドビシステムズ社)」「Titanium Mobile(Appcelerators社)」「Unreal Engine 3(Epic Games社)」「Unity(Unity Technologies社)」などのミドルウェアのサポートを表明している。

 これらのミドルウェアは、iOSアプリ、Androidアプリをひとつのソースコードから生成できるなど、デベロッパーのアプリ開発を強力に支援するツールだ。中でも「Unity」には、Web技術者には馴染みのあるJavascriptやC#を使って、クォリティの高い3Dゲームを比較的容易に開発できるというメリットがある。Flashに近いつくり方でネイティブアプリ開発ができるという点も、Flash技術者から注目を集めており、「スマートフォン業界ではいま一番ホットな技術の一つ」だと、佐藤氏は言う。

 そのため「GREE SDK」開発チームでは、まず、「Unity」からSDKを直接触ることができるように、「Unity」対応のプラグインをSDKに追加することにした。
「プラグインを書くためには、Unity自体のソフトウェア構造を解析しなければなりません。また、SDK─ミドルウェア─ネイティブアプリがそれぞれ連動するためには、その連動の中で、ObjectiveC、Java、Javascript、C、C#など複数の言語で書かれたコードがどのようなパスを通って、どのようなふるまいをするかを知らなければならない。これは結構ハードな作業なのですが、新しいもの好きのエンジニアにとっては、とても刺激的な作業でもあります」

 SDK開発チームは、スマートフォンでのアプリ開発に悩むデベロッパーに、「Unity」の技術紹介をしながら、どうやったら効率よく高品質のアプリが作れるかを啓発する活動にも乗り出している。ここでは、「Unity」の解析を通して培ったさまざまなノウハウが武器になる。
「UnityはUSの製品で、そのサポートもWeb上の掲示板では英語で行われています。英語でサポートを受けるとなると、個々のデベロッパーさんにとってのハードルは決して低いとはいえない。そのため、私たちが会社としてきちんとサポートのスキームをつくることで、デベロッパーの負担を軽減することも課題です」

 ソーシャルアプリの開発やそれをマネタイズすることが、グリーの事業の表舞台だとすれば、SDK開発は裏方の作業であることはたしかだ。しかし、佐藤氏には自負がある。
「デベロッパーさんたちが、GREEのプラットフォームで収益を上げることで、私たちグリーも利益を出せる。デベロッパーサポートはその意味ですごく重要な仕事なのです。デベロッパーサポートを通して、世の中にGREEのサービスを広げていくこと。これが今の自分の使命だと考えています」

開発本部 エンジニア 佐藤 大介氏

慶應義塾大学湘南藤沢キャンパス(SFC)・環境情報学部出身。高校在籍中に株式会社ニューロンを起業、IP通信技術(オーバーレイネットワーク技術)の研究開発・知財化・事業展開を経て、2010年10月にグリー株式会社入社。

一種のガイドラインを設けて、デベロッパーを導く
海老原 智氏
開発本部 エンジニア
海老原 智氏

 佐藤氏と共に、今年の2月まで「GREE Android SDK」開発に従事していたエンジニアが、海老原智氏だ。SDK開発は、海老原氏が全体の構成とUI共通化の設計・実装を担当し、佐藤氏が認証やスクリーンショット等の具体的機能を開発するという分担だった。
「設計段階で一番気を配ったのは、ユーザーインターフェイスの無理のない共通化ですね。デベロッパーがどんなアプリを開発しても、結果的に「GREE」のアプリとして統一されたようなユーザーインターフェイスになるようにする一方で、できるだけ自由度も持たせられるよう工夫しました。また、Androidアプリ開発では、熟達しているデベロッパーもあれば、開発は初めてというデベロッパーもいる。それぞれが迷うことなく開発できるように、一種のガイドラインのようなものを意識しながらSDKを設計しています。要はデベロッパーが開発に集中できるように、余計な手間を取らせないということが大切なのです」

 フィーチャーフォン向けのソーシャルゲーム開発でも、グリーはライブラリーやAPIをデベロッパーに提供している。しかし、スマートフォン・アプリ開発にかかわるフロントエンド部分は、ゼロベースで新たに書き直すことにした。サーバー認証方式もフィーチャーフォンとは異なる新たな方式を導入している。古いスタイルを踏襲するよりも、新規に書いたほうが早いという判断からだ。
「また、スマートフォン・プラットフォームのリリース後、グリー社内のアプリ開発チームがそれまでの自社製アプリをスマートフォンに移植する作業を進めていました。その過程で、彼らが必要だと思ったAPIやライブラリー群は、デベロッパーにも必要になるはずです。その開発ノウハウをもふんだんに盛りこみながら、SDKをバージョンアップさせていきました」(海老原氏)

自社製アプリにもチャレンジ。軽快なフットワークが、エンジニアの能力を引き出す

「GREE SDK」は日々進化し続けているが、海老原氏は、いったんSDK開発チームを離れ、現在は、「GREE」のコミュニティや日記、芸能人ブログなどをAndroid端末から楽しむためのネイティブアプリ開発に移行している。KDDIのAndroid端末にはすでにプリインストールされているアプリで、スマートフォン・ユーザーが「GREE」に入る入り口の役割を果たす。

 このアプリが使いやすければ、それだけ「GREE」の新規会員も増えるというもの。SDK開発と違って、ユーザーの反応がダイレクトに得られる楽しさと厳しさがある。
「Androidマーケットのレビューやランキングは毎日チェックして、ユーザーの声を聞いています。エンドユーザーからのダイレクトな反応に触れる経験は、社会人になって初めてかも」と海老原氏は笑う。

 海老原氏の場合、「GREE SDK」開発の後は、そのSDKを使って自社製アプリを開発。さらにアプリを開発しながら、その先行的な経験を、今後のSDKの改善や、後続のスマートフォン・アプリ開発チームにフィードバックするという、立ち位置の移動があった。このように個々のエンジニアが立ち位置を少しずつ移動することで、新たな技術交流の循環が生みだされる。このフットワークの軽快さは、グリーの技術風土を特徴づける一つの要素でもある。

 そんな小刻みなフットワークも、わずか1年半の間に起こったこと。海老原氏は大手印刷会社のデジタルメディア部門で映像ブラウザやオーサリングツールを作り、大型上映環境向け高精細3DCGコンテンツのフレームワークを開発してきた経験がある。
「前職は基本的に業務用。コンシューマー向けのアプリ開発に本格的にかかわるのは、去年の2月にグリーに来て初めてだったのですが、この1年半は自分がエンジニアとして一番成長した時期じゃないかと思います」と振り返る。

 ソーシャル・ネットワークやスマートフォンという時代の変化の荒波に飛び込むことで、自分の中のエンジニアとしての“伸びしろ”をあらためて発見する形になった。海老原氏いわく、「手を挙げた人には必ずチャンスを与えてくれる」。グリーの風土が、それを可能にさせたのだともいえる。

開発本部 エンジニア 海老原 智氏

慶應義塾大学大学院政策・メディア研究科(SFC)出身。凸版印刷株式会社でデジタルメディア開発に従事。株式会社セル・グラフィックスでは、3DCGコンテンツの開発においてテクニカル・ディレクターも経験。2010年2月にグリー株式会社入社。

  • はてなブックマークに追加
  • Yahoo!ブックマークに登録

このレポートに関連する企業情報です

2004年2月に、ソーシャル・ネットワーキング・サービス (SNS) 「GREE」を公開、日本だけでなく米国・欧州などグローバル展開を進め、世界で億単位のユーザー数を目指すソーシャルメディア事業をはじめ、ソーシャルアプリケーション事業、プラットフォーム事業、広告・アドネットワーク事業等を展開しています。続きを見る

あなたを求める企業がある!
まずはリクナビNEXTの「スカウト」でチャンスを掴もう!
スカウトに登録する

このレポートの連載バックナンバー

人気企業の採用実態

あの人気企業はいま、どんな採用活動を行っているのか。大量採用?厳選採用?社長の狙い、社員の思いは?Tech総研が独自に取材、気になる実態を徹底レポート。

人気企業の採用実態

このレポートを読んだあなたにオススメします

5年間の開発実績、アプリ開発事例、人気プロダクトの作り方etc.

グリーCEDEC2011講演 スマートフォン時代のゲームとは

人気企業の採用実態CEDEC、東京ゲームショウと相次いで開かれたゲーム業界のカンファレンスには、ちょっとした異変が起きている。ソーシャルゲームのリ…

グリーCEDEC2011講演 スマートフォン時代のゲームとは

シンプルなゲームロジック、バッグエンドの高い技術力、UI設計…

GREEの「釣り★スタ」が長年支持され続ける理由とは

人気企業の採用実態リリースから今年で6年目を迎え、いまなお人気の高い「釣り★スタ」。動きの早いソーシャルゲーム業界の中で、なぜヒットし続…

GREEの「釣り★スタ」が長年支持され続ける理由とは

最大169カ国のユーザーにアプリの配信が可能

グリーのグローバル向け「GREE Platform」開発舞台裏

グローバル向けワンプラットフォーム「GREE Platform」の提供を開始したグリー。5月にAndroidおよび…

グリーのグローバル向け「GREE Platform」開発舞台裏

現場がこだわる開発スタンスは無停止メンテナンスとスピード感

「サービスを1秒も止めない」グリーインフラ開発とは

人気企業の採用実態今年1月OpenFeintを完全子会社化することで、世界で1億ユーザー超の会員規模を擁することになった「GREE」。その巨大イン…

「サービスを1秒も止めない」グリーインフラ開発とは

SNS、自社アプリ、プラットフォームを垂直統合させて対応

伊藤直也氏が語るグリースマートフォン向け開発シフト

人気企業の採用実態日本でも本格的な普及期に入ったiPhone/Androidなどのスマートフォン。デバイスが変わることで、ソーシャルネットワーク…

伊藤直也氏が語るグリースマートフォン向け開発シフト

やる気、長所、労働条件…人事にウケる逆質問例を教えます!

質問を求められたときこそアピールタイム!面接逆質問集

面接時に必ずといっていいほど出てくる「最後に質問があればどうぞ」というひと言。これは疑問に思っていることを聞けるだけで…

質問を求められたときこそアピールタイム!面接逆質問集

この記事どうだった?

あなたのメッセージがTech総研に載るかも

あなたの評価は?をクリック!(必須)

あなたのご意見お待ちしております

こちらもお答えください!(必須)

歳(半角数字)
(全角6文字まで)
  • RSS配信
  • twitter Tech総研公式アカウント
  • スカウト登録でオファーを待とう!
スマートグリッド、EV/HV、半導体、太陽電池、環境・エネルギー…電気・電子技術者向け特設サイト

PAGE TOP