【デブサミ関西2012】プラットフォームとともにSDKも統合・刷新!GREE Platform SDK開発までの道のり
セッションC-2「Globalな複数拠点間での共同開発プロジェクト -GREE Platform SDK-」
2012年5月、グリーはそれまで日本と北米を中心に展開していたソーシャルプラットフォームを1つに統合。世界最大級のソーシャルプラットフォーム「GREE Platform」として提供開始した。本セッションでは、同プラットフォーム向けの開発キット「GREE Platform SDK」の開発を担当した同社・高木佑史氏が登壇。今回のSDKで特に強化された機能や、日米共同体制でグローバルなSDKを作り上げるまでのエピソードなどを紹介した。
新SDKでは“ネイティブアプリのように扱える”
HTML5ベースのアプリ開発が可能に
グリーは「世界で10億人が利用するサービス」を目標に掲げ、グローバル展開を加速する方針を明確に打ち出している。その布石ともいえるのが、今年5月の「GREE Platform」のリリースだ。これまで日本と海外で別々に展開していたソーシャルプラットフォームを統合し、新たに世界共通のグローバルプラットフォームとして提供。これにより、グリーは世界最大規模のソーシャルアプリケーションプラットフォームを有することとなった。
プラットフォームのグローバル化とともに、開発者に提供されるSDK(GREE Platform SDK)も大幅に刷新。より効率的なモバイルアプリケーション開発を支援する新機能の搭載や、グローバル対応を図っている。
米国チームと共同でこの新SDKの開発を担当した高木氏は、まず、「GREE Platform」以前のレガシープラットフォームにおけるSDK開発について振り返る。
「レガシーSDKの開発では、gitによるコード管理やJIRAによるタスク管理は行っていたが、成果物管理は手動。リリース作業やQA(Quality Assurance)、確認用アプリケーションの作成などもエンジニアの手作業で、作業が属人化しがちだった。それでも、ほとんどが少人数での開発だったので、何とか運用できていたのだと思う」
今回のプラットフォーム統合・グローバル化に伴うSDKの刷新では、エンジニアの人数や作業量、作業期間なども大幅に増えることは明らかだった。そこで、グリーでは開発体制を大幅に変更したという。
「まず、開発スタイルは数か月周期の反復型開発からスクラム開発に変更し、1スプリントを2週間としてそれを約半年間回した。JIRAの運用ルールなども見直し、粒度に応じたタスク定義やチケットのオープンからクローズまでのフロー化など、より定型化された管理が行えるようにした」(高木氏)
さらに、コード管理ではGitHubを導入。Tech Lead(テクニカルリーダー)を設定し、Pull Requestの機能を用いたコードレビューによって、Tech Leadの承認がなければ最終的にコミットできないフローとすることで、コードの品質を保てるようにした。
そして、高木氏が「今回最も大きな変化であり、最も役に立った」と強調するのが、Jenkinsの導入だ。
「GitHubと連携してコミットがあると自動的にビルドチェックが走るとともに、自動でユニットテストを走らせたり、コードカバレッジを評価したりできるので、コードのほかにも成果物に対する評価が容易に行えるようになった。ビルドやユニットテストの自動化で高い品質を保持できるうえに、開発者の手間も大幅に削減されたのは大きなメリット」
もちろん開発体制だけでなく、SDK自体の機能も大きく変わっている。中でも今回特に強化されているのが、JavaScriptを介してネイティブコードを呼び出す「ネイティブブリッジ機能」だ。
「グリーでは『GAWADAKE』と呼ばれるHTML5ベースのWebViewアプリケーションを作るためのExtension SDKを提供しているが、日本ではこのWebViewアプリの需要が非常に大きい。我々としても、WebViewを活かしつつ、さらにネイティブの機能を呼び出して、よりネイティブアプリに近い感覚で扱えるアプリケーションを実現する仕組みを提供する必要があると考えていた」(高木氏)
GREE Platform SDKでは、ネイティブのさまざまな機能をJavaScriptから呼び出し、さらにその実行結果をWebViewに返せる仕組みを提供。これにより、WebView上からもネイティブコードを読んでいるかのように振る舞うことができる。
「もちろん、ネイティブの機能をそのまま利用することも可能。例えば、現在、日本ではHTML5ベース、米国ではネイティブベースのアプリケーションの需要が大きいが、各国のデベロッパーがそれぞれの希望に応じたアプリケーションを開発できるように、GREE Platform SDKではさまざまな選択肢を用意した」(高木氏)
(次ページ:グローバル開発の課題となったのは、時差や暦、エンジニアの方向性の違い)
Webアプリケーションでありながらネイティブアプリケーションの
さまざまな機能を呼び出して利用できるようになる。
この記事は参考になりましたか?
- 【デブサミ関西2012】セッションレポート連載記事一覧
-
- 【デブサミ関西2012】プラットフォームとともにSDKも統合・刷新!GREE Platfo...
- 【デブサミ関西2012】Windows 8時代に対応できるデスクトップアプリケーションとは...
- 【デブサミ関西2012】自社サービス開発だけじゃない!関西エンジニアの“学び”をサポートす...
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営する開発者のための情報メディアです。日々の開発に取り組むエンジニアやテクノロジーを学びたい方に向けて、プログラミングやAI活用、開発ツール、エンジニアの学びとキャリアに関する記事をお届けしています。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア
