Wenn es aus der internen Architektur und dem Konzept unterteilt ist, kann das JavaScript -Framework in 5 Kategorien unterteilt werden.
Typ 1
Was erscheint, ist eine Namespace-orientierte Klassenbibliothek oder ein Framework. Wenn Sie beispielsweise ein Array erstellen, verwenden Sie New Array () und generieren ein Objekt mit New Object (), es ist vollständig Java -Stil. Daher können wir ein Objekt als Root verwenden und ihm ständig Objektattribute oder sekundäre Objektattribute hinzufügen, um den Code zu organisieren und sie wie eine Pyramide zu stapeln. Repräsentative Werke wie Early Yui und Ext.
Typ 2
Was erschien, ist ein fabrikorientiertes Gerüst wie der berühmte Prototyp sowie Mootools, Base2 und Ten. Im Grunde genommen sind andere Module mit Ausnahme des grundlegendsten Namespace Klassenobjekte, die aus Klassenfabriken abgeleitet sind. Insbesondere Mootools 1.3, verkauft alle Typen in Typtypen.
Typ 3
Es handelt sich um ein von JQuery dargestellter selektororientierter Gerüst. Das gesamte Framework- oder Bibliotheksgremium ist ein Spezialklassen -Array -Objekt, das für Sammelvorgänge bequem ist - da der Selektor normalerweise N -Element -Knoten gleichzeitig auswählt, sodass er zusammen verarbeitet wird. JQuery enthält mehrere erstaunliche Dinge: "New-Free Instantiation" -Technologie, $ (EXPR) ist es, eine Instanz ohne explizit neu zurückzugeben. Setzen Sie zuerst alle Zugriffsregeln fest: Daten zwischen den Daten. Auf diese Weise können die Ereignisse des Knotens repliziert werden. Darüber hinaus wurde auch IIFE (unmittelbar unerschrockener Funktionsausdruck) entdeckt.
Typ 4
Es ist ein Rahmen, das von Ladern verbunden ist. Sie alle haben mehrere JavaScript -Dateien, und jede JavaScript -Datei wird mit festen Regeln geschrieben. Der berühmteste von ihnen ist AMD. Modularität ist ein Zeichen dafür, dass sich JavaScript in Richtung Industrialisierung bewegt. Die erste der vielen "goldenen Regeln", die in "Unix -Programmierkunst" aufgeführt sind, sind Module, die besagen: "Die einzige Möglichkeit, komplexe Software ohne Versäumnis zu schreiben, besteht darin, mehrere einfache Module mit klar definierten Schnittstellen zu kombinieren. Auf diese Weise werden die meisten Probleme nur in der Region auftreten, und es gibt immer noch die Hoffnung, die Gegend zu verbessern oder zu optimieren, ohne den gesamten Körper zu beeinflussen." Viele interne Rahmenbedingungen von Unternehmen übernehmen diese Architektur im Grunde genommen wie Dojo, Yui, Kissy, QWrap und Mass.
Typ 5
Es ist ein MV* -Rahmen mit einer klaren hierarchischen Architektur. Zuerst JavaScript MVC (jetzt Canjs genannt), Backbonejs und SpineJs und dann mehr im Einklang mit den tatsächlichen Front-End-MVVM-Frameworks wie Knockout, Ember, Angular, Avalon und Winjs. Im MVVM -Framework werden die ursprünglichen DOM -Operationen durch deklarative Bindung ersetzt und vom Framework selbst behandelt, und die Benutzer müssen sich nur auf die Geschäftsordnung konzentrieren.
Im Folgenden finden Sie Schlussfolgerungen über die Eigenschaften des Rahmens.
Operationen zu grundlegenden Datentypen sind die Grundlagen. Beispielsweise bietet JQuery Methoden wie Trim, Camelcase, jeweils, Karte usw. und invasive Frameworks wie Prototypen.
Die Bestimmung des Typs ist wesentlich und die gemeinsame Form ist die ISXXX -Serie.
Selektoren, Domready und AJAX sind Standardmerkmale moderner Frameworks.
DOM -Operationen haben oberste Priorität. Der Durchqueren von Knoten, Stilvorgängen und Attributoperationen gehört auch zu ihrem Geltungsbereich. Ob unterteilt wird, hängt von der Größe des Rahmens ab.
Brower Sniff ist veraltet und es wird eine Feature -Erkennung angewendet. Die Merkmalserkennung hat jedoch weiterhin Einschränkungen. Wenn Sie Browser schnüffeln, um Fehler, Sicherheitsrichtlinien oder Korrekturen für bestimmte Browserversionen zu rendern, ist immer noch ein Browser -Schnüffeln erforderlich. Es sollte jedoch als Modul oder Plugin unabhängig sein und den Kern des Frameworks entfernt.
Jetzt unterstützen Event -Systeme für Mainstream Event Proxying.
Datencache und Verarbeitung werden derzeit vom Browser bereitgestellt, um Datenattribute für diese Arbeit bereitzustellen. Sie sind jedoch nicht einfach zu verwenden und erfordern eine weitere Einkapselung des Frameworks.
Animation Engine, es sei denn, Ihr Framework verfügt über ein erstklassiges Animations-Framework wie Skript.Aculo.us als Backing, ist es am besten, es hinzuzufügen.
Einfach zu entwickeln und erweiterbare Plug-Ins.
Bietet Lösungen für den Umgang mit asynchronen Prozessen wie aufgeschoben.
Auch wenn eine Klassenfabrik nicht speziell bereitgestellt wird, sollte es eine Methode namens Extend oder Mixin geben, um das Objekt zu erweitern. Obwohl JQuery keine Klassenfabrik hat, muss man in der Jquery -Benutzeroberfläche hinzugefügt werden, die seine Bedeutung zeigt.
Seit JQuery eine Methode namens Noconflict herausgebracht hat, haben aufstrebende Frameworks diese Methode zum Überleben im Schlitz gebracht.
Viele Frameworks legen großen Wert auf Cookie -Operationen.