ITエンジニア/デザイナ向けにオープンソースを毎日紹介

SugarSkullはJavaScriptによるクライアントサイドのルーティングライブラリ。

SugarSkullはjQuery/JavaScript製のオープンソース・ソフトウェア。RailsやSinatraが普及した要因の一つにルーティングがあげられる。それまではクライアント側のURLとサーバ側で実際に動作するプログラムとが乖離していた気がするが、それがぴったりとくっつく存在になったのだ。


デモ

Sinatraの普及もあって、他のプログラミング言語でもルーティングに力を入れるようになった。それはサーバサイドに限らずWebクライアント側でも同じだ。JavaScriptでルーティングを行うのがSugarSkullだ。

SugarSkullはaタグの指定するURLでルーティングを可能にするライブラリだ。通常、デザインとJavaScriptを分離するためにはidやclassを使ってアクションを設定する方式をとる。SugarSkullはURL(実際にはアンカー)を使ってそのままアクションが指定できるのだ。


ルーティング例

例えば「#/red」というURLを指定する。そうするとSugarSkullが/redにマッチするアクションを実行する。ルーティングは階層を持たせたり、数字や引数を正規表現で特定することもできる。アクションにはbefore/leave/notfoundといった追加アクションも指定可能だ。

これはとても面白い。HTMLのデザインとJavaScriptの動作が明確に分けられる。面倒にidを追加する必要もないし、アクションをコントローラ内部に入れられる。jQueryなのでAjaxなどと連携させるのも簡単だ。Webアプリケーションを開発する際にはとても役立ちそうだ。


MOONGIFTはこう見る

JavaScriptにおいてMVCを推進するフレームワークは未だに確定的なものが出てこない。そのため各自既成のライブラリを組み合わせたり、独自に組んだりする。しかしそれでは仕様が複雑化する中で、徐々に破綻していってしまうのだ。

JavaScriptならばそこまで明確でなくともSinatraくらいの軽さが良いのかもしれない。モデルはサーバサイドに任せても良いだろう。大事なのはルーティングでコードが霧散しないことだ。SugarSkullは見やすいコードを保つ上でも役立つのではないだろうか。

hij1nx/SugarSkull - GitHub

 

MOONGIFTの関連記事

コメント

  • DevRel
  • Com2