Google Wave ハッカソン No comments yet
またもや告知です。
11月27日(金) 10:00〜18:00に Googleにて開催されるGoogle Waveハッカソン(GadgetやRobot等)の参加者をまだ募集しているとのことです。
興味ある人は参加してみてはいかがでしょうか!
詳しくは以下のリンクより。
http://googlejapan.blogspot.com/2009/11/google-wave-api-japan.html
またもや告知です。
11月27日(金) 10:00〜18:00に Googleにて開催されるGoogle Waveハッカソン(GadgetやRobot等)の参加者をまだ募集しているとのことです。
興味ある人は参加してみてはいかがでしょうか!
詳しくは以下のリンクより。
http://googlejapan.blogspot.com/2009/11/google-wave-api-japan.html
はいどうも。水曜(10月7日)はTokyo GTUG #3でした。いろんな思い出とかトラウマとかできてしまいました。本当にありがとうございました。
なぜか手元にスライドがあるので置いておきますね。
忘れないうちに今日のTokyo GTUG night #2の内容の補足を書いておきます。
mobileだとGoogle maps APIが遅い? emobileだから?
「emobileで発表してたからたまたまとても遅かったのだけど、本来ならもう少し早い。mobileで特別早くなるということはないが、たとえばAndroidなどで使っていると早い」と勝又さんは答えていました。
それについての補足ですが、
なぜ、SDKや端末にプリインストールされているMap.appやGoogle Maps.appが高速に動いてるように見えるのかというと、クライアントがほぼnativeで実装されているからです。通常PCで見るmapsのようなflashやjsではないですし、Androidアプリである以上dvmは動作していますが、中身は多くがnativeだったりします。だから速度が出ます。
ちなみに、Androidでmaps apiを使う方法は大きく分けて二通りあります。
一つは、iPhoneなどのように、ブラウザ上でPC等と同じmaps apiを使用する方法。
もう一つは、ブラウザではなく、AndroidアプリケーションとしてJavaからcom.google.android.mapsのライブラリを利用してMapViewを表示する方法。
前者だと、ブラウザ上での動作なのでやれることはPCと大きくは変わりませんが、現行機種に搭載されているブラウザは多くがflashに対応していません(している機種もあります。HTC Heroなど)。
後者は、Androidアプリ製作で許可されてるハードウェア機能はすべて使えるので、例えばGPSやコンパスといったセンサーと連動させることが容易にできます。その代わり、Android専用アプリになります。
したがって、前者のブラウザ上で動作させる場合はハードの機能は使えないという形にはなっていますが、これはブラウザに依存する部分でもあります。
例えば、iPhoneのSafariだと、HTML5のGeolocation APIを利用することが可能になっているため、webアプリでもGPSを使用して現在地を取得することが可能です。
Androidのブラウザも、機能的にはiPhoneとほぼ同等のSafariなのですが、少しビルドが古いのかHTML5のGeolocation APIは(少なくともHTC Magic(HT-03A)では)使えません。ところが、AndroidのブラウザにはGearsが搭載されているため、GearsのGeolocationが使えます。したがって、ブラウザの設定でGearsをenableにしてあれば、GPSから現在地を取得できます。
詳しくは古旗さんの記事でもどうぞ。
iPhoneのJavaScriptアプリをAndroidに3行で移植
http://ascii.jp/elem/000/000/457/457545/
Web屋もハードウェアを直接使いたい、Googleなどはそんな取り組みをしているのか?
Androidに関しては、GPSなら今上に書いたように使うことができます。
Android以外では、ネイティブコードを実行するという事でなら、GoogleはNaClがあります。ブラウザからネイティブを実行するプラグインです。ネイティブを実行できるという事なら、理論上はハードも使えます。
(9/13 追記)ただ、だからこそ色々セキュリティ上の制約はあり、現状ではハードを自在に扱えるようなものではありません。(追記終わり)
さらに上げると、Chrome OSはブラウザからハードも使えるようになっているはずです(さすがに現時点では詳しくはわかりませんが)。
話を再度、Androidに戻すと、AndroidアプリではWebViewというクラスを使うことで、ブラウザのレンダラを使用した表示をすることが可能です。WindowsでいうところのIEComponentのようなものです。アプリの中でWebViewを表示することで、ブラウザでWebページを表示するのと同等の表示結果が得られるわけです。
そして、当然WebViewはブラウザなので、JavaScriptも動作します。
つまり、こういうことが可能です。Androidアプリ(Java)で端末のセンサーなどのハードウェア機能を制御し、その結果をWebView内のjsに渡してwebを表示する。まあこんなことする意味があるのかどうかはおいておくとして、可能は可能です。
さて、ハードもひっくるめてwebアプリで制御するようなプロダクトを作りたい、といった事ですが、そのような試みを実際にしている企業さんや個人さんなどがAndroid界隈には既に結構な数の方がいらっしゃって、日本Androidの会やOESFなどでは既に何人もの方が発表していますので、興味のある方は是非月例イベントなどに足を運んでみてはいかがでしょうか、という宣伝で終わらせてしまう、ピュアなハートの大人でした。
参加していただいた皆さん、ありがとうございました。
特に、私の拙いセッション見ていただいた方本当にありがとうございました。まさかあれほど多くの人に来ていただけるとは思っていなかったので、正直今でもよくわかりません。
そういえば、ふくゆき総帥から「よかったですー。けど、デモほしかったですー。」などとありがたいお言葉をいただいたんですね!
で、いいわけしてもいいかな!
直前まで、各説明項目(Intent, SharedPrefs, ContentProvider, Http)のデモを入れるかどうか悩んだのですが、どうがんばってもデモを入れると時間が圧倒的に足りなく、とても駆け足な内容になるか、あるいは最後間に合わないで終了するような状況だったので、それならしっかり時間をかけて説明したいと思い、あのような形に。(それでも割と駆け足な内容だったと思うのですが)
すみません、ホントしょうじんします…。
サンフランシスコは意外とまだそれほど暑くもないです。
明日からGoogle I/Oなのです。
というわけで先ほど前日受付を済ませに会場まで行ってきました。
Chrome正式版おめでとうパーティが本日GoogleJapanオフィスの食堂にて開催されまして。
参加してきたついでにライトニングトークでしゃべってきました。
ネタトークだったんですが、よかったんでしょうか。
(最初はMac版Chromiumの話にしようかと思ったのですが、さりげなくAndroidのアピールも兼ねてChrome Liteの話に。)
デジカメとAndroid DP1で写真撮ってたんですが、デジカメのケーブルが職場にしかないのでDP1のだけひとまず。フラッシュがないんで手ぶれするんですよね…。
DP1でまともに撮れてたの下の一枚だけでした。(後ろや右側にもっとたくさん人がいるんです。本当です。)
