田中氏 他に、苦労した点はありませんか。
上野氏 もう一つ、LINE上で特定の文字列を表示させるとクラッシュし、iOSまでリブート(OSレベルで再起動が起こる)してしまうという問題にも直面しました。これは、LINEでしか影響が出ないケースなので、問題が発生するたびにテストが足りなかったと反省させられます。
このケースでも、クライアントで問題が発生する前にサーバー側で文字列置換してもらうようサーバーチームにお願いして、事なきを得ました。
梁氏 先ほどのケースに比べれば、まだかわいいものですね(笑)。
田中氏 LINEにとって文字に関わる問題は、ますます重要になっています。現在は、17カ国の言語をサポートしていますが、多言語対応は引き続き重要なキーワードになってくると思います。Android版では多言語対応にどのように対応しているのですか?
堀屋敷氏 そうですね。LINE Androidの場合は、Androidから提供されるAPIをそのまま使ってラベルを切り替えるだけで対応できていますので、それほど特殊なことは行っていませんね。
田中氏 Android版では、それほど難しくないようですね。iOS版でも同じように対応できるのですか?
上野氏 いいえ。iOS版では、かなり苦労しています。iOSの場合は、文字とイメージを文字列として扱う「Sticons(スティッコン)」と呼ばれる機能を、コアテキストを使ってかなり低いレベルで実装していますので、それにまつわる苦労がいろいろありました。例えば、アラビア語対応の作業などは、泣きながら行いました。
田中氏 アラビア語も読めちゃったりするのですか?
上野氏 はい。幾つかの単語は読めるようになりました。あとは、英語の複数形での「s」の扱いにも苦労しました。iOSでは、この処理も標準ではサポートしていないので、オープンソースのツールを導入して対応しています。
田中氏 福島さんのWebフロントエンド開発チームでは、多言語対応をどのように行っているのですか?
福島氏 Webの多言語対応については、「XLT」という社内ツールを使って実装しています。このツールは、1つのKey(キー)に対して、複数の翻訳されたテキストをValue(値)として登録しておき、Webページの開発の際にはKeyを埋め込んで、表示させる際には言語に合わせて対応した翻訳テキストを表示させるというものです。
田中氏 Webフロントエンド開発では、この他にどのような開発を手掛けているのでしょうか?
福島氏 いろいろ手掛けています。昨日発表した「LINE Creators Market」をはじめ、「LINE STORE」や開発者向けの「LINE Developers」などのWebサイトも開発しています。
また、LINEアプリ内のWebアプリの開発も幾つか担当しています。例えば、公式アカウントメニューの中の地域情報タブ内の全てのコンテンツや、Android版のその他タブにある「フリーコイン」も、われわれがWebで実装しています。
田中氏 ここからは参加者の皆さんから本イベント専用の公式LINEアカウントに寄せられた質問を取り上げます。
エンジニアの皆さんにとって、技術の習得は重要な課題だと思いますが、日頃からどのようにして技術にキャッチアップしているのでしょうか。
上野氏 アップル主催の「The Apple Worldwide Developers Conference(WWDC)」に参加したり、その後に公開されたビデオを電車の中で見たりしています。何よりも、実際に問題に直面したエンジニアが最もよく学んでいると思いますので、そうしたエンジニアとのつながりを大切にしながら情報を収集するようにしています。
梁氏 サーバー開発では、新しく出てくる技術や世間で知られている技術が必ずしも自社の環境に適合しているとは限りません。サーバー開発チームの技術力も確実に上がってきていますので、今、最も重要だと思っているのが同僚同士のディスカッションです。実際に、かなりの時間をかけてディスカッションを行うようにしています。
福島氏 やはり、実際に仕事に取り組む中で、何を実装しなければならないのかを明確にした上で、必要なことを習得していくことが重要だと思います。
田中氏 確かに、仕事に取り組みながら、技術が向上しているという実感はありますね。では最後に、これからチャレンジをしてみたいと思っていることをお話しください。
梁氏 サーバー開発は、バックログを何十件も抱えるなど、やるべきことがまだ本当にたくさんあります。この4月にユーザー数4億を無事達成しましたが、今後どこまでサーバーをスケールアウトしていけるのか、本当にワクワクしながら日々の開発に取り組んでいます。
ただ現在のところは、まだモジュール単位、サーバー単位でのスケールアウトに過ぎません。今後は、データセンター単位でのスケールアウトにチャレンジしていきたいと思っています。
堀屋敷氏 LINEのAndroid版はiPhone版に比べて動作が遅いとか、スクロールがもっさりしているとか、よく言われます。限界もあるとは思いますが、可能な限り快適な動作を実現するために努力していきます。
上野氏 iOSは、毎年メジャーバージョンアップがありますが、なかなか機能が多くて、LINEでも全てを新しいバージョンに合わせることができていません。
例えば、iOS 7のフラットデザインへの対応もまだ実現できていません。今年こそは、iOSの次バージョンをきちんとキャッチアップすることをチームの目標として取り組みたいと思います。そして、やっつけでコードを書くのではなく、きちんと後方互換性を考慮したライブラリ整備と体制作りを進めていきます。
福島氏 Webフロントエンドの分野では、日々新しいフレームワークやAPIが次から次へと登場しています。その中でも、ユーザーに良い体験を与えられるような技術については、どんどん積極的に採用してチャレンジしていきたいと考えています。
田中氏 いろいろと興味深い話をしていただき、ありがとうございました。
Copyright © ITmedia, Inc. All Rights Reserved.