http://lemona.de で使用しているJavaScriptのライブラリ
※2013/11現在
選定基準
2012/04時点で基本方針を決めた。
まず、jQuery前提。
Dom操作をごりごりしたくないので、KnockoutJS採用。
記述をCoffeeScriptで行い、かつファイルを適度に分割して開発しつつ、配布時は1つのファイルにまとめたいので、RequireJS採用。
あとは、必要になったものを都度追加。
使用ライブラリ
基本
- jQuery
- 1.7.2 -> 1.9.1 -> 1.10.1
- googleのCDNを使う
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
- ローカルにファイルも置く
- jQueryUI
- 1.8.18 -> 1.10.3
- googleのCDNを使う
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
- ローカルにファイルも置く
- Widget, Datepicker あたりを使っている
- jQuery UI Touch Punch
- 0.2.2
- jQuery template plugin
- Knockoutjs
- 2.0.0 -> 2.2.1
- http://knockoutjs.com/
- Underscore.js
- 1.5.2
- CoffeeScript
- 1.2.0
- 開発時のみブラウザでコンパイルさせている
Require系
- RequireJS
- 1.0.7 -> 2.1.6
- https://github.com/jrburke/requirejs
- require-cs
- 0.3.2 -> 0.4.4
- https://github.com/jrburke/require-cs
- requirejs text
- requirejs-plugins async.js
- 0.1.1
- https://github.com/millermedeiros/requirejs-plugins
- GoogleMapsのライブラリ読み込み用
- 自前でyuicompressorかけたものを使っている
pjax用
- History.js
ポップアップ用
- Colorbox
Bootstrap
- bootstrap-carousel.js
- 2.3.1
- bootstrap-dropdown.js
- 2.3.2
- bootstrap-modal.js
- 2.3.2
入力補助系
- jQuery-File-Upload
- https://github.com/blueimp/jQuery-File-Upload
- ea5b386afeef941feecf41cdf0f1bf9e68b00159 2013-04-02時点最新
- jQuery Iframe Transport Plugin
- 1.4
- jQuery Time Entry
- 1.4.9->1.5.1
- http://keith-wood.name/timeEntry.html
表示補助系
- jQuery.dotdotdot
- 1.5.0 -> 1.5.7
- http://dotdotdot.frebsite.nl/
- jquery.placeholder
操作補助系
- jquery.outerClick
- 1.1
- perfect-scrollbar
値操作関連
- jquery-dateFormat
- ISO8601.js
- jQuery-URL-Parser
Cookie操作
- jquery-cookie
ブラウザ判定
- Modernizr 2.6.2
- http://modernizr.com/download/#-cssanimations-inputtypes-testprop-testallprops-domprefixes
- CSS Animations, Input Types
グラフ関連
- Flot
- jquery.flot.pie.js
- jquery.flot.stack.js
- jquery.flot.crosshair
GoogleMaps関連
- markerclusterer.js
- richmarker.js
LESS,CSS
- Less.js
- 1.4.1
動き、見た目系
- jquery.easing.js
- jquery.mousewheel.js
この辺りはデザイナーさんが導入した
IE関連
- DD_belatedPNG.js
- 透過PNG用
- excanvas.js
- グラフ描画用
- html5.js
- html5のタグ用
- jquery.backgroundSize.js
- CSS3 の
background-size: cover;
用
- CSS3 の
Node.js
本番サーバにデプロイ時に、CoffeeScriptとLessはコンパイルする
なので、Jenkinsサーバの環境。本番サーバにはNodeは入れていない。
- Node.js
- 0.6.15 -> 0.8.25
- requirejs
- 1.0.7 -> 2.1.4
- coffee-script
- 1.3.1 -> 1.6.3
- less
- 1.3.0 -> 1.4.2
- bless
- 3.0.0 -> 3.0.1
- IE用