vueとreactの違いを簡単に話します
4091 ワード
私はreactをずっと使っていて、vueについて簡単に勉強しただけで、その理解はあまり深くありません.それらの違いもネット上の牛人の見解から来ていることが多い.
1テンプレートでアプリケーションを構築するのが好きな場合(またはその考えがある場合)、Vueを選択してください.
Vueアプリケーションのデフォルトオプションは、HTMLファイルにmarkupを配置することです.データバインド式はAngularと似たmustache構文を使用し、命令(特殊なHTML属性)はテンプレートに機能を追加するために使用されます.例:
2に対し、Reactアプリケーションはテンプレートを使用せず、開発者にJSXを利用してJavaScriptでDOMを作成するように要求します.次はReactで実装された同様のアプリケーションです.標準Web開発方式からの新規開発者にとってテンプレートの方が分かりやすい.しかし、一部のベテラン開発者もテンプレートが好きです.テンプレートはレイアウトと機能をよりよく分割することができ、Pugなどのテンプレートエンジンも使用することができます. しかし、テンプレートを使用する代価は、すべてのHTML拡張構文を学習しなければならないことです.レンダリング関数には、標準的なHTMLとJavaScriptしか必要ありません.また、レンダリング関数はテンプレートよりもデバッグやテストが容易です.もちろんあなたはこの方面の原因でVueを逃すべきではありません.Vue 2にあるからです.0には、テンプレートまたはレンダー関数を使用するオプションがあります.
3簡単なものと「使えばいい」ものが好きなら、Vueを選んでください
簡単なVueプロジェクトは、翻訳を必要とせずにブラウザで直接実行できるので、Vueを使用することはjQueryを使用するように簡単です.もちろんこれはReactにとって技術的にも可能であるが、典型的なReactコードはJSXやclassのようなES 6特性に重度に依存する.Vueの簡単さはプログラム設計の時にもっと深く現れ、2つのフレームワークがアプリケーションデータをどのように処理しているか(つまりstate)を比較してみましょう. Reactのstateは可変(immutable)であるため、直接変更することはできず、APIのsetStateメソッド:thisを使用する必要がある.setState({ message: this.state.message.split('').reverse().join('') }); Vueのデータは可変(mutated)なので、同じ操作がより簡潔に見えます.this.message = this.message.split('').reverse().join(''); Vueでステータス管理がどのように行われているかを見てみましょう.stateに新しいオブジェクトを追加すると、Vueはすべてのプロパティを遍歴しgetter、setterメソッドに変換され、Vueの応答システムはstateの追跡を維持し始め、stateの内容が変化すると自動的にDOMを再レンダリングします.Vueでstateの状態を変更する操作は、より簡潔であるだけでなく、Reactよりも速く、より効率的であると言える.
4.アプリケーションをできるだけ小さく、速くしたい場合は、Vueを選択してください.アプリケーションの状態が変化すると、ReactとVueは仮想DOMを構築し、実際のDOMに同期します.VueのレンダリングシステムはReactよりも速いです. しかし、ページサイズはすべてのプロジェクトに関連しており、Vueは再びリードしており、現在のバージョンは25.6 KBしか圧縮されていません.Reactが同じ機能を実現するには、React DOM(37.4 KB)とReact with Addonライブラリ(11.4 KB)の合計44.8 KBが必要で、ほぼVueの2倍の大きさです.2倍の体積は2倍の機能をもたらすことはできません.
5大規模なアプリケーションを構築する場合は、Reactを選択します.記事の冒頭のように、VueとReactを同時に実装する簡単なアプリケーションは、開発者の潜在意識の中でVueに傾く可能性があります.これは、テンプレートベースのアプリケーションが一目でより理解しやすく、すぐに走ることができるからです.しかし、これらのメリットが導入された技術債は、アプリケーションのより大きな規模への拡張を阻害します.テンプレートは、実行時のエラーに気づきにくく、テスト、再構築、分解も困難です. と比較して、Javascriptテンプレートは分解性とドライ(DRY)コードのコンポーネントに組織することができ、ドライコードの再利用性とテスト性がより良い.Vueにはコンポーネントシステムとレンダリング関数もありますが、Reactのレンダリングシステムは構成性が強く、浅い(shallow)レンダリングなどの特性もあり、Reactのテストツールと組み合わせて使用し、コードのテスト性とメンテナンス性を向上させます.
6 Web端末とオリジナルアプリを同時に適用するフレームワークがほしい場合は、Reactを選択してください
React Nativeは、Javascriptを使用してモバイル端末のオリジナルアプリケーションiOS、Androidを構築するライブラリです.Reactと同じで、Webコンポーネントではなくオリジナルコンポーネントを使用します.もしあなたがReactを学んだら.jsは、すぐにreact nativeを手に入れることができます.逆も同じです.
7最大の生態系を望む場合はReactを選択してください
まとめ:
Vueのメリットは次のとおりです.テンプレートとレンダリング関数の弾性選択 簡単な構文とプロジェクト構成 レンダリング速度が速く、ボリュームがより小さい Reactのメリットは次のとおりです.は、大規模なアプリケーションに適しており、よりテスト可能な です. Web端末とモバイル端末のオリジナルアプリは 通食している.より大きな生態系、より多くのサポートと使いやすいツール ReactとVueの類似点:仮想DOMによる高速レンダリング 軽量級 応答型コンポーネント サービス側レンダリング 統合ルーティングツール、パッケージングツール、ステータス管理ツールの難易度が低い 優れたサポートとコミュニティ
1テンプレートでアプリケーションを構築するのが好きな場合(またはその考えがある場合)、Vueを選択してください.
Vueアプリケーションのデフォルトオプションは、HTMLファイルにmarkupを配置することです.データバインド式はAngularと似たmustache構文を使用し、命令(特殊なHTML属性)はテンプレートに機能を追加するために使用されます.例:
// HTML
{{ message }}
// JS
new Vue({
el: '#app',
data: {
message: 'Hello Vue.js!'
},
methods: {
reverseMessage: function () {
this.message = this.message.split('').reverse().join('');
}
}
});
2に対し、Reactアプリケーションはテンプレートを使用せず、開発者にJSXを利用してJavaScriptでDOMを作成するように要求します.次はReactで実装された同様のアプリケーションです.
// HTML
// JS (pre-transpilation)
class App extends React.Component {
constructor(props) {
super(props);
this.state = {
message: 'Hello React.js!'
};
}
reverseMessage() {
this.setState({
message: this.state.message.split('').reverse().join('')
});
}
render() {
return (
{this.state.message}
)
}
}
ReactDOM.render(App, document.getElementById('app'));
3簡単なものと「使えばいい」ものが好きなら、Vueを選んでください
簡単なVueプロジェクトは、翻訳を必要とせずにブラウザで直接実行できるので、Vueを使用することはjQueryを使用するように簡単です.もちろんこれはReactにとって技術的にも可能であるが、典型的なReactコードはJSXやclassのようなES 6特性に重度に依存する.Vueの簡単さはプログラム設計の時にもっと深く現れ、2つのフレームワークがアプリケーションデータをどのように処理しているか(つまりstate)を比較してみましょう.
4.アプリケーションをできるだけ小さく、速くしたい場合は、Vueを選択してください.
5大規模なアプリケーションを構築する場合は、Reactを選択します.
6 Web端末とオリジナルアプリを同時に適用するフレームワークがほしい場合は、Reactを選択してください
React Nativeは、Javascriptを使用してモバイル端末のオリジナルアプリケーションiOS、Androidを構築するライブラリです.Reactと同じで、Webコンポーネントではなくオリジナルコンポーネントを使用します.もしあなたがReactを学んだら.jsは、すぐにreact nativeを手に入れることができます.逆も同じです.
7最大の生態系を望む場合はReactを選択してください
まとめ:
Vueのメリットは次のとおりです.