Heim Web-Frontend Front-End-Fragen und Antworten Der Autor von Ant Design gibt die Geschichte hinter dem Versionsupdate bekannt!

Der Autor von Ant Design gibt die Geschichte hinter dem Versionsupdate bekannt!

Dec 20, 2021 am 11:50 AM
ant design

Ant Design ist eine von Ant Financial eingeführte UI-Designsprache und React-Komponentenbibliothek. Sie hat seit ihrer Einführung im Jahr 2015 große Aufmerksamkeit und Verwendung gefunden und hat derzeit mehr als 57.000 Sterne auf GitHub. Kürzlich hat Ant Design die Version 4.0 veröffentlicht, die einige wichtige Updates mit sich bringt. Wir haben Jiang Jilin, einen der Hauptautoren des Ant Design-Teams, interviewt und über einige der Geschichten hinter dem Versionsupdate 4.0 gesprochen.

Ant Design 4.0 ist veröffentlicht. Welche wichtigen Updates bringt es dieses Mal?

Dieses Mal wurden einige große Updates veröffentlicht. Beispielsweise haben wir ein dunkles Design, randlose Komponenten, RTL-Internationalisierungsunterstützung hinzugefügt und Komponenten wie Tabelle, Formular, Auswahl usw. überarbeitet, um die Leistung erheblich zu verbessern. Da es sich um viele Inhalte handelt, vermeiden Sie es, diese direkt in ein veröffentlichtes Dokument umzuwandeln. Willkommen bei Yuque, um das vollständige Update anzusehen: „Die offizielle Version von Ant Design ist da!“ 》

Nach Jahren der Entwicklung hat sich Ant Design zu einem Ökosystem entwickelt. Bitte stellen Sie die wichtigen Mitglieder dieses Ökosystems vor.

Ant Design (im Folgenden als antd bezeichnet) als Designsystem umfasst mehr als nur eine Komponentenbibliothek. Neben dem bekannten Ant Design React gibt es auch Angular-Versionen von NG-ZORRO, Ant Desin Mobile, Ant Design Landing, HiTu React und Ant Design Vue von Freiwilligen aus der Community. Vertikal sofort einsatzbereite Mid-End-Frontend-/Designlösung Ant Design Pro und der entsprechende Blockmarkt sowie abgeleitete Komponentenbibliotheken Pro Layout und Pro Table. Der Entwurf stellt außerdem zahlreiche Spezifikationsdokumente und zugehörige Entwurfsressourcen bereit.

Ant Design ist wie ein Baum und die Zweige und Blätter darauf sind sehr einfallsreich. Wir werden in Zukunft erstens weiterhin vertiefte Forschung auf Basis des Designsystems betreiben und zweitens gemeinsam mit relevanten Frameworks Fortschritte machen. Gleichzeitig wird Ant Design auch ökologische Produkte auf der Grundlage realer Geschäftsanforderungen bereichern.

Was ist im Prozess von 3.0 bis 4.0 das größte Problem, das das antd-Team überwunden hat? Auf welche neue Funktion sind Sie am meisten stolz?

v4-Version und Community-Klassenkameraden haben eine große Anzahl zugrunde liegender Komponenten rekonstruiert und so die Leistung beim Rendern von Komponenten erheblich verbessert. Feldaktualisierungen in der Formularkomponente in Version v3 führen beispielsweise dazu, dass das gesamte Formular neu gerendert wird, was bei großen Formularen zu schwerwiegenden Leistungsproblemen führen kann. In v4 aktualisiert Form nur relevante Feldkomponenten, wodurch die Renderzeit erheblich verkürzt wird. Virtuelles Scrollen ist in Komponenten wie Tree, Select und TreeSelect integriert, wodurch die tatsächlich gerenderten Elemente erheblich reduziert werden.

Apropos schwierigerer Teil: Diese Rekonstruktion erfordert auf virtuellem Scrollen basierende Lösungen zum Verkleinern und Strecken von Animationen, da sie virtuelles Scrollen unterstützt. Beispielsweise kann in der v3-Version der Tree-Komponente die Skalierung durch native Übergänge und Höhen erreicht werden, um Verkleinerungs- und Streckungseffekte zu erzielen. Beim virtuellen Scrollen ist jedoch jedes Element tatsächlich ein unabhängiges Element. Wenn Sie also beim Skalieren den gleichen Animationseffekt wie in Version 3 erzielen möchten, müssen Sie die entsprechenden Algorithmen selbst implementieren. Daher haben wir es in mehrere Phasen unterteilt und unterschiedliche Logik in verschiedenen Phasen verarbeitet, um eine Animationsimplementierung zu kombinieren, die virtuelles Scrollen unterstützt. Die spezifische Implementierungslogik ist relativ kompliziert. Wenn Sie interessiert sind, können Sie sich den entsprechenden Code von rc-virtual-list ansehen.

Wie bringt andd Effizienz, Leistung/Erfahrung und Qualität im Design in Einklang?

Aus persönlicher Sicht sind die letzten drei eigentlich kein Widerspruch. Die Komponentenentwicklung von Ant Design umfasst im Allgemeinen die folgenden Schritte:

  • Designer entwerfen visuelle und interaktive Entwürfe

  • Ingenieure entwickeln

  • Codeüberprüfung und Designerüberprüfung.

Jeder Link wird ernsthaft und verantwortungsvoll ausgefüllt, und der Codeüberprüfungsteil ist auch die längste Phase. Beim Codeüberprüfungsprozess werden die API und die Codeimplementierung wiederholt überarbeitet, und Designer und Entwickler werden gemeinsam daran teilnehmen, den Effekt von 1 + 1 > zu erzielen. Die Entwicklung von Komponenten kann nicht blindlings nach Effizienz streben. Sie muss vom Entwurf bis zur Implementierung langsam verfeinert werden. Beispielsweise sieht die Typografie-Komponente als Satzkomponente sehr einfach aus, aber es dauerte einen Monat vom Entwurf bis zur Entwicklung. Die API wurde wiederholt angepasst, um die Speicherkosten der Entwickler auf möglichst effiziente Weise zu vereinfachen berücksichtigt. Auch der gestalterische Aspekt wird immer wieder berücksichtigt, um sowohl im chinesischen als auch im englischen Kontext gute visuelle Effekte zu erzielen.

In der v3-Version ergeben sich die Leistungsprobleme der Komponenten hauptsächlich aus den Kompatibilitätsanforderungen für ältere IE-Versionen. Daher können viele Implementierungen nur relativ hackige Methoden verwenden. Die folgenden Probleme werden erwähnt, daher werde ich sie nicht noch einmal erwähnen. Da die kompatible Mindestversion von IE v4 auf IE 11 geändert wurde, handelt es sich hierbei nicht mehr um Einschränkungen, sodass wir schrittweise Aktualisierungen vornehmen können, um die Leistung zu verbessern.

Wir haben hinsichtlich der Kompatibilität mit dem IE einige Kompromisse eingegangen. Was sind die Gründe? Welche Schwierigkeiten gibt es bei der Kompatibilität mit dem IE?

Die v3-Version musste einige Kompromisse eingehen, um mit älteren IE-Versionen kompatibel zu sein. Wenn beispielsweise das Flex-Layout nicht verwendet werden kann, verwenden wir Float und Table. Sticky kann nicht verwendet werden, und Table muss eine zusätzliche Tabelle rendern, um den Effekt fester Spalten zu erzielen. In den letzten Jahren ist mit der Aktualisierung von Windows-Systemen der Anteil alter IE-Versionen immer kleiner geworden. Dies ist auch eine Gelegenheit für uns, die veraltete IE-Version in der v4-Version aufzugeben und mit leichtem Gepäck zu reisen.

Die Schwierigkeit bei der Kompatibilität mit dem IE besteht darin, dass viele Verhaltensweisen unerwartet sind. Oft liegt kein Problem mit dem Code vor, aber die Seitendarstellung ist abnormal. Für diese Situation muss viel schwarze Technologie eingesetzt werden. Zum Beispiel das Erzwingen der Aktualisierung von Komponenten, die Verwendung von Nur-IE-CSS-Hacks usw. Darüber hinaus können viele der zuvor erwähnten neuen HTML-Funktionen nicht in der IE-Umgebung verwendet werden und können nur von Ihnen selbst simuliert werden, was zu erheblichen Leistungseinbußen führt.

Glauben Sie, dass die aktuelle Unterstützung von antd für TypeScript vorhanden ist? Falls weiterhin Mängel bestehen, wo liegen diese hauptsächlich vor und wie werden sie behoben?

In der v3-Version sind viele unserer zugrunde liegenden Komponenten in js geschrieben, sodass die Typdefinition von ts zusätzlich auf antd erfolgt. Der Nachteil besteht darin, dass sie nicht vollständig mit den zugrunde liegenden Komponenten übereinstimmt. In der v4-Version haben wir auch eine große Anzahl zugrunde liegender Komponenten in die ts-Version konvertiert und diese Definitionen direkt auf der Antd-Seite verwendet, um so die Nichtübereinstimmung der Definitionen in der Vergangenheit zu vermeiden. Natürlich geschieht dieser Prozess nicht über Nacht. Es gibt immer noch einige zugrunde liegende Komponenten, die noch nicht umgesetzt wurden. Studenten in der Community sind herzlich willkommen, dabei zu helfen, die Definition zu verbessern.

Darüber hinaus sind wir auch auf einige interessante und ärgerliche Probleme gestoßen – das heißt, aufgrund der Aktualisierung von Typescript und @types/react-Ontologie wurde die ursprüngliche ts-Definition ungültig. Es gab eine Zeit in der Vergangenheit, in der der Button von antd seine ts-Definition jede Woche aktualisierte, um sie an die neuesten @types/react anzupassen. Diese Situation ist unvermeidlich, bleiben Sie einfach auf dem Laufenden.

In der Veröffentlichungsankündigung wurden die Beiträge von zwei Community-Studenten @saeedrahimi @shaodahong ausdrücklich erwähnt. Können Sie uns die Geschichte im Detail erzählen?

@saeedrahimi classmate Er hat die RTL-Internationalisierungsfunktionen aller Komponenten in Version 4 eingebracht und Tausende von Codezeilen geändert. Diese Funktion ist sehr leistungsstark und Sie werden nach nur einem PR begeistert sein. Auf diese Weise haben wir es immer wieder überprüft und aktualisiert und schließlich festgestellt, dass es in der Mitte nicht einfach war.

@shaodahong war tatsächlich ein begeisterter Freiwilliger während der Version 3. Er half auch bei der Veröffentlichung von Version 4, wobei er hauptsächlich die Entwicklung des Kompatibilitätspakets erledigte. Durch das Kompatibilitätspaket können Entwickler andd zu möglichst geringen Kosten von v3 auf v4 aktualisieren.

Natürlich sind neben diesen beiden Studenten auch viele Freiwillige an der Entwicklung von v4 beteiligt. An dieser Stelle möchte ich mich noch einmal bei allen ehrenamtlichen Helfern bedanken!

Einige Benutzer haben berichtet, dass der Quellcode mithilfe der rc-*-Kapselung implementiert ist, was dazu führt, dass Entwickler zögern, bei der Behebung von Fehlern zu helfen. Wie sieht das andd-Team die Verbindung und Interaktion mit Community-Entwicklern? Die

rc-Komponente ist so konzipiert, dass sie einfach und flexibel ist, sodass keine starke Abhängigkeit vom Stil besteht. Zusätzlich zu den Komponentenfunktionen verfügt antd auch über ein eigenes Designsystem, sodass der Schwerpunkt stärker auf dem UI-Design liegt. Diese Aufteilung ermöglicht es Benutzern, direkt basierend auf der RC-Komponente zu kapseln, wenn sie nur die Funktion der Komponente verwenden möchten, aber ihren Stil nicht benötigen. Beispielsweise hat die zugrunde liegende Komponente von Form rc-field-form selbst überhaupt keinen Stil, während sie in antd das formatierte Form und Form.Item kapselt, ohne die zugrunde liegende Feldkomponente verfügbar zu machen. Tatsächlich hatten viele Community-Studenten vor der Veröffentlichung von Version 4 bereits ihre eigenen Komponenten basierend auf rc-field-form gekapselt. Die beiden unterscheiden sich hinsichtlich der Designideen und werden in Zukunft nicht zusammengeführt.

Aus Sicht des PR-Versands besteht eigentlich keine Notwendigkeit, zu viel psychische Belastung zu haben. Die Komponenten erfüllen ihre eigenen Aufgaben, und Sie werden nicht davon abgeschreckt, unten eine zusätzliche RC-Komponentenbibliothek zu haben. Der täglichen Wartung nach zu urteilen, senden Freiwillige mit derselben Begeisterung PRs an antd und rc. Es gibt keinen Fehler, der in der RC-Komponente nicht behoben werden kann. Manchmal verwenden einige Benutzer jedoch nur die RC-Komponente und senden daher viele PRs an die RC-Komponente, um sie zu verbessern, was auch dazu führt, dass diese PRs an antd zurückgemeldet werden.

Was ist der Folgeversionsplan? Auf welche neuen Funktionen kann man sich in Zukunft freuen?

Nach der Veröffentlichung der v4-Version wird das Hauptaugenmerk aufgrund des Umbaus einer Vielzahl von Komponenten vorerst auf der Fehlerbehebung liegen. Sobald es stabil ist, sind wir bereit für den zukünftigen Concurrent-Modus von React. Darüber hinaus ist geplant, CSS in JS zu erforschen, um die Fähigkeit zum dynamischen Wechseln von Themen zu unterstützen. Natürlich liegt, wie ich gerade sagte, die aktuelle Priorität immer noch auf der Fehlerbehebung.

Was ist Ihrer Meinung nach der Grund für den bisherigen Erfolg von antd als weit verbreitetes Front-End-Star-Open-Source-Projekt? Was sind die größten Fortschritte und Lehren aus Open Source in den letzten Jahren?

Die Popularität von Ant Design ist untrennbar mit der Unterstützung der Studenten in der Community verbunden. Es ist die Anerkennung aller, die Ant Design zu dem macht, was es heute ist. Das Überleben eines Open-Source-Projekts erfordert neben der Aufrechterhaltung von Updates durch die Betreuer auch die Kraft der Community. In der Open-Source-Welt werden Sie viele hervorragende Projekte sehen. Doch mit der Zeit wurde es nach und nach nicht mehr aufrechterhalten. Daher hat die Aufrechterhaltung der Vitalität des Projekts oberste Priorität.

Ant Design hat seit dem Schreiben der ersten Codezeile im Jahr 2015 einen langen Weg zurückgelegt. Der größte Gewinn ist die Hilfe von Klassenkameraden in der Community, die zusammenkommen, um Ant Design in eine erstklassige Front-End-Komponentenbibliothek zu integrieren. Gleichzeitig muss es als Open-Source-Projekt auch offen und transparent im Open-Source-Stil gepflegt werden. Um dem Vertrauen der Klassenkameraden in der Gemeinschaft gerecht zu werden.

Das obige ist der detaillierte Inhalt vonDer Autor von Ant Design gibt die Geschichte hinter dem Versionsupdate bekannt!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Reacts Rolle bei HTML: Verbesserung der Benutzererfahrung Reacts Rolle bei HTML: Verbesserung der Benutzererfahrung Apr 09, 2025 am 12:11 AM

React kombiniert JSX und HTML, um die Benutzererfahrung zu verbessern. 1) JSX bettet HTML ein, um die Entwicklung intuitiver zu gestalten. 2) Der virtuelle DOM -Mechanismus optimiert die Leistung und reduziert den DOM -Betrieb. 3) Komponentenbasierte Verwaltungs-Benutzeroberfläche zur Verbesserung der Wartbarkeit. 4) Staatsmanagement und Ereignisverarbeitung verbessern die Interaktivität.

Was sind die Einschränkungen des Reaktivitätssystems von Vue 2 in Bezug auf Array- und Objektänderungen? Was sind die Einschränkungen des Reaktivitätssystems von Vue 2 in Bezug auf Array- und Objektänderungen? Mar 25, 2025 pm 02:07 PM

Das Reaktivitätssystem von VUE 2 kämpft mit der Einstellung der Direktarray -Index, der Längenänderung und der Addition/Löschung der Objekteigenschaften. Entwickler können die Mutationsmethoden von VUE und VUE.SET () verwenden, um die Reaktivität sicherzustellen.

Reagieren Sie Komponenten: Erstellen wiederverwendbarer Elemente in HTML Reagieren Sie Komponenten: Erstellen wiederverwendbarer Elemente in HTML Apr 08, 2025 pm 05:53 PM

React -Komponenten können durch Funktionen oder Klassen definiert werden, wobei die UI -Logik eingefasst und Eingabedaten durch Props akzeptiert werden. 1) Komponenten definieren: Verwenden Sie Funktionen oder Klassen, um Reaktierungselemente zurückzugeben. 2) Rendering -Komponente: React -Aufrufe rendern Methode oder führt die Funktionskomponente aus. 3) Multiplexing -Komponenten: Daten durch Requisiten übergeben, um eine komplexe Benutzeroberfläche zu erstellen. Mit dem Lebenszyklusansatz von Komponenten kann die Logik in verschiedenen Phasen ausgeführt werden, wodurch die Entwicklungseffizienz und die Wartbarkeit des Codes verbessert werden.

Reagieren und das Frontend: Bauen Sie interaktive Erlebnisse auf Reagieren und das Frontend: Bauen Sie interaktive Erlebnisse auf Apr 11, 2025 am 12:02 AM

React ist das bevorzugte Werkzeug zum Aufbau interaktiver Front-End-Erlebnisse. 1) React vereinfacht die UI -Entwicklung durch Komponentierungen und virtuelles DOM. 2) Komponenten werden in Funktionskomponenten und Klassenkomponenten unterteilt. Funktionskomponenten sind einfacher und Klassenkomponenten bieten mehr Lebenszyklusmethoden. 3) Das Arbeitsprinzip von React beruht auf virtuellen DOM- und Versöhnungsalgorithmus, um die Leistung zu verbessern. 4) State Management verwendet Usestate oder diese. 5) Die grundlegende Verwendung umfasst das Erstellen von Komponenten und das Verwalten von Status, und die erweiterte Verwendung umfasst benutzerdefinierte Haken und Leistungsoptimierung. 6) Zu den häufigen Fehlern gehören unsachgemäße Statusaktualisierungen und Leistungsprobleme, Debugging -Fähigkeiten umfassen die Verwendung von ReactDevtools und exzellent

Was sind die Vorteile der Verwendung von TypeScript mit React? Was sind die Vorteile der Verwendung von TypeScript mit React? Mar 27, 2025 pm 05:43 PM

TypeScript verbessert die Reaktionsentwicklung, indem sie die Sicherheit Typ, Verbesserung der Codequalität und eine bessere Unterstützung für eine IDE bietet, wodurch Fehler verringert und die Wartbarkeit verbessert werden.

Wie können Sie den Usereducer für komplexes Staatsmanagement verwenden? Wie können Sie den Usereducer für komplexes Staatsmanagement verwenden? Mar 26, 2025 pm 06:29 PM

In dem Artikel wird der Usereducer für komplexes Zustandsmanagement in React erläutert, wobei die Vorteile gegenüber Usestate detailliert beschrieben werden und wie sie in die Nutzung für Nebenwirkungen integriert werden können.

Was sind funktionale Komponenten in Vue.js? Wann sind sie nützlich? Was sind funktionale Komponenten in Vue.js? Wann sind sie nützlich? Mar 25, 2025 pm 01:54 PM

Funktionelle Komponenten in vue.js sind zustandslos, leicht und fehlen Lebenszyklushaken, die ideal für die Rendern von reinen Daten und zur Optimierung der Leistung. Sie unterscheiden

Reagieren gegen Backend Frameworks: Ein Vergleich Reagieren gegen Backend Frameworks: Ein Vergleich Apr 13, 2025 am 12:06 AM

React ist ein Front-End-Framework zum Erstellen von Benutzeroberflächen. Ein Back-End-Framework wird verwendet, um serverseitige Anwendungen zu erstellen. React bietet komponentierte und effiziente UI -Updates, und das Backend -Framework bietet eine vollständige Backend -Service -Lösung. Bei der Auswahl eines Technologie -Stacks sollten Projektanforderungen, Teamfähigkeiten und Skalierbarkeit berücksichtigt werden.

See all articles