サーバーエージェントはスマホ対応を進めているみたいですが、
自分の印象では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の部分によくフォーカスされてるのかな?と。
サイバーエージェントはスマホ対応を進めており、Androidアプリ開発となるとJavaが第一選択肢となるからです。
スマホ時代に入り、サーバサイドで処理してブラウザで表示するというスキームは時代遅れになりつつあります。通信手順はHTTPであるものの、ブラウザを使わず、専用のAndroidアプリやiOSアプリでサーバと交信する時代になりつつあるのです。
その意味では、LAMP環境では不十分(クライアントアプリを開発するツールが必要)になってきています。
下記の記事をご覧下さい。
http://next.rikunabi.com/tech/docs/ct_s03600.jsp?p=001887
”Javaがデファクトになる前は、PHPで実装されていた時期がある。その後、システムを外部ベンダーに外注するようになるが、当時PHPはセキュリティホールが多かったため、標準化しやすく開発ベンダーも多いJavaを実装することとなった。”
という経緯もあって、その流れを引き継いでるのでしょうか。単純にApp開発という観点からだけですとiOSはJavaではいですし。何よりfacebookに代表されるグローバルなサービスを提供している企業はJavaを選択していないので、どうしてかな、と不思議に思っているのです。
Javaを支持するわけではありませんが、ビジネス的に考えると、日本国内ではPHPよりJava技術者の方の質が高いですし、数量も豊富という現実があります。
グローバル企業の中ではGoogleはJavaを主流に据えており、コードレベルでJavaをObjective-Cに変換するJ2ObjCを公開しています。
サーバーエージェントはスマホ対応を進めているみたいですが、
自分の印象では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が適していた、ということですか。それなら納得いきます。amebaのアプリってあんまりサクサク動くという印象ではないのですが(自分はiPhoneです)、ネイティブアプリではなくWebviewなんですね。
・アンドロイドの端末側のアプリは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
twitterが一部Javaを使っているというのは何かで読んだことありますが、サービス規模が世界的になり必要に迫られての話だったように記憶してます。スタートアップが最初からJavaを選択するというのはあまり無いですよね? そういう点ではtwitterとサイバーは若干違うと思うんですね。
http://next.rikunabi.com/tech/docs/ct_s03600.jsp?p=001887
Javaがデファクトになる前は、PHPで実装されていた時期がある。その後、システムを外部ベンダーに外注するようになるが、当時PHPはセキュリティホールが多かったため、標準化しやすく開発ベンダーも多いJavaを実装することとなった。
ピグの開発にはJavaが適していた、ということですか。それなら納得いきます。amebaのアプリってあんまりサクサク動くという印象ではないのですが(自分はiPhoneです)、ネイティブアプリではなくWebviewなんですね。
2013/01/10 19:14:59