サイバーエージェントはJavaでサービス開発をやっているという記事を読みました。昨今のwebサービスはLAMP環境で開発するのが旬だと思っていましたが、彼らがJavaを選択した理由をご存知でしたら教えてください。

回答の条件
  • URL必須
  • 1人5回まで
  • 登録:
  • 終了:2013/01/17 15:50:07
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:newta No.2

回答回数68ベストアンサー獲得回数7

ポイント25pt

サーバーエージェントはスマホ対応を進めているみたいですが、
自分の印象では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の部分によくフォーカスされてるのかな?と。

id:zenhippie

ピグの開発にはJavaが適していた、ということですか。それなら納得いきます。amebaのアプリってあんまりサクサク動くという印象ではないのですが(自分はiPhoneです)、ネイティブアプリではなくWebviewなんですね。

2013/01/10 19:14:59

その他の回答3件)

id:oil999 No.1

回答回数1728ベストアンサー獲得回数320

ポイント25pt

サイバーエージェントはスマホ対応を進めており、Androidアプリ開発となるとJavaが第一選択肢となるからです。

スマホ時代に入り、サーバサイドで処理してブラウザで表示するというスキームは時代遅れになりつつあります。通信手順はHTTPであるものの、ブラウザを使わず、専用のAndroidアプリやiOSアプリでサーバと交信する時代になりつつあるのです。
その意味では、LAMP環境では不十分(クライアントアプリを開発するツールが必要)になってきています。

下記の記事をご覧下さい。
http://next.rikunabi.com/tech/docs/ct_s03600.jsp?p=001887

id:zenhippie

”Javaがデファクトになる前は、PHPで実装されていた時期がある。その後、システムを外部ベンダーに外注するようになるが、当時PHPはセキュリティホールが多かったため、標準化しやすく開発ベンダーも多いJavaを実装することとなった。”
という経緯もあって、その流れを引き継いでるのでしょうか。単純にApp開発という観点からだけですとiOSはJavaではいですし。何よりfacebookに代表されるグローバルなサービスを提供している企業はJavaを選択していないので、どうしてかな、と不思議に思っているのです。

2013/01/10 18:51:22
id:oil999

Javaを支持するわけではありませんが、ビジネス的に考えると、日本国内ではPHPよりJava技術者の方の質が高いですし、数量も豊富という現実があります。

グローバル企業の中ではGoogleはJavaを主流に据えており、コードレベルでJavaをObjective-Cに変換するJ2ObjCを公開しています。

2013/01/10 20:21:17
id:newta No.2

回答回数68ベストアンサー獲得回数7ここでベストアンサー

ポイント25pt

サーバーエージェントはスマホ対応を進めているみたいですが、
自分の印象では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の部分によくフォーカスされてるのかな?と。

id:zenhippie

ピグの開発にはJavaが適していた、ということですか。それなら納得いきます。amebaのアプリってあんまりサクサク動くという印象ではないのですが(自分はiPhoneです)、ネイティブアプリではなくWebviewなんですね。

2013/01/10 19:14:59
id:taroe No.3

回答回数1099ベストアンサー獲得回数132

ポイント25pt

・アンドロイドの端末側のアプリは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

id:zenhippie

twitterが一部Javaを使っているというのは何かで読んだことありますが、サービス規模が世界的になり必要に迫られての話だったように記憶してます。スタートアップが最初からJavaを選択するというのはあまり無いですよね? そういう点ではtwitterとサイバーは若干違うと思うんですね。

2013/01/15 07:17:19
id:mahosuto No.4

回答回数789ベストアンサー獲得回数28

ポイント25pt

http://next.rikunabi.com/tech/docs/ct_s03600.jsp?p=001887

Javaがデファクトになる前は、PHPで実装されていた時期がある。その後、システムを外部ベンダーに外注するようになるが、当時PHPはセキュリティホールが多かったため、標準化しやすく開発ベンダーも多いJavaを実装することとなった。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません