タグ

JavaScriptとDOMに関するpotato777のブックマーク (8)

  • JavaScriptでのDOM操作は重いのかという話とForced Synchronous Layoutについて - id:anatooのブログ

    2015年にもなるのにJavaScriptでのDOM操作のパフォーマンスについて書く。ウェブページにインタラクションを持たせたい時に、JavaScriptでDOM操作を行うことがよくある。このDOM操作のパフォーマンスについて、よく聞く意見を大別すると次の2つがある。 JavaScriptによるDOM操作は重たい レンダリングが重いだけで、DOM操作そのものはそれほど重たくない JavaScriptでオブジェクトのプロパティを操作したりする単体の処理は通常1ミリ秒もかからないが、DOM操作をするとレンダリングが完了するまでに数十ミリ秒程度かかったりする場合がある。1番目のDOM操作が重たいと言っている人は経験則的にそう言っていることが多い。 レンダリングの仕組みを知っている人は2番目の意見を言うが、重箱の隅をつつくような話をするとこれも必ずしも正しいわけではない。DOM操作するコードによっ

  • GitHub - Matt-Esch/virtual-dom: A Virtual DOM and diffing algorithm

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - Matt-Esch/virtual-dom: A Virtual DOM and diffing algorithm
    potato777
    potato777 2014/08/31
    "virtual-dom is heavily inspired by the inner workings of React by facebook."
  • ブラウザエンジン先端観測会 アウトラインメモ

    ブラウザエンジン先端観測会 : ATND に参加してきたのでメモ。 途中から参加なのでServoの話は途中からです。 Twitterのログはこちら ブラウザエンジン先端観測会 #1 - Togetterまとめ Servo (by Tetsuharu OHZEKI a.k.a @saneyuki_s) スライド: Servo parallelism ACID2は通った Servoのレイアウトの計算 ボトムアップの場合 子供のノードは並列に計算する 全ての計算が終わった時に親に行く トップダウン もっとシンプルに親からやっていく floatの話 floatの影響を受けるものはフラグを立てる フラグが立ったものは遅延的に計算する floatの計算終了後に再度計算する = assign height 遅延的にやるのは、同計算していいのか分からないため overflow Block format c

    ブラウザエンジン先端観測会 アウトラインメモ
  • Polymer と Web Components - steps to phantasien

    先週はサンフランシスコで勤務先の年次博覧会が催され、中には自分と近いプロジェクトを紹介するセッションもあった。 いい機会なので便乗して宣伝してみたい。自主会社員活動につき勤務先の見解と違っても見逃してください。 さて件の年次博覧会、ウェブ開発者向けの講演の一つで Polymer という新しい JavaScript UI フレームワークが公開された。 Closure, GWT, Angular ときて また別のフレームワークかよ…とぼやく人の気持ちもわかる。でもそれほど被るものでもないから見逃してほしい。 なるべく多くのブラウザで動かそうとする既存のフレームワークと違い、 Polymer は新しいブラウザの機能を使い倒すことで強力なフレームワークを作ろうとしている。 別に特定ブラウザでしか動かないわけじゃない。ただ将来そうした新しい機能が各種ブラウザに備わる日を見越し、 そのときベストに動く

  • DOM操作の最適化によるJavaScriptチューニング(後編)

    連載「Webサイト・アプリ高速化テクニック徹底解説」の第5回は、前回の「DOM操作の最適化によるJavaScriptチューニング(前編)」に続く後編です。後編では、createElement()などのDOM操作メソッドを使ったさまざまなテクニックや、パフォーマンスを劣化させるよくあるパターンについて詳しく解説します。 CodeIQとの連動企画! この記事で学べるJavaScriptチューニングのテクニックを、実際にCodeIQの問題で試すことができます。もう既に自信がある方は腕試しに、もしくは理解度チェックのための復習として是非ご活用ください!こちらから問題にチャレンジ! 前回は、DOM操作が遅い原因と仕組みについて簡単に説明し、チューニングのサンプルをいくつか解説しました。その中で、innerHTMLを利用したコードをサンプルにあげていますが、innerHTMLを利用する場合、いくつかの

    DOM操作の最適化によるJavaScriptチューニング(後編)
    potato777
    potato777 2013/10/11
    DocumentFragment / cloneNode
  • Facebookみたいにtextareaの一部を強調する - Qiita

    Facebookで人物を補完すると、その人物名の周りに枠が表示されて強調されますよね(gif画像参照)。 これのやり方を解説します。 TL;DR textareaの強調表示は、textareaを透明にして後ろにいい感じの背景を設置してるだけ textareaの中にDOMを入れても表示されない パッと考えるとtextareaの中にDOMツリーを入れるとそれが表示されるんじゃないか、と思うかも知れません が、ぜんぜんそんなことは無くて、そのまま文字列が表示されてしまいます。 ご存知のようにtextareaやinputは、他の要素のように子要素を表示するのではなく、自身のvalue属性の値を画面に表示する働きをします。value属性は文字列を格納するためのものなのでDOMを入れられないわけですね。 強調用のDOMを重ねあわせる textareaにはDOMをそのまま入れられないので、仕方がなく周り

    Facebookみたいにtextareaの一部を強調する - Qiita
    potato777
    potato777 2013/10/02
    textareaの背景を透過して裏で色付ける。
  • データバインディングによるインタラクティブなUIの効率的な表現

    requestIdleCallback()による協調的バックグラウンド処理の実現 / requestIdleCallback()

    データバインディングによるインタラクティブなUIの効率的な表現
  • メモリーリークパターンを理解する - babu_babu_babooのゴミ箱

    メモリーリークに関する覚え書き メモリーリークとは コンピュータの動作中に、使用可能なメモリ容量が、だんだん減っていく現象。 OSやアプリケーションソフトが、処理のために占有したメモリ領域を、解放しないまま放置してしまうために起きる。 メモリーリークパターン(以下のタイプを考察) ドキュメントツリーに属さないノードに、イベントを貼り付けた場合。 DOM プロセッサが管理しているオブジェクトと、スクリプトエンジンが管理しているオブジェクト、が混在した場合 いわゆるクロージャが、その混在を招くパターン(これが難解) メモリーリークに該当しないもの DOM プロセッサが管理している変数が、グローバル変数である window, document は、グローバル変数なので、該当しない。 ドキュメントツリーに属さないノードに、イベントを貼り付けた場合 ページを破棄するときに、ドキュメントツリーのノード

    メモリーリークパターンを理解する - babu_babu_babooのゴミ箱
  • 1