rainit2006 / JS-room

javascript knowledge
0 stars 0 forks source link

Reactjs and Virtual DOM #2

Open rainit2006 opened 7 years ago

rainit2006 commented 7 years ago

The difference between Virtual DOM and DOM http://reactkungfu.com/2015/10/the-difference-between-virtual-dom-and-dom/

DOM DOM stands for Document Object Model and is an abstraction of a structured text. while HTML is a text, the DOM is an in-memory representation of this text.

The HTML DOM provides an interface (API) to traverse and modify the nodes. It contains methods like getElementById or removeChild. We usually use JavaScript language to work with the DOM.

The HTML DOM is always tree-structured - which is allowed by the structure of HTML document. We can traverse trees fairly easily.
Unfortunately, easily doesn’t mean quickly here. ---- performance problem

A typical jQuery-like event handler on DOM looks like this: •find every node interested on an event •update it if necessary Problem: 1. 1.It’s hard to manage. 2. inefficent

React The solution to problem 1 is declarativeness.

Virtual DOM The Virtual DOM is an abstraction of the HTML DOM. It is lightweight and detached from the browser-specific implementation details. Since the DOM itself was already an abstraction, the virtual DOM is, in fact, an abstraction of an abstraction.

rainit2006 commented 7 years ago

WWW (World Wide Web) システムで表示されるページは、一般的には画面がHTML等で構成されています。 ボタンクリックなどによりページを更新する場合、たとえそれが一文字のみの変更であっても、サーバ側で生成された 1ページ分のHTML を再度受信してレンダリングし直す(画面遷移する)というのが本来の仕組みでした。

毎回ページ全量のデータを転送していてはあまりにも遅いので、変更の必要な部分のみ を差し替えるという技術が使われるようになりました。

HTMLはツリー構造なので、該当箇所を特定できれば JavaScript等で部分的に差し替えることができます。もっとも、全てを自力で実装すると大変なので、最近では jQuery のようなライブラリを使用するのが一般的です。

rainit2006 commented 7 years ago

React Facebook製。VCMのViewの役割を担当する。 DOMの更新、イベントハンドリングをしてくれる。

rainit2006 commented 7 years ago

veu js ?

rainit2006 commented 7 years ago

阿里开源的企业级 Node.js 框架 egg?

rainit2006 commented 7 years ago

Angular,React,Vue,这三者其实面对的是同一个领域,那就是Web应用,什么是Web应用呢 https://www.zhihu.com/question/39943474