JS

Mithril.js ソースコードリーディング後編〜Route/Deferred/Request編〜

前回のMithrilコードリーディングの続きです!前回はVirtual DOMのアルゴリズムの部分をメインで読んでいきました。今回はSPAのための軽量ライブラリとして活躍しているMithrilが持つrouteやDeferredの部分について解説です。コードを全部は掲載しないので、v0.2.0のコードを別で開いて読みながら参考までにコメントを見て進めていただければ。 (more…)

JS

Mithril.js ソースコードリーディング前編〜Virtual DOMの実装を理解する 〜

前回はBackbone.jsの社内コードリーディング会でした。今回はVirtualDOMの軽量ライブラリとして少しずつ人気が出てきている気がするMithril.jsに関して行いますので、リーディング時のメモです。 Mithril https://lhorie.github.io/mithril/ ソースコード(執筆時点v0.2.0 2015/07/18) https://github.com/lhorie/mithril.js/blob/master/mithril.js Virtual DOMの実装は約300行でそこが今回のソースコードリーディングのメインとなります。 今回はそのbuild()周りを見てきます。バージョンは現時点で最新のv0.2.0です。 ビール片手にリーディングしつつ、確認程度にメモを見ていただければ。 (more…)

JS

Backbone.js 1.2.1コードリーディング徹底解体!その1

Backbone.jsをコードリーディングしたので、メモですー(長いので注意) 2015/06/24時点 versionは1.2.1のソースコードです。行数ではコメント込みで1873行。 社内勉強会で月1で著名なオープンソースのJavaScriptのコードを読み解く会を始めたので、その第一回としてコードリーディングとしてしばしばオススメされているBackbone.jsを選択しました。世間でオススメされる理由は、実装が割とストレートでトリッキーすぎる実装部分などが少ないからだと思います。読んでみても、意外と普通に実装してるなという感想です。 社内のリーディング会では、上からざっと読み進めていって何をやっているか言葉で簡単に説明できるようになることです。ソースコードの中で何をやっているか全然わからないところがなくなれば良いくらいのモチベーションで、debuggerで分岐や値などを実際に追うまではしていません。 以下、読みながら、気になった部分を軽くメモしていきます。 (more…)