スポンサーリンク

スマホアプリLINEの,採用技術・開発プログラミング言語・利用ツールなど。HTML5でなくネイティブ実装,サーバ側はHadoop

あの有名な「LINE」は,どのようなプログラミング言語で実装されているのか。

NHNの技術者さんが,公式ブログ上でいろいろ教えてくれている。

LINE Engineers' Blog
http://tech.naver.jp/blog/


まずアプリ自体は,iOSとAndroidでそれぞれネイティブ実装している。

  • iPhone版アプリ:Objective-C

いま流行りのHTML5でハイブリッドアプリ,というのは採用していないのだ。

ネイティブにしないと重くてやってられないからね。

実用的なアプリにするためにはネイティブってことか。Facebookの公式アプリもHTML5で作って重すぎて失敗したし・・・


LINEのサーバ側は,かなり大規模なのでHadoop(正確にはHBase)で分散処理とかしている。

ブラウザ版では,Web上でBackbone.jsなどのライブラリを使っているとのこと。

Androidで使えるOR Mapper: ORMLite « LINE Engineers' Blog
http://tech.naver.jp/blog/?p=516

  • データベース周りも普通にSQLiteDatabase経由でSQL文を書いているのですが、できればOR Mapperを使いたかった


iPhone版LINEのデータ構造 : Core data in LINE « LINE Engineers' Blog
http://tech.naver.jp/blog/?p=683

  • Core Dataは、MacOS XのベースFrameworkであるCocoaのMVC構造のうち、 Model側を担当しているFrameworkです。 Core Dataを利用するとデータモデルの設計、オブジェクトのデータの読み取り、書き込み、管理などを簡単に行うことができます。
  • 現在、LINEではCore Dataを利用してメッセージ、トーク、グループ、ユーザーなどを管理しています。


Backbone.js gives structure to web app « LINE Engineers' Blog
http://tech.naver.jp/blog/?p=1835

  • LINEのスマートタブレット向けブラウザ版でも採用したJavaScriptのMVC FrameworkであるBackbone.jsについて


いま開発者が見ないと残念すぎるWeb動画9選〜【まとめ】ITmedia Virtual EXPO 2012見どころ - @IT
http://www.atmarkit.co.jp/fsmart/arti...

  • ■ LINEを生み出したNHN Japanの開発風土とは ■
  • 膨大なトラフィックをさばくサーバシステムについて「ふつうに作っている」と話す池邉氏だが、メッセージのルーティングにErlangを、パーシステンスにRedis+Hadoop HDSを使うなど興味深い。


LINEの1億ユーザを支えるHBaseのチカラ─Hadoop Conference Japan 2013 Winterレポート(2):レポート|gihyo.jp … 技術評論社
http://gihyo.jp/news/report/2013/01/2501

  • メッセージングサービス「LINE」で利用されているHBaseの実態について
  • 最も重要視するのは「ストレージの高可用性」,HBaseはそのためにある
  • LINEのサービスは 1日あたり100億のローをさばく拡張性, 応答時間は10ミリ秒以下を維持する低レイテンシ, デュアルクラスタによる高可用性 を実現するため,HBaseを採用
  • 一貫性の維持よりもフェイリャーハンドリングのほうが重要」であり,だからHBaseを選択した
  • HBaseに限らずHadoopエコシステム全般を採用している理由として,オペレーティングコストを低く抑えられること


【福岡開催】LINE技術勉強会“LINE Developer Meetup #1” : LINE HR Blog
http://line-hr.jp/archives/36191612.html

  • LINE社内ではそれらのログの解析の一部に、バッチ処理にHadoop と Hiveを、ストリーム処理にfluentd と Norikra を使用してSQLベースでの集計処理を行える基盤を作り、運用しています。


(2/4)LINEやcommの無料通話サービスを検証 - LINEやcommの通話の仕組みを解析―実践編:ITpro
http://itpro.nikkeibp.co.jp/article/C...

  • トーク処理ではHTTPを使用する場合と、ポート番号5000を使用する場合がありました