Fork me on GitHub

2011-01-18のJS:CommonJS, Firefox4, モダンJSのベストプラクティス

Edit on GitHub 編集履歴を見る

少しペースが早いですが、2回目の紹介記事です。
最近はCommonJS,modulesというワードが多く見かける気がします。

公募期間: 2011 年 1 月 12 日〜 2011 年 2 月 11 日
HTML5を使った作品コンテストが開催されています。プログラミング部門とクリエイター部門に分かれて行うようです。

jsファイルを一つにまとめたときに実行スクリプトを振り分けするために、bodyのid属性,class属性を元に判断するディスパッチャー関数。

記号プログラミングと難読化エンコーダーの合わせ技でよい難読化を行う手法についての解説。
eval 関数を使うところを、Firefox 独自実装の crypto.generateCRMFRequest メソッドを利用。
evalについてはPerfection kills » Global eval. What are the options?がとても詳しい

JavaScript(ECMAScript)で著名な方のブログを集めたサイト。
サイドバーから選択してその場で表示できるので、連続して見ていくのに便利なビューアー
海外のJavaScript情報を見つけよう | Web scratchと併せて

グローバル名前空間に変数や関数が漏れていないかをスナップショットと比較して検出するライブラリ。
Browser、CommonJS 、JavaScriptCoreで動作する

こちらについては別途記事にしました
CommonJSに基づいたモジュール管理ローダーSeaJS | JSer.info

Future of Web Apps Miami conferenceでのjQuery作者であるJohn Resigの講演動画と内容の書き起こし。

underscore.jsのmemorizeメソッドではtoStringやhasOwnPropertyいったものをキーとして渡した際に動作がおかしくなるというバグについての解説。(既にバグ提出はされているそうです)
一般にstrをキーとして受け取る関数でありがちなパターンとなってそうです。

jQuery 1.5 beta1で追加された
jQuery.subclass()の解説

JavaScriptフレームワークであるRightJSの2.2がリリースされました。
* Native CSS Transitions Support In Fx
* Fx.Attr Class
* Better UJS
* Mouseenter/Mouseleave Handlers
* DOM-Shortcuts For Strings
* Class And Wrapper Merge
* Supercalls On Modules
* IE8 Kicked Out In the Olds Module
* Full Stack CSS3 Support
* Object.merge With Deep Merge
* Element#index method
* Raw DOM Search
* IE Native UID
* Deprecations Removed
* Optimizations And Cleanups

入力のtypeを固定してtypeof演算子で比較することは本当にいいのか?
また==はよくないと言われているが、常に===を使うことが良いことなのかについて。

なぜ今JavaScriptを学ぶ必要があるか?という話。
今はクライアントでも複雑なUIを作成することができ、サーバサイドNode.jsのようなモノがある。
デスクトップは”the cloud”へシフトしてるようにも見える。その中でJSアプリケーションの負う部分は大きい。また巨大化するソースにおいてJavaScriptフレー ムは活用することは大事だ(文中ではDojo toolkitを出している、jQueryでない理由も書いてある)
またフレームワークを扱うためにはJavaScriptの基本原理をまず学ぶべきである。
JS is no longer an option for true programmers, it’s a requirement…and it’s not the nightmare you think it is.
といった感じの内容です。

汎用的なドラッグの書き方,
UIとしてドラッグの実装方法

JVM向けのJavaScriptコンパイラーであるMugの特徴を述べています。
CommonJS modulesを採用指定事やRhinoに比べて高速に動作するのが特徴

IE9でのMedia Queriesサポート状況が公開されました。

Firefox4での変化を網羅的に紹介。
今までもっとも激しいアップデートになっている。

node.js関係

最近のエンジン向け(主にNode.jsを対象)にJavaScriptのベストプラクティスを書いている。
-変数宣言はSingle var、変数の命名のパターン
-パッケージのディレクトリやファイル名はCommonJSのルールに習う
-列挙のパターンとしてforEach,mapを使ってシンプルに書ける
- Object.keysとforEachとbindを併せてオブジェクトのコピーを作成。(IE6,7はObject.keysがないので定義方法も)
-Function.prototype.bindの使い方、いろいろな使い方
古いものも多くあるため新しいものは見つけるのが難しいですがそれを乗り越えた先に見つかるものがある。

node.jsからJavaを呼ぶプラグイン

書籍関係

jQueryのHow To電子書籍。
電子書籍、ソースコード、チュートリアル動画と分かれた販売形態を取っている($1.09~)

この記事へ修正リクエストをする
記事を紹介する