サイバーエージェントを支える技術者たち

第23回 ファン待望のスマートフォン向けピグを開発!

この記事を読むのに必要な時間:およそ 2 分

プラットフォームごとの実装差やバグを乗り越えて開発を進める

―― HTML5でのアプリケーション開発はまだまだ事例も少ないのですが,実際に開発されていて気になる点はありましたか?

アメーバ事業本部
スマートフォンディビジョン
クリエイティブグループ 平松 紘典氏

アメーバ事業本部 スマートフォンディビジョン クリエイティブグループ 平松 紘典氏

平松:今回,HTML5のCanvasという仕様を使って描画を行っている部分がありますが,Flashに用意されていてCanvasになくて不便だと感じるのはレイヤーやスプライトの仕組みですね。また,仕様ではなく個々のWebブラウザの実装というところでは,たとえばAndroidでアルファチャンネルのレンダリングにバグがあるなど,エンジン的にもまだ未成熟な部分があると感じています。

原:アルファチャンネルのバグは驚きましたね。まったく使えないわけではないのですが,実際に利用すると極端にパフォーマンスが落ちるといったことがありました。

平松:パフォーマンスだけでなく,画像,CSS,Canvasに共通して,アルファチャンネルを使うと想定したとおりに描画してくれないという問題にも遭遇しました。そのため,アルファチャンネルのブレンディングについて,手計算で対応するといったことも行っています。

原:CSS3で追加された「border-radius」を使うと,描画のパフォーマンスが極端に低下するという現象も起こりましたね。

平松:画像やCanvasであればスクロールするときにレンダリング結果をビットマップ化してキャッシュするので,スクロールもすばやく行えるのですが,CSSとして表現すると毎回背景との重なりなどを再計算しながらレンダリングしてしまうんですね。それがパフォーマンス低下の原因だったようです。

―― 現在注目されている技術について教えてください。

原:私はApplicationCacheやWeb Storage,Web SQL,IndexedDBなどといったローカルキャッシュ系の技術ですね。今回のスマートフォン向けアメーバピグのプロジェクトではWebStorageを使っていますが,今後も含めてクライアント側にデータを置くことによって高速化したり,使い勝手を改善したりできるのではないかというところで注目しています。ただクライアント側とサーバ側のデータに整合性を取る必要があるため,慎重に使わないといけません。

平松:私はWebSocketですね。現状ではスマートフォンではまだ実用段階ではないというか,ほぼ使えないのですが,通信部分のコンパクト化やリアルタイム性を向上できるという点で注目しています。たとえば3人のユーザで話しているときに,WebSocketであれば,誰かが起こしたアクションをサーバ側で受け取ったら,セッションを保持している複数のクライアントにマルチキャストで配信することが可能です。それによってCometなどの応用技術と比べて,より素直に相方向性,リアルタイム性のあるアプリケーションを開発することができるのではないかと考えています。

―― 最後に,エンジニアとしてサイバーエージェントで働くことのメリットについて伺わせてください。

原:1つは周りに技術者が多くて,切磋琢磨しながらスキルを磨いたり,気軽に質問できたりすることですね。

平松:私は中途入社なのですが,以前の会社ではわからないことはWeb上で調べるのが当たり前だったのに対して,サイバーエージェントでは気軽に相談できる雰囲気があります。それと話し合ってより良い方法を引っ張り出したり,あるいはこちらからも提案できたりする環境があるのは本当にすばらしいと思いますね。

原:もう1つは,会社の中にアイデアがいっぱい転がっていることですね。技術者もそうでない人もそれぞれにアイデアがあって,それを単に開発するだけでなく,一緒にサービスを作り上げていくという感覚はサイバーエージェントならではだと思います。

平松:エンジニア同士だけでなく,たとえばサービスの運用担当者やデザイナーなどに対して,こうした方がいいのではないかと提案できて,実際にアイデアが採用されることもあります。こうしたコミュニケーションは,エンジニアとして広い視点を持つのに役立っています。

印象的だったのは,エンジニア同士で気軽に話し合うことができ,さらに切磋琢磨できるという原氏の言葉です。こうした土壌があるからこそ,HTML5などの新たな技術にも果敢にチャレンジすることができるのではないでしょうか。

サイバーエージェント公式エンジニアブログ
URL:http://ameblo.jp/principia-ca
エンジニアの生の声を週替わりでお届け中!

著者プロフィール

川添貴生(かわぞえたかお)

株式会社インサイトイメージ代表取締役。企業サイトの構築及び運用支援のほか、エンタープライズ領域を中心に執筆活動を展開している。

メール:mail@insightimage.jp