著者: 山岸和利

HTML.jsというJavaScriptで楽にDOM操作を行えるようにするライブラリーがあります。結論から申しますと、このライブラリーは絶対に使うべきではないライブラリーとなっています。

著者: 山岸和利

w3c-xmlhttprequest 1.1.0をリリースしました。ソースコードはGitHubにございますので、よろしければご確認ください。またPull Requestは熱烈に歓迎いたします。

著者: 山岸和利

数年前ならいざ知らず、現代のJavaScriptは充分に高速な動作が実現されている。無論C言語で記載されたいわゆるネイティブアプリケーションと比較すれば計算速度等では大きく劣ってしまう。だがしかし複雑な計算等を必要としない通常範囲のアプリケーションであればJavaScript (とHTMLとCSS) で記述がなされたアプリケーションの実行速度はネイティブアプリケーションと遜色ないものになると半ば強い確信を抱いている。ではJavaScriptで記述がなされているアプリケーションの動作が緩慢であるという認識がなぜ多くの場でなされているのか。それは単純な理由である、そのアプリケーションの作者が知識不足でDOM操作が冗長的なものとなっており無駄が多くなってしまっているからだ。

ここ最近、俄かにSPDYが流行の兆しを見せているように見える。言及されぬ技術は使われず、そして使われぬ技術は存在しない物であるのと同義であると私は考えるので悪い事ではないのだが、本来SPDYを使う上で注意すべきである点を無視して言及しているように見えるので一度深く熟考する必要があるのではないだろうか。

iPhoneとiPadのシステムソフトウェアをiOS 6.0にアップデートしたところ、Safariのデバッグコンソールを表示する方法を見付けられなくなってしまった。Webインスペクタというのが追加され、Mac OS X上で動作するSafariがあれば効率良くデバッグ出来るようになったようなのだが、非常に残念な事に現在の私の手許にはMac OS Xの環境が存在しない。なのでiOSのSafariでのデバッグが出来ないようになってしまった。探せば既存のデバッグコンソールを表示する方法があるのかも知れないが、しばらく探しても見付ける事が出来なかったので、非常にその場凌ぎの解決法で済ませた。

さようならHTML5…。アメリカ人と日本人の標準化に差を感じる 内容に関しても思う所は御座いますが、一つだけ。 HTML 5の仕様を現在 書いていらっしゃるGoogle社のIan Hickson氏はアメリカの方ではなくスイスで生まれた方です。現在どちらに住まれているのかは存じませんが少なくとも「アメリカ人」と表現されるような方ではないかと考えます。

最近になって気がついたがBlobBuilderインターフェースが非推奨となっていた。Chronium 21.0.1180.75にてnew WebKitBlobBuilder()といった記述のあるスクリプトを実行すると「BlobBuilder is deprecated. Use “Blob” constructor instead.」といった表示がコンソールに出力されるようになっている。まだ現時点では使えはするようだがいつ使えないようになってしまうのかわからない。なのでつかうようにと表示されているようBlobはどういった仕様でどのようにつかえるものなのかを簡単に調べてみた。

著者: 山岸和利

node-xmlhttprequestをnpmに登録しました。

XMLHttpRequest Level 2のWorking DraftにはresponseTypeという属性があります。この属性に'json'という値を代入することにより、req.send()を実行したのちに、response属性にあたかもJSON.parse(req.responseText)としたかのようなobjectがいれられるようになります。readyState属性の値がXMLHttpRequest.DONE (4) になった段階でresponseTextをパースするようなコードを書けば良い話ではあるのですが、コードの短縮化簡潔化をはかれて多くの人はしあわせになれるのではないでしょうか。この記事を執筆している段階では当該仕様はWorking Draftであり、実装もまだFirefoxでしかおこなわれていないようです<ins datetime="2012-06-19T13:30:00+09:00"> (Opera 12.00以降でも対応しているそうです) </ins>が、とても便利につかえそうなものなので今後 多くの環境で実装されることをねがいたいものですね。

W3Cによる仕様に沿わせてNodeで動作するXMLHttpRequestを作成してみました。HTTPによる情報のやり取りを行い情報の授受を行う際には多くの場合はNodeに標準で備わっているhttpモジュールだけで事足りてしまいます。また XMLHttpRequestを模倣したNode向けライブラリは...