June 11, 2008
Google Developer Dayに行ってきました。
お昼のGoogle App Engineのセッションを聞いてたら一切ご飯を食べる時間がなくなって、無料で提供されているオレンジジュースと、かろうして自動販売機に売っていたカロリーメイトで飢えをしのぎながら聞いていました。(カツサンドでも売ればみんな買うのに)
僕が聞いたのは、
基調講演→Google App Engine→OpenSocial→Android→KML→Google AJAX API→Google Web Tookitのセッションでした。
以下感想
■Google App Engine
このプレゼンを見ていて思ったのは、Google App EngineってホスティングとASPの間に位置する世界だなぁと。
Pythonのコードを書くだけで、Webサーバ、DB、バックアップ、バージョン管理、冗長化を自動でやってくれるというもの。
確かに自宅サーバで自分でWebサーバ管理して、HDDが壊れるリスクにおびえながらバックアップをしている運用もろもろは、ここに預けることで一切必要なくなるというのは素晴らしい。
Twisterの例もあって、自分たちではどうしようもなくなってしまうところをGoogleに預けるという意味でもあるのだなと思った。自分たちでサーバを運用してきたスキルのある人たちにとっては、選択責任にとしてもリスクも高いので、安定して動くようになるのと、有償なのは全然アリだから何か問題が起きた時の道が適切に提示されてることが大事なんだと思う。
(ここでビジネスをするなら、「提供する側」と「使う側」が対等な部分も必要となる。大事なのは、「あなたがいるから私たちが存在できる」、というパートナーシップの姿勢だ。果たしてビジネスパートナーとして、サポートの質も含め信用に足るのかな?!)
いずれにせよPython勉強して何か作ってみたいなぁと思えたのは確か。
Pythonに関しては文法はわかりやすそうで問題ないけど、裏にあるライブラリの世界が結構広いのでは?というのが気になるところだった。
国内の携帯の不具合が云々ってのを言ってるが何かと思ったら、最初の登録時の本人確認で携帯を使うのね。そこでDoCoMoとKDDIが不具合が起きているから先に進まないってことなのか。emobileに対応してください。
■Android
夕べのiPhoneの後は、Androidかぁ。
iPodが出た頃は、アップルがこんなデバイスに力を入れて何をとち狂ったのか?ぐらいの勢いだったのに、気がつくとここがメインストリームになっているんだなぁ。
Android陣営として、KDDIとDoCoMoがいるので、iPhone - softbankという組み合わせは適切でしょう。
iPhoneも昨日発表されたme.comのサービスが、今のiPod touch/iPhoneに見られるGoogleとの関係と比べると、どことなく違和感を感じたが、Androidを見ると、なるほどここはクラウドコンピューティングという視点で完全なライバルなのね。
Androidがオープンであることから、PCの、Mac vs Windowsだった構図が、iPhone vs Androidになったという感を感じている。
Androidは個人的にはKDDIが楽しみだなぁ。KDDIが一番独自の道を歩んでいてマニアを相手にしていないと思うので、逆にどうAndroidをうまく料理していくのだろうか。
ちなみにAndroidのアプリは、Javaで書くけど、コンパイルされるものはJavaのバイトコードではないとのこと。Dalvikという独自のVMで動くそうだ。Dalvikについてのセッションは聞かなかったが、Javaではないことには好印象。
■Google Web Toolkitは結構凄かった。
今日のセッションでは、個人的にはこれが一番良いなぁと思った。
既に発表から2年は経っているプロダクトみたいなので知ってる人には今更感はあるかもしれないが、僕は興味を持っていなかったので、結構驚いた次第。
僕は開発者がJavaScriptを書けないという理由でのサーバサイドでJavaScriptを生成するフレームワークというのが嫌いだったのでGWTはスルーしてました。
ところが今日の説明を聞いて、単に開発者を甘やかすための仕組みではないということがわかった。
GWTは、Javaで書いたコードからJavaScriptを自動生成するプロダクトだが、そのメリットは、
1.開発時にJavaの開発環境を利用できる。EcliseなどのIDEやJUnitなどのテストフレームワークなどの資産がJavaScriptのために利用できる。
2.Javaの段階でエラーチェックができる。スペルミスなどをコンパイルエラーでわかる。JavaはEclipseを使ってれば、Ctrl+Sで保存するだけでコンパイルしてエラーを教えてくれるので違和感はない。
3.何せコードがJavaなので、IDEによるコード補完ができる。
4.JSNIという仕組みを利用して、ブラウザ毎のコード最適化をしている。1ソース、マルチブラウザ用のJSパブリッシュをしてくれる。
こういう厳密性の確保は、何より業務システムでのAJAX開発やCMSの開発などで、JavaScriptを利用することが別に目的でもなんでもないんだけど、結構ややこしいシステムでJavaScriptを使う気になるという意味で良いなと思った。UIコンポーネントが用意されているのも良いし。
ただ、実際作ると、
・Java→JSへのコンパイル時のバグ
・コンパイル後のJS上のバグ
という不具合に二つのレイヤーで考えなくてはいけないのかもしれない。特に後者の場合、直接JavaScriptを編集した方が楽じゃん!と思わせたら負けだと思ってる。
後者のバグの場合は、開発する側がJS→Javaへの脳内変換をしなきゃいけないので、何がどう翻訳されたのか?を確認しないと直せないという可能性も。いくらブレークポイントが使えても、そういうのは結構ウザイ。
そこはやってみないとわからないけど、それでも結構よくできていそうな印象。一度、やってみたいなと思った。
ところで、5月からadsenseについて以下のメールが来ていた。
ずっと気がつかなかったんだけど、以下のメールはフィッシングサイトからのメールだそうなので要注意。思いっきりダマされて、口座確認したりgoogleに問い合わせしてしまいました。
Dear Google AdWords Customer,We were unable to process your payment.
Your ads will be suspended soon unless we can process your payment.
To prevent your ads from being suspended, please update your payment information.Please sign in
to your account at http://adwords.google.com/select/login,
and update your payment information.
このURLが本物だから気がつかなかったんですが、HTMLメールで見ると、ちゃんと後ろに.cnがついたドメインになってました。
replytoもyahoo.com宛だったし。
この騒動について、何故ダマされた?という部分には僕個人として思うところあって、一番思ったのは、googleは自分より上位の立場にいて、かつ、googleを怖いって思ってる自分がいるところかな。やっぱりadsenseを止められるのはキツイし、UIがあまり優しくないってのもあるし。そもそもadsenseでググると一ページ目に、
たけくまメモ : 【驚】Google AdSenseからの契約破棄通知
が出てくるわけで。
多分、いろんな環境がすぐれたクラウドコンピューティングとして提供されたとして、もしそれが本当に世界のコンピューターを5台にする流れがあるとして、それを使う側として信頼できるパートナーシップが結べるか?ってのが最大の課題なんじゃないかなぁとは思っています。この人たちは頭良くてスゴイけど、何かあった時に、最低限なんとかしてくれる努力をしてくれるのか?と言う期待感を持てるか持てないかってのは大事だと思います。
そこはgoogleが得意とする技術では解決できない人間的な部分なだけに、googleのプロデューサーの人たちには是非、意識的に取り組んで欲しいなぁとは思っています。(お金がからまなければ、ほとんどは技術で解決できると思うんだけどね。)