こんにちは、最近JavaScriptにどっぷりの@yoheiMuneです。 最近のスマホ案件で、jQueryよりもZepto.jsを使うという案件が身の回りで増えた気がします。 Zeptoを利用する理由として、jQueryライクに書けるけど、ファイルサイズが小さくて軽量という理由がよく挙がっています。 jQueryとZeptoでどれくらい軽さが違うのかが気になったので、計測しました。その結果を書いたのが今回のブログです。 計測結果の前にZepto.jsについて Zepto.jsは最近?流行っているらしいJavaScriptのフレームワークで、jQueryライクに書けるけど、ファイルサイズが軽量だという特徴があります。 IEなどのサポートを切っていたり、jQueryのよく使う機能のみをサポートしていたりと、jQueryの便利なところをピックアップした作りのようです。 詳細は、以下のサイトをご
そんな訳で、普段何気なく使っているjQueryですが、そのセレクタAPIについて多少は知っておいたほうが良いよなということで、いくらか調べてみました。けっこう地味な内容なので、「へー、そんな風になってるんだぁ…」と軽く読み流していただければと思います嘘です。割と大事な内容なので、しっかりと把握しておくのがよろしいかと思います。 はじめに - jQueryのセレクタAPI jQueryでは、$('#hoge .fuga');というようにCSSのセレクタを用いてHTML要素を取得します。あまりにも便利な機能で普段意識することはありませんが、内部ではgetElementById();といったブラウザのネイティブAPIを駆使したり、JavaScriptゴリゴリのメソッドを呼びまくって指定どおりの要素を取得してきているわけです。こういった機能のことをセレクタAPIと呼びます。 セレクタAPIの内訳
2013年11月現在、jqMobi は App Framework へ、Zepto は v1.0rc1 から v1.0 (正式版) へとバージョンアップしています。最新版 App Framework, Zepto.js 1.0 と jQuery との互換性 をご覧ください。jQuery と互換性があり、とっても軽い JavaScript ライブラリ jqMobi. jquery-1.7.2.min.js が 93 KB なのに対し、jq.mobi.min.js (1.11) はわずか 19.4 KB。ファイルサイズだけでなく、スクリプトの初期化も圧倒的に速い。(iPhone 4 / iOS 6 の Safari では jQuery 1.7.2/1.8.2 が 70 ms, Zepto v1.0rc1 が 20 ms, jqMobi 1.11 が 14 ms 程度。iOS 5 ではもっと差が
現在は 1.0 正式版が出ています。こちらをご覧ください:App Framework, Zepto.js 1.0 と jQuery との互換性 jQuery と互換性があり、とっても軽い JavaScript ライブラリ Zepto. jquery-1.7.2.min.js が 93 KB なのに対し、zepto.min.js (v1.0rc1) はわずか 23 KB。ファイルサイズだけでなく、スクリプトの初期化も圧倒的に速い。(jQuery 2 では初期化の遅さが改善されるという情報あり) $() 関数での動作の違い 属性セレクタの値は、必ず引用符で括る必要がある。DOM Exception が発生する。 $("a[href^=#]") → エラー $("a[href^='#']") → OK 次のセレクタはプラグイン selectors.js が必要 :visible, :hidden
Zepto.js ver1.0がリリースされた v1.0rcが11ヶ月間も続いていたが、ようやくRelease Candidateではなくなり正式リリースとなった。 http://zeptojs.com/ https://github.com/madrobby/zepto おさらい おさらいすると、Zepto.jsはjQueryとAPIの互換性があるモダンブラウザ向け軽量ライブラリ。 jQueryはIE対応とか$.AnimationとかDeferredとかあるけど、その辺りを除いて実装してあるようなイメージ。現状、iOSやSafariにはIE対応とか必要ない訳で、これ使うとファイルサイズ落とせますねっていうコンセプトで作られている。 ビルドについて rakeファイルがいつの間にか消えてる! Zeptoはカスタムビルドが出来るようになっていて、欲しい実装のみを選んで使える。rcの頃はrake
先日、開発中のサービスのパフォーマンスがよろしくないという指摘が上がり、 原因は色々あるのだけどまぁフロントエンドでもやることはやろうということで、 ライブラリとして利用していた jQuery から Zepto.js に移行してみました。 Zepto.js は jQuery と比較してファイルサイズが小さく、初期化処理が高速なので、移行するだけでパフォーマンス改善が期待できます。 ただし、jQuery の完全サブセットというわけではないので、jQuery への依存度によって移行の難易度は変わってきます。 今作っているサービスでは、以下の対応で無事移行することができました。 同じような状況の方の参考になれば。 Deferred が無い simply-deferred を導入して解決しました。 ただ、$.when を利用した時に全ての Deferred の戻りを resolve に返してくれな
Subversionとは? Subversion(Apache Subversion)は、さまざまなソフトウェアの開発現場において広く使われているソースコード管理システムです。標準のコマンドラインクライアント/プロトコルの名称から「svn」と呼ばれることもあります。Subversionではソースコードやそこに加えられた変更点などの履歴はすべて中央リポジトリに記録され、各開発者はネットワーク経由で中央リポジトリにアクセスすることでソースコードを取り出したり、変更点を記録するという中央集権型のバージョン管理機能を備えています。WindowsやLinux、Mac OS X、各種UNIXなどさまざまな環境で利用でき、GUIで動作するクライアントや、Subversionによるバージョン管理機能を備えた統合開発環境(IDE)も多くあります。 ソースコード管理システム/バージョン管理システムってなに?
次に、svnserveサーバの設定を行いましょう。Subversionのサーバとしては、軽量なsvnserveサーバと、ApacheのWebDAVを利用したサーバ公開を利用できますが、まずはsvnserveで設定と動きを確認することにします。ローカルのネットワークでバージョンの管理を行うには十分です。 svnserve用の設定ファイルは、上記の例でいうと、/var/myrepo/confに「svnadmin create」コマンドにより生成されています。/var/myrepo/confに、authz、passwd、svnserve.confのファイルができているはずですので、確認してみましょう。 svnserve.confは、svnserveサーバが利用する、アクセス制限等を管理する設定ファイルですので、このファイルに、以下のように設定をします。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く