Google Developer Day 2009 ã«æ¥ã¦ã¾ã / ãã£ã¦ãã¾ãã
ååä¸ã¯é
ãã¦ããã®ã§ï¼ã¡ã¢ããªãã£ããã©ï¼å
¥ã£ãã¨ãã¡ããã©Google Waveã®ãã¢ãã£ã¦ã¦ï¼è¦ãããã®è¦ããã£ã¦ãããï¼
ãã¨ï¼Google Maps API v3ãè¿æ¥ä¸ã«æ¥ããï¼ã¨ãï¼ããããï¼v3ã¯API keyããããªããªããããï¼ã«ã¼ãæ¤ç´¢ç¨APIãã¤ãã¨ãï¼ãããããã°ãããï¼ãã¨ï¼æºå¸¯ãµã¤ãæ§ç¯ç¨ã«æ±ããããAPIã¨ãï¼è©³ç´°ä¸æã ãã©ï¼
ããã¨ï¼
Android æºå¸¯ã®ç«¯æ«ãäºåç»é²ãã¦ãåå è
å
¨å¡ãã¬ã¼ã³ãã¨ãããµãã©ã¤ãºï¼
ã¨ãããã¨ã§ï¼ã²ãããã¦ã¾ããã¾ããï¼ï¼
ã¡ãªã¿ã«ï¼ãã¹ã¯ããé ã£ãï¼Googleï¼ï¼ï¼
åå¾ããã©ã¤ãæ´æ°ãã¾ãï¼
HTML5ã«ããæããã次ä¸ä»£Web
- ã¢ããªã±ã¼ã·ã§ã³ãã©ãããã©ã¼ã
- HTML4ã®ãã¼ã¸ã§ã³ã¢ããã§ã¯ãããã»ã»ã»
- HTMLã®å½¹å²ã®å¤å
- ææ¸ã®å ±æã->ãã¢ããªã±ã¼ã·ã§ã³ã®åå°
HTML5ã®æ°æ©è½
-
- ãªãã©ã¤ã³é¢é£æ©è½
- SVG, MathMLï¼canvasï¼videoãªã©
- ãã©ã°ã¤ã³ãå¿
è¦ã ã£ããã®ãï¼HTMLã ãã§è¨è¿°ã§ããããã«ãªã
- ä¾ãã°ï¼Gmailã®ãã¡ã¤ã«è¤æ°é¸æï¼ã¢ãããã¼ãã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã¯ï¼ç¾ç¶Flashãå¿ è¦ -> Flashã®ãã¼ã¸ã§ã³ï¼ä¸é¨ã®ãã©ã¦ã¶ã§ä½¿ããªã
- ããããã®ä½¿ããã«å®è£ ã§ããã°ãããã
- Web Workers
- ã¹ã¯ãªããã§ãã«ãã¹ã¬ãã
- Web Sockets
- ãµã¼ãã¨ã¡ãã»ã¼ã¸äº¤æ
- Web Storage
- ã¯ã©ã¤ã¢ã³ãã®ãã¼ã¿ä¿ç®¡
ä»ããã§ãããHTML5ãã¯ãããã
-
- æ°ãããã©ã¦ã¶ã§ã¯å®è£
æ¸ã¿
- ã¾ã ä»æ§ãå®ã¾ã£ã¦ããªãé¨åããããã©
- ç¹å®ã®ç«¯æ«ï¼iPhoneãAndroidãªã©ï¼ã«å¯¾ããã¦ã§ãã¢ããªãªããã®ãã©ãããã©ã¼ã ã«å¯¾ãã¦éçºããã°ããã ãã ãï¼
- ãã©ããèªãã§ãã£ã¼ãããã¯ãã¦ã
- æ°ãããã©ã¦ã¶ã§ã¯å®è£
æ¸ã¿
æ´å²çãªè©±
4ã¤ã®è¦æ ¼ã§æ§æ
- HTML5
- Web Storage
- Web Workers
- The Web Sockets API
- ç¾å¨ã¯ãã¹ã¦ãã©ããã®ç¶æ
- ä»å¹´10æã«æå¾ã®Working Draft
- ããããå®è£ ããã¦ãã«ã¯ï¼->2012å¹´ã¨ããã£ã¨ãã¨ã¨ãããæã
æ°æ©è½ã®è§£èª¬
- ãã«ãã¹ã¬ããã®ããã®ä»çµã¿
- æ°ããã¹ã¬ãããçæããWorker
- è¤æ°ã®ã¦ã£ã³ãã¦ã§å ±æã§ããSharedWorker
var worker = new Worker('foo.js'); worker.postMessage(data); worker.onmessage = function(event) { _ = event.data; };
ã¿ãããªä½¿ãæ¹ï¼
Web Sockets
- HTTPã§ã¯ãªãï¼ãµã¼ãå´ã§ããã®ãããã³ã«ãå®è£ ããå¿ è¦ããã
- FWã¨ãããã¯ã·è¶ãã¨ãã®åé¡ã¯ï¼
- HTTP over Sockets ã¿ãããªãã®ãä½ã£ã¦ãéä¸
var sockets = new WebSockets("ws://example.com/channel1'); socket.postMessage(data);
ã¿ãããªä½¿ãæ¹ï¼
- ãã¼ã¸é·ç§»ãã¦ãæ¶ããªãã¯ã©ã¤ã¢ã³ãããã®ãã¼ã¿ä¿å
- KeyValueåã®ã¹ãã¬ã¼ã¸
- ã»ãã·ã§ã³ã¹ãã¬ã¼ã¸
- SQLçºè¡ããã¿ã¤ãã®ã¹ãã¬ã¼ã¸
- åæå®è¡ã»éåæå®è¡ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ããã
- ã³ã¼ã«ããã¯é¢æ°ã¨ããã§ããã°ã
ã¢ããªã±ã¼ã·ã§ã³ãã£ãã·ã¥
- ãã£ãã·ã¥ãã¦è¯ãURLï¼ããªãã§ã»ããURLã宣è¨
CACHE MANIFEST setting.html images/log.gif NETWORK: cgi/submit.cgi
<!DOCTYPE html> <html manifest="app.manifest"> ...
ã¿ãããªï¼
ãã©ã¼ã ã®å¼·å
- inputè¦ç´ ã®è¿½å
- search, tel, url, email, datetimeãªã©ãªã©
- ãã®ã¸ãã¯ï¼Operaãããªãå®è£ ãé²ãã§ãã
- ãã©ã¼ã æ¤è¨¼æ©è½
- submitãããã¾ãã«ï¼æå°å¤ãå¿ é ãªã©ã®ããªãã¼ããã§ãã
- ä¾
- patternå±æ§ã«ï¼ pattern="https?:///.+\.(gif|png|jpg|jpeg)" ã¿ããï¼æ£è¦è¡¨ç¾ã§å¶éå¯è½
- âHTML5 å®è£ ãã¦ããã©ã¦ã¶ã§è¦ãã¨æåããã¡ãã£ã¦ããã©ãã<input type="time" min="9:00" max="21:00" step="1800">ãã§ãã
ã¡ãã£ã¢å±æ§
- canvas
- ã¹ã¯ãªããã§ã®2次å ã°ã©ãã£ãã¯ã¹æå
- video/audio
- åçã»ä¸æ¢ã»æ©éããªã©ã®APIã
- menuè¦ç´
- ããããè¦ç´ ã®ã³ã³ããã¹ãã¡ãã¥ã¼ãå®ç¾©ã§ãã
- ãã¼ã«ãã¼ãç°¡åã«å®ç¾©
- datagridè¦ç´
- ã¾ã¨ã¾ã£ããã¼ã¿ï¼ãªã¹ãã»ããªã¼ã»è¡¨ãªã©
- ã½ã¼ããç·¨éã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ãä½ãããã
- progressè¦ç´
- meterè¦ç´
- æ§é åææ¸åãã®è¦ç´
- sectionï¼articleï¼asideï¼headerãªã©ãªã©
- è¦ãç®ã«ã¯ãã¾ãå½±é¿ããªã
ã¾ã¨ã
- ã¢ããªã±ã¼ã·ã§ã³ãã©ãããã©ã¼ã ã ãï¼ã¿ããªããããHTML5ãããã
ææ³
Firefox 3ã¨ããçå
ãã¦ãã£ã¦ããï¼ã¢ããªã³ã®ããã®ãã©ãããã©ã¼ã ã¨ãï¼ãããããã®ãæ½è±¡åããã¦HTMLã«è½ã¡ã¦ããã£ã¦æããããï¼
ãã ï¼ããã¾ã§éçºè
ãJSãFlashã使ã£ã¦ç¬èªã«å®è£
ãã¦ãããããããªãã®ãï¼ãã©ã¦ã¶ã®UIã«çµ±ä¸ãããåï¼ã¦ã¼ã¶ã«ã¨ã£ã¦ã®ä½¿ãåæï¼ç¹ã«ITã«å¼±ã人ãã¡ã«ã¨ã£ã¦ãï¼ãåä¸ããã ãããï¼æ¨æºåããããã¨ã¯è¯ããã¨ã ã¨æãï¼
ããã¨ï¼HTML5ã§ã¯ï¼ããã°ã©ããããªãã¨ã§ããªãã£ã表ç¾ãï¼ãã¶ã¤ãããã¼ã¯ã¢ããã®ã¿ã§ã§ãããã¨ãå¢ãã¦ããã¨æãï¼
ï¼JSãã使ããã®ã¯è¤éã«ãªã£ã¦ãã¦ãæ°ããããã©ï¼
ã½ã¼ã·ã£ã«Webã®å¯è½æ§
- e-ã³ãã¼ã¹ãµã¤ãã«ã½ã¼ã·ã£ã«ãªå³ä»ãããã¦ã¿ã
- ã¬ã¼ãã£ã³ã°ã»ã¬ãã¥ã¼æ©è½ãã¤ãã
- ã¦ã§ããµã¤ã管çè
ã®æ©ã¿
- ãã©ãã£ãã¯å¢å ã»é客 -> ã³ã³ãã¼ã¸ã§ã³åä¸ -> åçå¢å
- é
åçãªã¦ã§ããµã¤ãï¼ä»®èª¬ï¼
- ãã¡ã¤ã³ãããªãã£ï¼ãµã¤ãèªç¥ï¼
- ã¹ãã£ãã¯ãã¹ï¼ãµã¤ã訪åã®é »åº¦ï¼
- -> ã½ã¼ã·ã£ã«åã«ããå¹æ
- ãã¡ã¤ã³ãããªãã£
- ããã«å人ããé²ãããããï¼å£ã³ãï¼ã½ã¼ã·ã£ã«åã«ããèªç¥åº¦ãé«ãã
- ã¹ãã£ãã¯ãã¹
- ã¬ãã¥ã¼ãããï¼ã¬ãã¥ã¼ã«ãè©ä¾¡æ¸ãã
- èªåã®ã¬ãã¥ã¼ã®è©ä¾¡ï¼æ°ã«ãªã£ã¦ã¾ãæ¥ãããï¼
- ã¬ãã¥ã¼ãããï¼ã¬ãã¥ã¼ã«ãè©ä¾¡æ¸ãã
ããä¸åº¦e-ã³ãã¼ã¹ã«ã¤ãã¦èãã¦ã¿ã
- 使ããããï¼ããä¸æ©å
ã®ã½ã¼ã·ã£ã«ï¼
- 人æ°ã®åå->大éã®ã¬ãã¥ã¼ï¼ï¼ï¼ã¨ã¦ãè¦åããªã
- ç°ãªã£ãã¬ãã¥ã¼ï¼è©ä¾¡ã極端ã«éãï¼
- 解決çï¼ä¾ãã°ï¼ãå人ã®ã¬ãã¥ã¼ãããããã¦è¡¨ç¤ºããã¨ã
- 人éé¢ä¿ã®ã°ã©ãå
ããã½ã¼ã·ã£ã«ããããã¨ï¼Webã¯ããè¯ããªãã
ããããã-- OpenSocial Foundationã®Glazerãã
- 6次ã®éãã
- ã½ã¼ã·ã£ã«ã®ä¾
- YouTubeï¼åéã®ã¢ã¯ãã£ããã£
- ã¦ã¼ã¶ç»é²ã ãããã
- ã½ã¼ã·ã£ã«ãµã¤ãã¸ã®å¯¾å¿
- OpenSocialï¼éçºè ãï¼çµ±ä¸ããã¤ã³ã¿ã¼ãã§ã¼ã¹ã§ããããªãµã¤ãã«å¯¾å¿ã§ãã
- OpenSocial Foundationãæ¨æºåããããã¦ãã
- Google Friend Connect
- OpenSocialãªã©ã®ã½ã¼ã·ã£ã«ãªæ©è½ãã¤ãã£ãï¼Googleã®ãµã¼ãã¹API
- ã¦ã£ã¶ã¼ãã使ã£ã¦ã½ã¼ã·ã£ã«æ©è½ã追å
- éçºè
ããã£ã¬ã¯ããªã«ã¢ããªãç»é²
- OpenSocial RESTFul
- OAuth
- ...
- Social Graph API (Labs)
- ä»ã®ã¦ã§ããµã¼ãã¹ã§ä½æããã³ãã¯ã·ã§ã³ã®äººéé¢ä¿ã表ç¾ã§ãã
- ãã¨ã¯ãã
- OpenID, OAuthï¼OpenSocialãªã©ãããã
- Google Friend Connect使ã£ã¦ã¿ã¦ã
Google Chromeã®å é¨æ§é
- ãã©ã¦ã¶ã®åçºæ
- ã¦ã§ãã¢ããªãé²åãããããã«
- ã¦ã§ãã¢ããªãã»ã»ã»
- é«éã»å®å®ã»å®å ¨
åºæ¬æ§é ï¼ãã«ãããã»ããµã¢ã¼ããã¯ãã£
- ãModern browsers resumble the co-operatively multi-tasked OS of th e past.ã
- ä»ã®ãã©ã¦ã¶ã£ã¦ä¸æåã®OSã¿ãããªããã ãã
- ããã»ã¹
- GUIå¶å¾¡ã»ã¦ã§ããã¼ã¸æåã»ãã©ã°ã¤ã³...
- ãããä¸ã¤ä¸ã¤ã«ããã»ã¹ãå²ãå½ã¦ã¾ããã
ãã©ã¦ã¶ããã»ã¹
- ã¡ã¤ã³ããã»ã¹
- ä¿¡é ¼ãããããã»ã¹ã»ãã¼ã«ã«ãã¡ã¤ã«ã«ã¢ã¯ã»ã¹ã§ããå¿ è¦ããã
æç»ããã»ã¹
- HTMLèªã¿è¾¼ã¿ãããããããã«ãã
- æè¿ã¯DOMã¤ãã³ãã®å¦ç
- WebKit + V8
- ãã¼ã«ã«ãã¡ã¤ã«ã«ã¯ã¢ã¯ã»ã¹ã§ããå¿
è¦ã¯ãªããã
- ãµã³ãããã¯ã¹ã¨ããã©ã¤ãã©ãªã§ã§ãã®ã¸ãå¶é
ãã©ã°ã¤ã³ããã»ã¹
- Flashï¼ActiveX ... ããããåããããã»ã¹ãå°ç¨ã®ãã®ã«ãã¦ãã
ã¯ã¼ã«ã¼ããã»ã¹ï¼éçºä¸ï¼
æ¡å¼µæ©è½ï¼éçºä¸ï¼
- Chromeã®æ¡å¼µæ©è½ãæ©è½ä½æä¸
- ä»æ§ãè°è«ãéãã¦ã
æç»ããã»ã¹
- ã©ãããã¿ã¤ãã³ã°ã§æ°ããããã»ã¹ã¤ãã£ã¦ãã®ã
- 1ã¤ã®ã¿ãã«1ã¤ã®ããã»ã¹
- éããã¡ã¤ã³ã«é·ç§»ããã¨ãã¯ï¼ããã»ã¹ã®ä½ãç´ã
- Omniboxã¸ã®URLã®å ¥å
- JavaScriptã®ãããã¢ãããªã©ã¯1ã¤ã®ããã»ã¹ãå ±æ
ããã»ã¹ééä¿¡
- ã¯ãªãã¯ãªã©ã®ã¤ãã³ããç¥ã£ã¦ãã®ã¯ãã©ã¦ã¶ããã»ã¹ã ã
- åããã»ã¹ã«éç¥ -> ããã»ã¹ééä¿¡å°ç¨ã¹ã¬ãããå®è£
- ååã¤ããã¤ãï¼éåæã»åæï¼
- æç»çµæ転éããµã ã転éãªã©ã¯ï¼ååã¤ããã¤ãã ã¨å¹çãæªãããå ±æã¡ã¢ãª
- ãã©ã¦ã¶ããã»ã¹ã -> IPC -> ã¬ã³ãã©ï¼WebKitï¼
Chromeã®ãããã¯ã¼ã¯
- Chrome 1.0 -> 2.0ã«ããã¦å
¨é¢çã«æ¸ãæãããã
- ãã¾ãè¨ãä¼ãããã¦ãªããã©
- 1.0ã¯IEäºæãªé¨åããã£ã
- ããã¯ããªãWindowsãã¿ãã¿ã§ç§»æ¤æ§ã¨ãããªã
- Chrome 2.0 ã§é«éå
- æ¬ä¼¼HTTPãã¤ãã©ã¤ã³ -> ãProxyã解決ãã¦ãã¾ãããã©ãã«ãããã
ãµã³ãããã¯ã¹ã¨ã¯
ãããããè¨ã£ãã£ã¦æªããã®ä½ã人ã¯ããããå¶éãããã
- ã©ã¤ãã©ãª
- æªæã®ããã¦ã§ããµã¤ãããã·ã¹ãã ãå®ã
- Google Chromeã®ãã¹ã¦ã®ããã»ã¹ã¯ãã®ã©ã¤ãã©ãªä¸ã«å®è£
- ãã¼ã«ã«ã½ã¼ã¹ã¸ã®ã¢ã¯ã»ã¹æ¨©
- ãã¡ã¤ã«ã»ã¦ã£ã³ãã¦ã»å ¥åºåããã¤ã¹ã»ã»
- Integrity Level (Vista以é) ãLow ã«ãã¦ãã
- ã»ãã¥ãªãã£ãã¼ã«ãã¤ããã¦ããã1段é
WebKitã«ã¤ãã¦
- ã·ã³ãã«ã ããæ¡ç¨ãã
Google Chrome 㨠WebKit ã®é¢ä¿
- Chrome 1.0 -> Safari 3 ã§é å¸ããã¦ããã®ãV8ã«ããããé¨åã¨ã以å¤ã¯ã»ã¨ãã©ã¾ãã¾ä½¿ã£ã¦ã
- ã§ãWebKitã«ãè²¢ç®ããã»ããããããããï¼
- ãããã¨ãæããããã«ãªã£ã
- 3人ã®Reviewer
- 10人以ä¸ã®ã³ããã¿
- WebKit ã®é«éåã»æ°æ©è½ã®å®è£
ï¼HTML5ã»CSS3ï¼ã«ããããã
- è¨è¨æ®µéãããã£ã¹ã«ãã·ã§ã³ã
Google Chrome ã® HTML5 ã¸ã®å¯¾å¿
- å®è£
ä¸
- Audio/Video
- ã¢ããªã±ã¼ã·ã§ã³ãã£ãã·ã¥
- ãã¼ã¿ãã¼ã¹
- ãã¼ã«ã«/ã»ãã·ã§ã³ã¹ãã¬ã¼ã¸
- ...
- Safariã§å®è£
ã§ãã¦ããã¤ããªãChromeã§ã§ããªãï¼
- ãµã³ãããã¯ã¹ã使ã£ã¦ãããã
- ããã¼ã«ã«ãªã½ã¼ã¹ã¸ã®ã¢ã¯ã»ã¹ãå¶éãã¦ãã®ã«ãã¼ã«ã«ã¹ãã¬ã¼ã¸ãã¤ããã»ã»ã»ã ã¨ï¼ã
- ã»ãã¥ãªãã£ã®é«ããä¿ã¡ã¤ã¤
V8
- é«éJavaScriptå®è¡ã¨ã³ã¸ã³
- ã¼ãããã®å®è£
ã ã£ãã®ã§ï¼ãªãã§ãã¢ãªã ã£ã
- èªåãã¡ã®å ¥ãããæ©è½ããã£ã±ãå ¥ãã
- ä¸ä»£å¥GC
- Chrome 2.0 -> æ°æ£è¦è¡¨ç¾ã©ã¤ãã©ãª (irregexp)
- é »ç¹ã«ä½¿ãããã³ã¼ãã®ãããã¡ã¤ãªã³ã°ã¨åã³ã³ãã¤ã«
Google Chrome ã®æ¡å¼µæ©è½
- HTMLã»CSSã»JavaScriptã§ãããããã«ããã
- Chromiumã§ã¯
ãã«ããªãã·ã§ã³ã«ãã使ããâ (ã³ã¡ã³ãæ¬ãã)èµ·åãªãã·ã§ã³ã§ãããããã§ã - Chromiumã¯User Scriptã使ãã â (ã³ã¡ã³ãæ¬ãã)Chromiumã§ãGoogle Chrome ã§ãèµ·åãªãã·ã§ã³ã§ãããããã§ã
Chromuimã¨Google Chromeã®éã
- Google Chromeã¯Chromiumããã¼ã¹ã«ä½æ
- Chromiumã«å¯¾ããå¤æ´ã¯Google Chromeã«åæ
- Chromiumã®ã½ã¼ã¹ããªã¼
- WebKitãV8ã®ãµã¼ããã¼ãã£ã®é¢ä¸
- ãWebKitã®ãã¼ã¸ã§ã³ããã£ã¦ããããããããã
- ã¡ã¿ã½ã¼ã¹ããªã¼
- WebKitãV8ã®ãµã¼ããã¼ãã£ã®é¢ä¸
ãã¼ã«
- Rietveld
- ã¬ãã¥ã¼ãã¼ã«
- diffãè¦ã¦ã³ã¡ã³ããããã
- Buildbot
- ãã¡ã¤ã«ã®ç·æ°ã¯ï¼
- ç´88,000
- æ§æï¼ãã¹ãã³ã¼ããã»ã©ãã©ï¼LayoutTestï¼ï¼ããã¹ããã¡ã¤ã«ï¼
ããã¼ï¼ãã¹ã大äºï¼
OpenSocial ã¢ããã³ã¹
- ã½ã¼ã·ã£ã«ã¦ã§ãã»CPMã¯å°ãªããã©ï¼ã¦ã¼ã¶ãå¤ã
- ããã©ã¼ãã³ã¹ãã¨ã¦ã大äº
- 5%é ããªãã¨ï¼20%ã®æ¤ç´¢ãã©ãã£ãã¯ã失ãï¼Googleã®å ´åï¼
- 0.1ç§é ããªãã¨ï¼1%売ãä¸ããè½ã¡ãï¼Amazonï¼
- é«éåãã§ããã°ï¼å©ç¨éãå¢ãã
- -30KB -> 30% ã®æé· / 3é±é
ã¬ã³ãã³ã·ã¼ãåæ¸ãï¼ã³ã¹ããåæ¸ããã
- ãã¤ã¼ãå®è£ ï¼ãã¹ãã£ã³ã°ã³ã¹ãã»å¤§åå¹ ã®ã³ã¹ã->ã¦ã¼ã¶ãå¢ãããã°ãã«ãªããªã
- ã½ã¼ã·ã£ã«åããããããããï¼
Quarter Mile
- Quartermile
- Backend: Google App Engine
- ã½ã¼ã¹ï¼ http://bit.ly/quartermile-src
- XMLSpec: http://bit.ly/quartermile-app
ãã¤ã¼ãå®è£ ã¨ï¼ã½ã¼ã·ã£ã«å®è£ ã®ã³ã¹ãæ¯è¼
- Nativeï¼ $855.74/month
Webéçºã®ãã¹ããã©ã¯ãã£ã¹
- JavaScriptã®ã¤ã³ãã³ãã空ç½ã¯ãã©ã¦ã¶ã«ã¨ã£ã¦ã¯å¿
è¦ãªã
- JSï¼CSS -> ã®ç©ºç½ãé¤ãã¨ï¼ç´50%ï¼$61ã®åæ¸ã«ãªã
- YUI Compressor
- ã¬ã¤ãã³ã·ã®æ¸¬å®(JavaScipt ã® onload 㧠endDate - startDate !)
- CSSã§ï¼ç»åãã¹ãã©ã¤ã (è¤æ°ã®ç»åãã²ã¨ã¤ã«ã¾ã¨ãã)
- HTTPãªã¯ã¨ã¹ãã1åã«ï¼
- ãã£ãã·ã¥ã³ã³ããã¼ã«
<FileMatch "..."> Header set Cache-Control "max-age=290304000, public" </FileMatch>
ãã¼ãã®ããããªã¼ã®åé¡ã¨ï¼ããã¾èå³ãªããã¨ãããï¼ãã£ããã¡ã¢çµäºï½ï¼æ¬¡ã®è©±é¡ã§ã¾ãåéããããï¼
Google ãã¯ããã¸ã¼ã©ã¤ããã³ã°ãã¼ã¯
ã¡ã¢åéï¼
Key - A Web Framework on Google App Engine
- çã¾ããåã®èµ¤ãå
- 7æã«çã¾ããæ¯åãããããã£ã¦ååä»ããï¼
- ããã¾ãã²ã©ãã½ããåºãã¨æªå£è¨ãããã®ããã ããã
- Djangoãåèã«ãã
- ãã³ãã¬ã¼ãã¨ã³ã¸ã³ã¯jinja2ãæ¡ç¨
- ã©ã¤ã»ã³ã¹ã¯BSD
Made Easier to Use Rails on GAE/J
- Google App Engine / J ä¸ã§Railsã使ã
- Seesaaã®äººï¼ App Engine ã® API Expert
- JRuby on Rails 㯠GAE/J ããªãªã¼ã¹ããã次ã®æ¥ã«ã¯åãã¦ãã
- ããããããªãããããªããã¨ãå¤ããã大å¤ãããç¡ç
- ã§ï¼3è¡ã§åãããã«ãã
- railsèªä½ãjarã«ãã
- ã¾ããï½ï½ï½
- All-in-oneã ãããã¼ã¸ã§ã³ã¢ãã大å¤
Androidã§å¤ããæ¥å¸¸çæ´»
- Androidã®ä¼ã®å¹¹äºãã
- Androidããããããã®ã¯ãªã«ãï¼çµã¿è¾¼ã¿ã¨ã³ã¸ãã¢ã®è¦³ç¹ããï¼
- çµã¿è¾¼ã¿æ¥çå
¨ä½ã®æè¡ã¬ãã«ã®å¼ãä¸ãï¼çµã¿è¾¼ã¿éçºç¾å ´ï¼æ代é
ãï¼
- è²·ã£ã¦ãã端æ«ãã®ã¾ã¾USBããã¦ãããã°ã§ãããªãã¦ããã¼ï¼
- ã¦ã§ãæ¥çãå½ããåã ã£ããã¨ãçµã¿è¾¼ã¿æ¥çã§ãå®ç¾ã§ããããã«ãªã
- æºå¸¯é»è©±ã®éçºã«åå
¥ããæ·å±
ãä¸ãã£ã
- æ°å¹´å¾ã«ã¯PCã¨æºå¸¯ãèåããããããªããï¼
- çµã¿è¾¼ã¿æ¥çå
¨ä½ã®æè¡ã¬ãã«ã®å¼ãä¸ãï¼çµã¿è¾¼ã¿éçºç¾å ´ï¼æ代é
ãï¼
- ã¯ã¯ã¯ã¯ããã
ããããªãã°ãããã¾ãéæ£ï¼
Google Wave API
ãã¦ï¼ããããªãã°ãã£ãã®ã§ããã¹ãã¨ãã£ã¿ã«ã¡ã¢ã£ã¦ããã®ãå¸°å® ãã¦ãããã¹ãï¼
- WaveSandbox.com
- è¿æ¥ä¸ã«ã¢ã«ã¦ã³ãé å¸
- wave ã¯å°çã®ãããªãã®
- ã²ã¨ã¤ã®Waveletããã¼ããã·ã§ã³ãçºè¡ãã
- inline ã§ãã©ã¤ãã¼ããªã³ãã¥ãã±ã¼ã·ã§ã³ãã§ããããã«ãªã£ã¦ãã
- Embedding - çµã¿è¾¼ã¿
- ã¦ã§ãéçºè ã®ã²ã¨ãï¼èªåã®ãµã¤ãã«ãã£ã¦ããã
- Extension - å¤é¨ã®ãã®ããªã«ãWaveã®ä¸ã«ãã£ã¦ãã
Embeddingã®ã¢ã¼ããã¯ãã£
- Google Mapsã¿ãããªãã®
- JavaScriptã®API
- Embed API method
- LoadWave
- SetUIConfig
- AddReply
- Follow
- example:
- http://wave-api.appspot.com/public/embed.js
- var wavePanel = new WavePanel(...);
- UIãã«ã¹ã¿ãã¤ãº
- Wave Embed Gadget Setting
- ã¦ã£ã¶ã¼ãã§ã¬ã¸ã§ããä½æ
- orkut
Extension
- Wave以å¤ã®ã¨ã¬ã¡ã³ããWaveã§ä½¿ãã
ã£ã¦èª¬æããã¦ãã¾ãããï¼çµæ§ãããããï¼
ããããªã¼åããªã®ã§ãã®ã¸ãã¾ã§ããã¡ã¢ã£ã¦ãªãã§ããï¼å¾åã¯ï¼å
·ä½çãªAPIã®ä½¿ãæ¹ã¨ãµã³ãã«ã³ã¼ãã¨ããã£ã¦ã¾ããï¼
ãããã®ä½ãæ¹ã¨ãï¼
Mockingbirdã£ã¦ããFirefoxã®æ¡å¼µæ©è½ã§ï¼ãã©ã¦ã¸ã³ã°ã®å
±æã¨ãï¼Google Mapsã®è¦ã¦ãç»é¢ã®å
±æã¨ãããããå®è£
ãã¦ããã ãã©ï¼å®è£
éä¸ã®ã¾ã¾æ¾ç½®æ°å³ã»ã»ã»ï¼ããããã²ã¨ã¾ã¨ãã«ãªã£ãï¼ãã¡ããããã ããããªããã©ï¼ãããªå°è±¡ï¼
ãã¨ï¼èãã¦ã¦æã£ãã®ã¯ï¼SMTPã®ä»£ããã«ãªãããï¼ã£ã¦è©±ã ã£ããã©ï¼SMTPã©ãããããªãã¦ï¼IRCããã飲ã¿è¾¼ãã§ãã¾ã£ã¦ããããããªãï¼ã¨æã£ãï¼ãããã¿ãããªãã®ã¯APIçµç±ã§ç°¡åã«ä½ãã¡ããããï¼
ãã£ã±ããããï¼Gooel Waveï¼
GTUG (ãã¼ãã) æ±äº¬
ããããã¨ããã§ããã追è¨ã
Google Technology User Group ã ããã§ããå
æ¥ã®Google I/O 以æ¥ä¸çä¸ã§æ¥éã«çºè¶³ãã¦ãããããã§ãã
æ±äº¬ã§ã¯ãä»æ¥ãTokyo GTUGãçºè¶³ãããããã§ããï¼æã«ç¬¬ä¸åéä¼ããããããã®ã§ãè¦ãã§ãã¯ã§ããããã¼ãã¯Google Waveã§ãããããã§ãã
ã¾ã¨ã
ãã¦ãã¦ï¼
Androidã«æºå¸¯ããã£ã¦ã¦ãã¦ãããï¼ã¨ãããµãã©ã¤ãºãé¤ãã¦ãï¼Google Waveã®è©±ãï¼ããã«ä¼´ãï¼HTML5ï¼Google Chromeã®è©±ãä¸å¿ã«èãã¦åã£ããã ãã©ï¼é常ã«ææ義ãªä¸æ¥ã ã£ãï¼
ç¹ã«Google Waveã¯ï¼ãããï¼è¦ããã«ï¼ä¸è¬ã«ã¦ã¼ã¶ã«ã¨ã£ã¦ãçæ´»åºç¤ã¨ãªãããã ãã§ãªãï¼éçºè
ã«ã¨ã£ã¦ãï¼ãªã¼ãã³ã§æ°ãããã®ãéçºãããããã©ãããã©ã¼ã ãã§ãã¦ããæ°ãããï¼
次ä¸ä»£Webï¼ãªãã¦ãã®ã¯æ¼ ç¶ã¨ããã¤ã¡ã¼ã¸ã°ã£ããã§ï¼ãªãã¨ãªãé²ãã¤ãããããªè©±ã ã£ãã®ãï¼ããæ°å¹´ã§ãã£ã¨èº«è¿ã«æããããã«ãªã£ã¦ããï¼
æ¢åã®ã¦ã§ããã次ã®æ代ã®ã¦ã§ãã¸ï¼ããã¯ãã£ã±ãï¼ããªã¼ãã³ããéµã§ããï¼å·¨å¤§ãªãã©ãã£ãã¯ãæã¤ããã¨ãªãã³ãã¥ããã£ãµã¤ãã»ã½ã¼ã·ã£ã«ãµã¤ããããï¼ããããæãå¼µãããã«ç¡æ°ã®å°ããªã¦ã§ããµã¼ãã¹ãããï¼ãããªä¸çãããç®ã®åã«ãã¦ããï¼