スマホアプリ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を使用する場合がありました