サイバーエージェントはスマホ対応を進めており、Androidアプリ開発となるとJavaが第一選択肢となるからです。
スマホ時代に入り、サーバサイドで処理してブラウザで表示するというスキームは時代遅れになりつつあります。通信手順はHTTPであるものの、ブラウザを使わず、専用のAndroidアプリやiOSアプリでサーバと交信する時代になりつつあるのです。
その意味では、LAMP環境では不十分(クライアントアプリを開発するツールが必要)になってきています。
下記の記事をご覧下さい。
http://next.rikunabi.com/tech/docs/ct_s03600.jsp?p=001887
▽2
●
newta ●25ポイント ベストアンサー |
サーバーエージェントはスマホ対応を進めているみたいですが、
自分の印象ではAndroidアプリは印象でクライアント側では積極的にJavaを使っているイメージはありません。
Andoridアプリの場合、アプリの中でWebを表示するWebViewがメインのように感じます。
つまりHTML5やjavascriptで作るためにスマホに限定してるのかな?と思います。
(あくまでiPhoneアプリで出している数に比べてなのでいくつかありますが)
で、サーバ側がJavaの理由は前の方の記事
(http://next.rikunabi.com/tech/docs/ct_s03600.jsp?p=001887)
にある通りアメーバピグがはやりのソーシャルゲームのようなHTTPサーバではなくブラウザ上のFlashと常に接続してやりとりを行うSocket通信が中心だったからだと思います。
個人的にもPHPはマルチスレッド処理に向いていないと思います。
ちなみにピグライフはNode.js(javascriptのサーバ)とHttpでハンドシェイク出来る
WebSocketで通信を行っているようです。
サイバーエージェントはどちらかと言うとPHPとかに限定せずなんでもやるって感じの印象。
周りのソーシャルゲームの会社がPHPだらけなのでjavaの部分によくフォーカスされてるのかな?と。
・アンドロイドの端末側のアプリはJavaで作成されている
・webサービスはLAMP環境というのは、サーバー側の話
Twitterとかもサーバー側をJavaに移行してますし、Javaはそんなに悪い選択ではありません。
サーバー側にJavaが選択肢に選ばれにくいのは、お金がかかるからです。
実際、ネット銀行とかもサーバー側にJavaを採用してるところはあります。
LAMP環境というのは、ネットベンチャーなどの資金力のないところが
ビジネスを展開するのにはよいという開発環境なだけです。
「ソケットサーバーはJavaで書かれています。Javaにはもともと豊富なライブラリ群や標準APIがあります。特に、マルチスレッド関係や非同期入出力関係のライブラリや、APIが充実しているため、それらを利用することで、効率的な開発ができました」 と、Javaの利点を挙げる。
サイバーエージェントの進化し続けるJava技術力とは
http://next.rikunabi.com/tech/docs/ct_s03600.jsp?p=001887
理由はこんな感じだと思います。
Flashゲームやアンドロイドアプリなどで、ソケットを直接開くタイプは、PHPでは実装に手間がかかるからというのはあるかと思います。
http://q.hatena.ne.jp/answer
http://next.rikunabi.com/tech/docs/ct_s03600.jsp?p=001887
Javaがデファクトになる前は、PHPで実装されていた時期がある。その後、システムを外部ベンダーに外注するようになるが、当時PHPはセキュリティホールが多かったため、標準化しやすく開発ベンダーも多いJavaを実装することとなった。