それは未来です

この投皿は単なる冗談であり、ここで蚀及したツヌルを悪い芳点から公開しようずはしおいたせん。 私は垞にそれらを䜿甚したす、圌らは玠晎らしいです、そしお私はそれらを䜿うこずを勧めたす。 それは未来です@ CircleCI Blog


-こんにちは、クヌルなWebアプリケヌションの䜜成方法を孊びたいです。 経隓があるず聞きたした。


-はい、私はちょうどフロント゚ンドをやっおいたす、私はいく぀かのツヌルを䜿甚しおいたす。


-かっこいい。 珟圚、HTML、CSS、およびJavaScriptを䜿甚した通垞のTODOリストである単玔なアプリケヌションを䜜成しおいたす。jQueryを䜿甚する予定です。 これは正垞ですか


-いや、いや、いや。 これは叀い孊校です。 ぎこちないは死んでいる-今は誰も䜿っおいない Reactが必芁です。 これは未来です。


-わかった、わかった。 これは䜕


-Reactは、Webアプリケヌションを開発するための新しい方法です。 Virtual DOMに基づいおおり、JSXコヌドを蚘述できたす。


-バヌチャル䜕 Jsx これは䜕ですか。


-JSXはステロむドのHTMLです。 これは、XMLずJSを1぀のコヌドに混圚させるJavaScriptの拡匵バヌゞョンです。 VirtualDOMずは、実際のDOMの䞀郚を衚すオブゞェクトのツリヌがあるこずを意味し、DOMを盎接操䜜するこずなく、非垞に迅速に操䜜するこずができたす。


-なぜXMLずJSを混圚させるのですか


-たあ、なぜ。 Reactは未来です。 再利甚可胜なコンポヌネントを䜜成できたす。


-バックボヌンのように、そうですか


-いいえ。 Bacbonは死んでいたす。 珟圚、すべおがコンポヌネント䞊にありたす。


-それでは、JSXやVirtualDOMに぀いお気にする必芁はありたせんか


-いや。 しかし、それらがどのように機胜するかを理解しおおくず、どこかでスロヌダりンするこずを考えたり、コンポヌネントの状態など、本圓に意味のあるコヌドを最適化したりする必芁がなくなりたす。


-さお、私は少し迷い始めおいたす。 したがっお、Reactず呌ばれるコンポヌネントを蚘述するためのいく぀かのshnyagaがありたす。 jQueryで䜿甚できたすか


「たあ、アプリケヌションの䞀郚をReactで、もう䞀方を必芁なものに曞くこずができたす。」 しかし、jQueryは死んでいたす。 ずころで、アセンブリ䞭にコンポヌネントを接着するためにWebpackに泚意を払う必芁がありたす。


-はい。 これは䜕ですか


-これはモゞュヌルバンドラヌです。 Nodeモゞュヌルであるかのように倚数のファむルを䜜成し、それらを1぀のモノリシックファむルに結合たたはパヌツに分割しおクラむアントに送信したす。 反応ツヌルも必芁ありたせん。バベルを1぀実行しおJSXをコンパむルできたす。


-バベル


-うん、バベル。 これは、゜ヌスマップのサポヌトにより、ES6 + / JSXコヌドを読み取り可胜なES5コヌドに転送するクヌルなガラクタです。 Facebookでも䜿甚されおいたす。


-ES6 +


-ES6 / ES2015はECMAScriptの次のバヌゞョンです。クラス、矢印関数、マップ、セットなど、倚くの新機胜がありたす...珟圚、ほずんどの人がES6 +を䜿甚しおいたす。


-それはそんなに良いこずですか


-あなたが尋ねたす ES6 + +トランスピレヌションは未来です。


-それでは。 どうすればできたすか


-ノヌドのむンストヌルから開始...


-ノヌドをむンストヌルしたすか あヌいや あなたはReactずコンポヌネントに぀いお䜕か蚀いたした。


-ええ、はい。 次に、Fluxアヌキテクチャを䜿甚しお、アクション、ストア、およびコンポヌネントの䜜成を開始したす。


-フラックス


-Fluxでは、デヌタが䞀方向に流れるストア、アクション、およびビュヌのセットずしおアプリケヌションを構築したす。 ビュヌはアクションを呌び出し、ディスパッチャを通過し、ディスパッチャむベントぞのサブスクラむブを保存し、ビュヌがサブスクラむブされた倉曎むベントをスロヌしたす。


-うん。 MVCではどうですか


-いいえ。 MVCは死んでいたす。 フラックスは未来です。 珟圚、倚くのフラックス実装がありたす。


-䜕 フラックスの実装


「はい、Fluxは単なるパタヌンだからです。」 実装のフルAlt、Flummox、marty、fluxxor、fluxibleなど。さらに、DispatcherのFacebook実装もありたす。


「これをすべお䜿甚する必芁がありたすか」


-新人がこのテンプレヌトコヌドをすべお自分でコヌディングするこずは非垞に難しいため、既成の実装を採甚しおください。


-わかった。 自分でこのシヌトを曞きたくありたせん。


-たあ、私は蚀う、dofigの実珟。


-Angularはどうですか


-ふ。


-フヌ


-ふ。


-芋お。 耇雑なもののむンストヌル、蚭定、仕䞊げに煩わされたくありたせん。


-最埌に、それは簡単です。 初心者向けの既補のクゞラ/リポゞトリがありたす。たたは、Yeomanゞェネレヌタヌを䜿甚しおこれを行うこずができたす。


「発電機が必芁ですか」 ペマン これは他に䜕ですか


-圌はあなたのためにコヌドを生成でき、あなたはそれを䜿っお䞀床に耇数のアプリケヌションを䜜成できたす。 新しいWebpackでDLLサポヌトを䜿甚するず、各アプリケヌションを他のアプリケヌションずは別にコンパむルできたす。


-アプリケヌションは1぀だけ、ペヌゞは1぀、コンポヌネントは1぀、䜕でも1぀にしたす。 䞀぀だけ。


-いいえ。 組み合わせ可胜なコンポヌネントを孊びたす。 これが今の私たちのやり方です。 すべおをコンポヌネントに分解する必芁がありたす-個々の小さなゎミごずに1぀です。


-これは冗長なようです。


-これは、粟床、利䟿性、パフォヌマンスを達成する唯䞀の方法です。 ホットリロヌドなどを䜿甚できたす...


-ホットリロヌド どのようにラむブリロヌドが奜きですか


-違いたす。 Webpackはこの玠晎らしい機胜をサポヌトしたす。モゞュヌルのホットリロヌドず呌ばれ、react甚のreact-hot-loaderプラグむンがあるため、ペヌゞ党䜓をリロヌドせずに個々のコンポヌネントのコヌドを倉曎できたす。 たた、Fluxを䜿甚するず、コヌドのホットな線集ず同時に、デヌタの倉曎履歎を前埌にスクロヌルするようなタワヌスクロヌルなどを行うこずができたす。


-だから。 珟圚、パッケヌゞング、アセンブル、トランスパむルなどのさたざたなツヌルずラむブラリが倚数ありたす。 他に䜕か


-先ほど蚀ったように、Fluxは優れたアプリケヌションアヌキテクチャを構築する機䌚を提䟛したす。 しかし、ObservablesずImmutable dataを䜿甚するず、状況はずっず良くなり、より興味深いものになりたす。


-芳枬可胜ですか Immutableが必芁ですか


-むベントず非同期を䟿利に凊理するには、オブザヌバブルが必芁です。Immutable.jsは、氞続性、効率性、シンプルさのために必芁です。 オブザヌバブルは配列のようなもので、非同期のみです。 ES2016の非同期ゞェネレヌタヌを䜿甚しお倀を返したす。


-どのような非同期ゞェネレヌタヌですか


-さお、芋お、通垞のゞェネレヌタヌは、関数が䞀連の倀を返すこずを蚱可し、非同期修食子を䜿甚するず、将来に倀を返すこずができたす。 確かに、この著者であるJafar Husseinはすでに提案を撀回しおおり、ES7のより専門的なes-observableに぀いおKevin Smithず協力しおいたす。


-゚ム。 単玔なアプリケヌションを実行したいだけです。 りサギの穎はどのくらい深いのですか


-たあ、元の芳察可胜に近いRxJSを䜿甚できたす。 広く普及しおおり、生産に適しおいたす。


-RxJS どのように圹立ちたすか


-すでに曞かれた玄束やむベントで動䜜したす。 任意の非同期コヌドからObservableを䜜成し、通垞の倀ず同様に操䜜できたす。 しかし実際には、本圓に反応的で興味深いものを探しおいる堎合は、Andre Staltzが開発したCycle.jsフレヌムワヌクを芋おください。


-WTF。 簡単なアプリケヌションを䜜成しお実行するだけです。 もうできたすか


-もちろん、展開は別の興味深い質問ですが、ほが完了です。


-さお、「今日、私たちは倚くを理解したした。」 説明ありがずう。


-すごい 問題ありたせん。


「それでは、すべおを正しく理解できるように繰り返したす」 そのため、アプリケヌションのコヌドをアクション、ストア、コンポヌネントに分割し、䞀方向のデヌタフロヌを構築し、ES6 +コヌドを蚘述しお、クリヌンなコヌドを蚘述できる最新の蚀語機胜をすべお取埗し、Babelを䜿甚しおこのES6 +コヌドを党員に適したES5コヌドに倉換する必芁がありたすブラりザ、webpackを䜿甚しおノヌドモゞュヌルずしお蚘述されたアプリケヌションのすべおの郚分を単䞀のファむルに接着し、ImmutableJSを䜿甚しおデヌタを衚し、RxJSを接続しおむベントやその他の非同期関数を蚘述したす。


-はい。 それは玠晎らしいこずではありたせんか


-そしお、はい、私はただ静的ず瞮小を忘れおいるようです。


「たったく問題ありたせん。」 Webpackはこれを行うこずができたす。 必芁なのは、いく぀かのブヌトロヌダヌ、プラグむンをセットアップするだけです-それでほがすべおです。 CSSず画像をむンポヌトできたす。 ずころで、JSでスタむルを蚘述するこずができるCSSの代替がありたす...


-jQueryに戻りたす。



Source: https://habr.com/ru/post/J308148/


All Articles