サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大そうじへの備え
blog.livedoor.jp/kotesaki
フルスタックエンジニアという言葉をよく耳にします。Webアプリ書くときに、通信レイヤの仕組みも分かってないとレスポンス性の高いサービスは提供できないから、ちゃんとNWレイヤも知っておこうねというもの。OSI参照で言うと、layer5 相当のHTTP/1.1 => SPDY, HTTP2に移行してるけど、その下のLayer4 ( TCP )の特性も知っておかないと逆効果にもなりかねない(この辺の詳細は、去年僕が HTML5 Conference 2013で講演した内容を 「SPDYやQUIC登場の背景。Webの進化がプロトコルを変えつつある。HTML5 Conference 2013」 と、publickey でレポート記事で紹介いただいています)とか。 こういった背景から、長いこと利用されていなかったSCTPが活用されたり、SCTPは改善の余地があるとしてQUICが出てきたりと、Webがト
先日のポストで Chrome Packaged Apps v2 の最新情報について、速報紹介しました。その中で、 現在は、Consumer preview の状態。Chrome29がstable(今年の夏ぐらい)のタイミングで Consumer releaseになる Mobileについては、Apache Cordovaをフレームワークとして、ハイブリッドアプリとして展開される について紹介しました。今回の記事では、これらの詳細についてお知らせします。 WebStoreでPackaged Apps v2公開!一足先にテストしちゃおう!! まず、最初に Consumer previewとConsumer releaseの違いについて。Googlerの方に詳細聞いてみたら、現状でもspecial feature ( Socket API とか。既に Experimental 外れてるのでw )
いよいよ、Google I/O 2013 が始まりました!!今年は、初めてのI/O参加で、サンフランシスコに来ています。 基調講演は、昨年のダイブ w/ Google glassに比べると堅実な印象で、大半をAndroidとChromeに時間を割きつつ、一番派手だったのが、Google Maps w/ WebGL。まぁ、Maps GLの流れからすると、「ついに来たか」って感じなので、あまりサプライズという感じではありませんでした。まぁ、基調講演のレポートは各所から出ると思うので、今回の僕の記事では取り上げません。 Chrome/HTML5について、keynoteではそんなにサプライズな感じではなかったのですが、"The Chrome Packaged Apps State of the Nation" というセッションでかなりのサプライズがあったので、今日はそれの速報記事です。 このセッシ
去年から試験実装やデモなど行なっていた、WebからのTV連携(PCで検索した YouTube ビデオをDLNA対応テレビに飛ばして表示する)ですが、勤め先(NTTコミュニケーションズ)から試験サービスとして正式に公開しました!!やったーーー :D 名前は、ベタですが "Device Orchestration on Chrome Packaged Apps v2"。 試験公開するに辺り、機能は一点集中型で行こうかなと。で、同僚のsakkuruさん(最近、HTML5とか勉強会のレポートとか書かれています)と「どんな感じにしよっか」と相談。で、 「TVってダラダラ見れるのがいいとこだよねー」 ってことで、YouTubeで検索した結果がエンドレスでTVに流れ続けるというものにしました ;-)。 最新の Chrome Packaged Apps v2 で動いていて、その機能を使って、DLNAの各種
WebRTCへの最近の僕 今年最初のブログ記事ポスト。いやーもう4月も半ば。桜も散っちゃいました。ほんと、更新頻度の低いブログです・・・今日は、WebRTC関連の話題。 DataChannel(映像、音声以外の任意のデータを送受信できる機能)が実装されたり、Firefox nightlyでも実装が始まったり、Chrome for Android(beta)でも実装が始まったりと、最近ホットなニュースが目白押しのWebRTC(Web Real Time Communication)。僕も、ちょいちょいプロトタイプ実装を試しています。 例えば、3/22のWeb先端味見部の時に、当日講師の吉川さんに取り上げていただいたチャット実装(github)とか(その後、吉川さん、大津谷さんのcontributeのおかげで、ビデオチャット機能実装とかバグ改修とか進められています) なお、上のコードは、サンプ
2012年も残すところあと1週間あまり、明日はクリスマスです。今年1年はWebとデバイスとの連携を中心に色んな活動をしてきました。「最新のWeb技術(Chrome の Socket API)を用いるとブラウザから直接TVを操作できる」ことを紹介し、それと Web Intents を組み合わせると「YouTubeで検索したビデオを、テレビで視聴することができるよ」といったデモ(内容は、下のYouTubeをチェックしてみてください)を紹介してきました。 しかし、残念ながら(たぶん)2012年12月18日以降のChrome canaryで、Web Intents が使えなくなりました(Chromiumの対応Issueはこれ)。10月末ぐらいから、chorme://flags で「有効」にしないとWebページからは使えなくなっていた(Chrome の Web Apps では使えていました)のですが
Chrome Apps v2's socket api Chrome の Web appsが manifest v2 に変わり、その機能、特に Packaged Apps が大幅に変わっています。 What Are Packaged Apps? その中で僕が特に注目しているのが、socket api。ChromeのPackaged Appsから、生のソケットコーディングが出来るようになります。 この socket api ですが、これまで tcp ソケットでサーバーを立てることができなかった(listenとかacceptのメソッドが無かった)のですが、昨日 Google API Expert MTGで 吉川さんから、「昨晩Chromiumで実装されたみたい」との情報が。ということで、早速簡単なWebサーバーを動かしてみました・・・というのが今日のEntryです。(執筆時点では、すでに、ca
昨日、一昨日と幕張で開催されたW3CのWorkshopに参加しました。内容は、Web技術をデジタルサイネージにも適用していこうというもので、僕のほうからは「WebIntentsなどのAPIを利用して、サイネージとスマフォとかを連携すると面白いんじゃない?」といった提案をさせてもらいました(毎度のことながら、自分の英語力の無さに反省しきりなわけですが・・・)。 で、このWorkshopの際、W3C の Michael Smithさんに興味深い動きを教えていただいたので、今日はその紹介をします。 System Applications Working Group 最近、System Applications という Working Group が立ち上がったそうで、そのcharterページ後半に取り扱おうとしているAPIが書いてあるのですが、これが凄い!! 一部ピックアップすると Power
今日spdy-devのMLに「nginxでspdy対応したよ!!」がPOSTされたので、早速 share 1.3.xへのパッチとして提供されています。インストール方法などは以下のURLをチェックしてみてください。 http://nginx.org/patches/spdy/README.txt 僕まだ試せていませんが、nginxが対応するとテンション上がりますよねw いやホントSPDY熱いっす。 P.S. 来週 App Engine ja nightでSPDYについて講演します。
最近、大台の40になったということで、健康に気を付けようかな・・・と毎週末近所の河川敷をジョギングしています。初めてから大体一ヶ月、最初は 4km 走ったら筋肉痛でとんでもないことになっていましたが、最近は 7km ぐらいを 6min./km ぐらいのペースで走れるようになりました。とりあえず、1年後ぐらいにはどこかのマラソンに出るぐらいの目標で頑張ろうかなと思っています。 さて今日は Google の PaaS サービス、GAE (Goole App Engine)で、SPDYを簡単に使えますという話です。 SPDY indicator 突然ですが、WebサイトがSPDYに対応しているかを簡単にチェックするものとして、SPDY indicator というツールがあります。Chrome Extension や、FireFox Add-onsとして公開されています。 これをインストールすると
今日のブログのお題は、SPDY。Webサービスを「とにかく速くしよう!!」ということで、Google が提唱したプロトコルです。既にChromeでは、このSPDYが実装されており、サーチやGMailなど Google が提供する殆どのサービスで既に利用されています。 最近では、FireFoxへのインプリが始まったり、HTTP/2.0検討のベースとなるなど何かと話題のWeb最新技術です。 SPDYがWebを早くする仕組み SPDYは、現状のWebが抱える問題 ”HTTPは遅い!!" を解決するものです。HTTP が "遅い" 原因は色々ありますが、中でも最も大きいのは Request and Response の制限です。このため、SPDY では一本の HTTPS セッションの中で複数の HTTP セッションを多重化するといったことを行い高速化を実現しています。 Request & Resp
今日のポストはWebRTCについて。Webでリアルタイム通信サービスを実現するためのAPIです。ブラウザで、plug-inを使わずにテレビ電話サービスを作ることが出来るようになります。 WebRTCってなーに? WebRTCのプロジェクトページの冒頭で、WebRTCを以下のように定義しています。 WebRTC is a free, open project that enables web browsers with Real-Time Communications (RTC) capabilities via simple Javascript APIs. The WebRTC components have been optimized to best serve this purpose. ベタに訳すると「WebRTCはオープンなプロジェクトです。簡単な複数の Javascript
100人のプロが選んだソフトウェア開発の名著 今日は、Developers Summitの10th anniversaryを記念して刊行される「100人のプロが選んだソフトウェア開発の名著 君のために選んだ1冊 」に僕が寄稿したものをポストします。 翔泳社さんの許可は頂いています・・・というより「是非ブログに書いてください!!」というお言葉を頂いておりまして、そういった経緯もありということで今回ブログにポストした次第 :) (こういったオープンさは素晴らしいですよね!!)で、出版されているものをそのまま・・・というのも何ですので、オリジナルの原稿をベースとしたものを今回はポストします(出版されているバージョンは、誌面の都合上、若干文章を削ったりしているので)。 ちなみに版元の翔泳社さんによると、こちらの本は 2/16 - 17 で開催されるデブサミにて先行発売されるとのこと(会場で買ったほ
今日は仕事でシリコンバレーに来ています。よくよく考えてみると、最近半年で3回シリコンバレーに来ている気が・・・まぁ、来るたびに「もっと英語がんばんなきゃ・・・」と毎回反省するへたれなわけですが。 ということで、時差ぼけ全開モード!!現地時間は am 2:00です。あんまり頑張ると、明日猛省することになりそうなので、今日はショートな感じで。 WebIntents on Chrome19 (Canary build) 僕は通常 ChromeのCanary build(執筆時点のバージョンは19.0.1031.0 canary)を使っているのですが、今日 dev tool を何気に見ていたところ、どうやら WebIntents のインプリが始まった様子。下の図は、window.navigatorオブジェクトに対する自動補完。startActirvity()が表示されていることが分かります。 僕が
今日のエントリーでは、 Web Intents で persistent connection (継続接続)を実現するための方法について紹介します。 先日のWeb Intents についてのエントリーで、今のWeb Intentsの状態を『(何しろ、W3Cのサイトにドラフトもあがっていない状態なので)』 などと書いていたのですが、既にあがっていました・・・orz Web Intents の仕様が記述されているのは、もちろんなのですが、W3C の Mailing Listでのこれまでの議論を踏まえたものも記述されており、なかなか参考になります。それに該当するのが Section 4 & 5 なのですが、今日のエントリーでは、その中から 5.3 Persistent connctions (継続接続)について取り上げたいと思います。 Web Intents は RPC モデル Web Inte
今日のエントリーは、久々のCloud Foundryネタです。 What's the idea of this entry? オープンPaaSの Cloud Foundry は、通常このページ(github/vcap)に書かれている "Automated Setup" を使ってインストールします。で、このSetupスクリプトですが、Ubuntu 10.04.2 server 64bit で動かすことを前提に作られています。このため、Cloud Foundryの動作を確かめたり、色々弄ろうとするときに、わざわざリモートのサーバーにssh張って。。。とか何かと面倒です。やはり、「手元のMacで動かしたいよな〜そのほうが何かと楽だし」ということで、MacにCloud Foundryをマニュアルインストールしましたので、それのメモです。 Does it work on Mac? さて、先のSetu
前回のエントリーに引き続き、今回も Web Intents に関するポストです。今回は、「なぜ、Web Intents が Web でのマルチデバイス連携サービスを実現するにあたり、重要な API となるのか?」について説明します。なお、Web Intents の基本と使い方については、前回のエントリーを参照下さい。 Device APIs の最新動向 Web Intents とマルチデバイスとの関係に入る前に、Device APIs の最新動向について触れたいと思います。 スマートフォンなどの Device のネイティブ機能を Web から利用する API について、 W3C では、主に Device APIs Working Group で仕様化が進められています。例えば、住所録情報を取得する "Contacts API" や、カメラを起動し、撮影した写真画像を取得する "HTML M
新年明けましておめでとうございます。本年も宜しくお願いします。 さて、今年最初のPOSTは、僕が今一番興味を持っているAPIの "Web Intents" について取り上げます。 この、"Web Intents"は、Androidの "Intent" に非常に良く似た仕組みで、異なるWebアプリケーションを自由に連携することを可能とするAPIです。Webサイトの不足機能に対し、他のWebアプリの機能を利用することが可能になるため、スピーディーなWebアプリの開発を実現してくれます。利用するユーザーにとっても、手慣れたWebアプリを利用できるメリットが有ります。 このAPIの更に興味深いところは、 Device機能の利用 デバイス内の固有の機能(カメラや、住所録など)をブラウザから利用する。 Web of things スマートフォンやテレビなどのマルチデバイス連携サービスをWebで実現する
WebSocket が、12月12日についにRFCになりました(RFC6455)。テキスト転送だけでなく、バイナリー転送もサポートされ、コネクションをキープするための ping/pongなどコントロールフレームも定義されました。rfcになる過程で様々なバージョンと、その実装系が出ていますので、そこのネゴシエーションの仕組みが入っていたり、以前は割と自由に使えそうだった subprotocolが、IANAにレジストレーションが必要になったりと、なかなかしっかりしたプロトコルに仕上がっている印象です。 さて、今年最後となる、今日のポストでは、このWebSocketにより、今後のWebはどうなっていくのかについて、僕が最近感じている妄想を書き連ねてみます。 WebSocketとは、いったい何なのか? さて、WebSocketとは、いったい何なのでしょうか?この問に対して、一般的には、 WebでP
昨日、知人が開いている Cloud Foundry の輪読会でLTをしてきましたので、今日はその話。 「Cloud Foundryって何?」について、簡単に触れておくと、VMwareが提供しているオープンソースのPaaSフレームワークで、Google App EngineやHerokuのようなaPaaS(アプリケーション開発用のPaaS)を簡単に構築出来る代物です。 個人で開発する分にはHerokuは大変便利ですが、オフィシャルな開発でHerokuを使おうとすると、何かとバリアーがあったり(技術的な理由というより、ポリシーとかトラディショナルな理由が殆どだったりしますが)するのも事実。一方、Cloud Foundryであれば、オープンソースのソフトウェアで、githubで公開されています。従って、社内の開発環境などに簡単に利用可能です。使える言語も、rubyやnode, Java, PHP
先週&今週は、出張でアメリカ西海岸。そんな折、先週の金曜日(16日)の夜に BayJax meetup が Yahoo! 本社で開催されるということで、参加してきました。 BayJaxは、シリコンバレー地区のAjax & Javascriptに関するMeetUp。大体、半年おきに開催されているようです。今回参加したMeetUpの形態は、Conference形式(勉強会ののりに近い)。日本との勉強会との違いは、最初にピザを食べてお腹が満たされたところで勉強会が始まることと(こっちの考え方の方が、確かにリーズナブル)、質問が活発なこと(海外では一般的なことですが)。とても、楽しい時間を過ごすことが出来ました。 その中で講演された AngularJS について、今回は紹介します。 AngularJS AngularJSは、とてもシンプルにWeb Appを書くことができる軽量な MVC フレームワ
前回、ブログを書いたのが6月9日。。。ってことで3ヶ月ぶりのPOSTです。 7月11日にWebSocketのDraft(IETF)がLast Callを迎えました。この時のrevisionは10だったのですが、9月8日時点で、revisionは14まで更新されています(ざっと見た感じ、エディトリアルと細かい点の変更がメインなようです)。また、これに伴いW3CのAPI仕様もバイナリーが扱えるように変更が進んでいるようです(Blob と ArrayBufferで指定する様子)。まだ、ブラウザでバイナリーメッセージングが使える状態ではありませんが、楽しみですね!!この辺りは、もうちょっと調べてから。。。ということで、また後日POSTしたいと思います:) 今回は、7月に僕が講演したプレゼン資料を紹介します。 pjax〜HTML5時代のAjaxサイトプラクティス〜 以下で紹介するのは第19回HTML
一ヶ月ぶりのブログPOSTです。先月は、色んなことがありました。大きくは3つ。 アメリカのボルチモア(メリーランド州。ワシントンDCから1時間弱ぐらいのところ)にて 5/16 - 19の日程で開催された、RailsConf2011に行ってきました。Ruby on Railsについて、様々な話を聞くことができ、とても勉強になりました。 ビッグサイトで開催された"WirelessJapan2011"のセッションで講演してきました(5/25)。内容は、HTML5を活用した、マルチデバイスでのWebアプリ開発について、概論説明。なにげに有料講演は初めての体験で、ちょっとどきどきだったのですが、比較的好評だったようす。こちらも、いい経験になりました。 僕のことでは無いのですが、会社の後輩(@elrana)が5/21-22の日程でニューヨークで開催された TechCrunchの24時間耐久 Hacka
最初に・・・MVPに就任しました 年明けより、Google公認 API Expert (HTML5)を務めさせていただいていますが、今回4/1付で、IE(Internet Explorer) のMVP((Most Valuable Professional)に就任いたしました。僕の活動は、Microsoftさんに特化しているわけではなく、HTML5全般に対するフラットなものです。今回は、そちらを評価いただいた形。震災のために、IE9の日本リリースは延期となっていますが、HTML5の普及に対し、IE9は強く影響すると予想されます。これからも頑張っていきたいと思いますので、宜しくお願いします。 本題:頂いた質問 昨日、中村さんより、このブログに以下のような質問を頂きました。 CSS3を使ったアニメーションで、同じHTML要素に 並列のアニメーションを設定することはできます でしょうか? 例えば
ずっと、待ち焦がれていたAPIが、ついにテスト実装されました。ブラウザから、カメラのライブストリームを取得するStream API (仕様はWHAT WGのサイトに記載)です。 この機能により、Webアプリのポテンシャルが飛躍的に向上すると期待されます。例えば、ビデオチャット。 カメラから取得した映像データを、Websocket で相互に交換すれば、ブラウザのネイティブ機能だけで、簡単に実現できます。 この機能が、実装されたのは、Opera mobileのテクニカルプレビュー(for Android)。以下のサイトの[Android build]からインストール出来ます。 http://my.opera.com/core/blog/2011/03/23/webcam-orientation-preview また、詳しくは以下のブログ(WebOS Goodies)で紹介されています。是非、ご
遅ればせながら報告ですが、2011年1月よりGoogleのAPI Expert (HTML5)に就任しました。著名なデベロッパーが顔を揃える中、かなりのプレッシャーではあるのですが、HTML5の普及にあたり開発者コミュニティを盛り上がるべく頑張っていきたいと思います。宜しくお願いします!! さて、今日は「HTML5」という言葉について考えてみたいと思います。 「HTML5」には二つの用例があるのはよく知られています、一つはW3Cで仕様化が進められている http://www.w3.org/TR/html5/ 。この用例には、上のドラフトで定義された厳密な意味があります。もう一つは、「Webの新しい流れを表す技術の総称」。いわゆる”バズワード”としての用例です。CSS3やSVGなんかがHTML5として語られることがよく見られますが、こういった使い方はこの部類に該当します。詳しくは、Mozil
新年あけましておめでとうございます。今年もよろしくお願いします。 さて、年明け早々あれですが、修正しなければならない件が2つほどありますので、そちらについて 最初の件は、以前POSTした「マウスジェスチャー送受信をWebSocketとXHRで比較」についてです。この記事の中でxhr(HTTP)でマウスジェスチャーを送信する部分にバグがあったので、そちらを修正しました。以前紹介したときは、エコーバックされるマウスの座標情報を受信する前に、同一インスタンスに対し send() を行っていたためエラーが発生。このため、本来よりもHTTPで送信できる情報が少なくなってしまっていました。 こちらについて、フラグを設定し、以前の座標情報を受信していない場合は、送信しないように修正。 これにより、HTTPでもマウスジェスチャーが比較的綺麗に送れるようになっています。 http://komasshu.co
IndexedDBを試してみました。今日はその話。 IndexedDBは、いわゆるNoSQL DB。RDBMSと異なり、スキーマレスで手軽に扱うことが可能なDBです。W3CのWorking Draftは、 http://www.w3.org/TR/2010/WD-IndexedDB-20100105/ で公開されています。今回試したのは、chromiumとFireFox4β8。IE9でも追加パッケージ HTML5Labs を使えば、利用可能なようですが、僕はまだ試していません。 IndexedDBの嬉しい点 IndexedDBはWeb SQL Databaseと異なり、任意のオブジェクトをスキーマを定義せずに操作可能です。Webアプリでスキーマの変更が発生するのは、結構やっかいな問題です。頻繁にカラムの追加や削除などをしてしまうと、各ユーザのブラウザ上のテーブル構造が全く異なる結果になりが
次のページ
このページを最初にブックマークしてみませんか?
『こてさきAjax - livedoor Blog(ブログ)』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く