Können eckige und reagieren zusammen spielen?
Ich wirklich bin kommen Liebe kantig, aber reagieren ist immer eine Menge Aufmerksamkeit. Sind Sie wirklich gegensätzliche Kräfte?
Ist es eine gute Idee, zu reagieren und Winkel zusammen? Könnte Ich? Sollte Ich?
Was sind die vor-und Nachteile mischen?
Reagieren, ist für die UI, aber eckig kann mit den controller und die view...aber ist besser reagieren im Umgang mit der Sicht? Können wir machen eine bessere app, indem Sie verwies Winkel der regler nur???
Jeder gute Ressourcen für diese Dinge zu tun?
Eine Sache, die ich mag eckig zu sein scheint, dass weniger wahr mit reagieren ist, dass der Winkel wirklich ermöglicht es Ihnen, die Trennung von Bedenken, in der Erwägung, dass reagieren beginnt, zu verwechseln das ein wenig. Es scheint zu sein, im Gegensatz zu den eckig-Weg, mindestens.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In gewissem Sinne sind Sie, und einige andere Sinne sind Sie nicht. Menschen sind definitiv mit Reagieren im inneren Winkel-Richtlinien, aber Sie tun meistens das, um eine Leistungssteigerung und nicht, weil Sie denken, Reagieren ist genial. Und wenn Sie nur suchen, zu Reagieren, für eine bessere Leistung, Sie sind wirklich fehlt auf der value proposition mit Reagieren.
Ich würde sagen, dass Sie die gegnerischen Kräfte in sich, dass Sie die gleichen Probleme lösen. Obwohl das argument, dass die Reagieren, ist genau das V in MVC und Angular ist ein "full-blown framework" wird geworfen, um eine Menge, Winkel und Reagieren, sind sehr vergleichbar.
Winkel-hat-Controller und-Richtlinien (wie auch Dienstleistungen und Fabriken), in der Erwägung, dass Reagieren nur Komponenten. Und wegen dieser, ist es einfach, zu interpretieren, dass als Winkel ein mehr vollständiges framework. Aber wir zerlegen diese.
Controller
Reagieren, nicht enthalten nichts als einen Controller, aber es gibt ein Konzept in der Reagieren Welt-genannt "view-controller", die maps ziemlich gut zu Angular Controller. Ein reagieren "view controller" ist definiert als jede andere Reagieren Komponente, aber es ist minimal rendering. Sein Anliegen ist die Daten - /Status-management, und übergeben dieses Staates nach unten, um Komponenten, die dann macht, dass Daten/Staat.
Ein einfaches Beispiel wäre:
Also die
ViewComponent
hier ist besorgt über die Besonderheiten der Darstellung von HTML und dieViewController
ist besorgt über das abrufen und verwalten von Daten, die es geht auf denViewComponent
.Richtlinien
Ich glaube nicht, dass jemand argumentiert, dass das Konzept des Eckigen Richtlinien maps ziemlich gut zu Reagieren, die view-Komponenten.
Dienstleistungen und Fabriken
Dies ist etwas, das existiert, in Winkel, nur weil es das Konzept von Dependency Injection, und im Grunde das einzige argument für "Winkel ist eine vollständige framework als Reagieren". Man könnte argumentieren, für Tage, wenn Angulars Weg von DI ist eine gute Passform in einer Sprache wie Javascript, falls Sie Javascript wirklich braucht, etwas, wie es da it ist so dynamisch, aber lasst uns das nicht tun.
Statt der Erstellung Ihrer eigenen Modul-system wie Winkel hat (und ich denke, wir können alle einig, dass die Angular-Modulen, die in sich selbst fügen Sie sehr wenig Wert), Reagieren, ermöglicht die Verwendung von allen Modul-system, die Sie mögen. Transpiled ES6, CommonJS, AMD, plain old globals, etc. Die Gemeinde haben ziemlich viel vereinbart ES6 und CommonJS, das ist eine gute Sache (und Winkel bewegt sich in diese Richtung mit der Winkelgeschwindigkeit 2).
Also, wenn DI, ist Ihre Sache, es ist sehr einfach zu implementieren, zusammen mit einem guten Modul-system. Und es gibt sogar ein wirklich interessanter Ansatz, der eine völlig neue Sichtweise auf DI im Reagieren von Pete Hunt: http://jsfiddle.net/cjL6h/
Ich würde es nur tun, wenn Sie planen, sich zu bewegen, zu Reagieren, auf der ganzen Linie. Ihre Anwendung wird schwerer zu verstehen und komplizierter, da musst du wissen, beide Eckig und zu Reagieren. Das heißt, eine Menge Leute zu sein scheinen, Reagieren mit innen Gewinkelt, so ist dies nur meine Meinung.
Wie ich schon sagte, dies ist ein häufiges Missverständnis. Winkel-und Reagieren, löst die gleichen Probleme, aber auf unterschiedliche Weise. Ein Vorteil, dass es nicht binden Sie Ihre business-Logik-Schicht, um die Winkel-Modul-system ist, dass es einfacher zu migrieren, um etwas anderes. Eine Menge Leute verwenden ein Flux-Architektur zusammen mit Reagieren, aber es gibt nichts Reagieren spezifisch mit Flussmittel. Sie können den Flux Ideen mit jedem Rahmen.
Ich sehr viel mit dieser Meinung. Ich finde meine Reagieren-Anwendungen haben eine bessere Trennung von Bedenken, als meine Eckige Anwendungen (und ich habe mit Winkel-eine Menge). Sie müssen nur verstehen, Reagieren, denken, und es ist auch eine gute Idee zu lernen, was Flux ist alles über. Ich sage nicht, dass Sie nicht schreiben kann tolle apps im Winkel, es ist nur meine Erfahrung, dass es einfacher ist, "in die Grube fallen "Erfolg" mit Reagieren als mit Eckigen.
Winkel hat eine zwei-Schritt Lernprozess. Zunächst erstellen Sie einen controller mit einem Rahmen, fügen Sie ein array, um den Umfang und drucken, die mit einer
ng-repeat
und Sie sind erstaunt, wie einfach das war. Fügen Sie eine Richtlinie, die ein wenig schwieriger zu erfassen, aber Sie kopieren und einfügen und es funktioniert. Yeay! Dann, als Sie tiefer Graben, stoßen Sie auf den zweiten Schritt in der Lernkurve, wo Sie haben zu starten, um wirklich zu verstehen, die Funktionsweise von Angular. Sie müssen wissen, dass scopes Erben von einander mit prototypal inheritance-und die Folgen (müssen Sie einen Punkt in alleng-model
Ausdrücke, usw.). Und was ist mit der Richtlinie Controller? Welche das sind und wie Sie im Vergleich zu regulären Controllern? Und was ist transklusion? Und jemand hat mir gesagt, dass ich ausführen muss, um dies und das in der compile-Schritt von meiner Richtlinie, was ist das?Mit Reagieren, die anfängliche Lernkurve etwas steiler. Aber sobald du drüber bist, gibt es keine zweite Schritt. Lernen Flux, könnte erwogen werden, einen zweiten Schritt, lernen aber Flux gibt Ihnen neues wissen, das überträgt sich auf andere Javascript-frameworks als auch, was die "compile-Schritt in eine Winkel-Richtlinie" nicht.
Weiteren großen Vorteil, Reagieren über Eckig ist, dass es meist nur Javascript. Eigenschaften auf, Reagieren die Elemente sind nur in Javascript-Objekten/Funktionen anstelle von magischen Zeichenfolgen wie in Winkel-Parametern. Dies bedeutet auch, dass Sie Ihre regelmäßigen linter kann Ihnen sagen, ob es ein Fehler ist, auf Ihre callback-Attribut expression. Im Winkel, die Sie haben, um den code auszuführen, um zu sehen, ob es funktioniert.
Und da Javascript schon hat Blockbereich, brauchen Sie nicht zu kümmern, indem Sie Ihr element-Namen mit etwas, das Sie einzigartig macht.
So, ich bin ich sagen, dass Eckige wertlos ist und dass Sie sich bewegen sollen, um zu Reagieren? Nein, ich bin nicht. Viele Unternehmen haben viel investiert in Eckig. Aber wenn Sie mich Fragen, gibt es mehr Macken und Merkwürdigkeiten in Winkel, die Sie wirklich haben, um zu wissen, wenn du gehst zu bauen, eine wartbare Anwendung. Sie sollten auch darüber nachdenken, die Tatsache, dass Winkel-2 ist eine komplette Neuentwicklung, und es hat eine Menge inspiration aus Reagieren (das ist toll!).
Du kannst ja, wie @Edward Knowles erklärte, sollten Sie
directives
zu nutzen, Reagieren. Sie können zwar ngReact, können Sie auch erstellen Sie Richtlinien ganz einfach zu nutzen, Reagieren.In Winkel, Richtlinien sind der beste Weg, sich zu integrieren "Anzeigen-Orientierte" Komponenten, um Ihre Winkel-Anwendung, und
React
ist ein framework viel orientiert sich an der Präsentation/view-Schicht.Da Reagieren Selektoren verwendet Anhängen und render Teile Ihrer Seite, können Sie erstellen eine Richtlinie, die Werke im Winkel-in einer Weise wie dieser:
services
undcontrollers
(Service-und Daten-Schicht)directive
erhält und manipulieren können, dass die Daten (Art der Modell-Ebene)directive
AnrufeReact
aus und übergibt die Informationen ordnungsgemäß gerendert deine info, wie Sie wollen, Reagieren mit praktischen Funktionen. (View-Schicht)Hier ist eine große und eher kurz video auf die integration von Winkel - + Reagieren + D3 für das erstellen eines einfachen Diagramms.
Ja, Sie können über eine Richtlinie ngReact. Es gibt einige Anwendungsfälle, wo möchten Sie vielleicht zu tun, jedoch mit Winkel-2 kommt diesen Sommer, ich würde halten, zu versuchen, es nur noch nicht.
Als für die Geschwindigkeit, die Sie beobachten sollte, diese große reden während der ng-conf früher in diesem Jahr.
Wenn Sie finden, sich selbst mit Winkel-und Reagieren zusammen, https://github.com/bcherny/ngimport ist eine wirklich schöne Brücke zwischen den beiden. Es ermöglicht Ihnen das freigeben von Dienstleistungen/Dienstleister/Fabriken/Werte/Konstanten zwischen Winkel-und der Außenwelt, indem
import
/require
ing Sie, wie Sie es mit anderen Codes. Hoffe, das hilft!Extjs ist eine zeitgenössische, wenn nicht direkter Ersatz zu Reagieren und Eckig. Ein tangential zu beantworten, ist ein Blick in ExtReact. ExtReact ist ExtJs Versuch, gut zu spielen mit Reagieren. Der Vorteil ist die Wiederverwendbarkeit von Komponenten Reagieren innerhalb von Extjs-Anwendungen.
Nur ein Gedanke : ja, wir können beide in den single-Projekt, Aber das ist auch gut für das lernen der Zweck, der aber das gleiche Projekt schwer zu pflegen und die Kalkulation ist mehr als je aktuellen situation