Dieses Projekt wurde mit The Composable Architecture umgestaltet und der neueste Code befindet sich im Composable-Architecture-Zweig.
WeChat wurde mithilfe von SwiftUI nachgeahmt.
Obwohl es sich nur um ein Kopierprojekt handelt, schreibe ich es dennoch entsprechend den tatsächlichen Produktions- und Entwicklungsanforderungen und nicht nur auf der einfachen UI-Ebene.
Ziel dieses Projekts ist es, so weit wie möglich das reine SwiftUI-Framework zu nutzen. Wenn SwiftUI es noch nicht unterstützt, werden wir es jetzt nicht implementieren und warten, bis SwiftUI es unterstützt.
Redux wird häufig in React-Projekten verwendet. Das Konzept der deklarativen Programmierung in SwiftUI ist dem von React sehr ähnlich. Die Verwendung von Redux in SwiftUI ist also perfekt. Was ist Redux? Wie implementiert man Redux? Sie können einen Artikel lesen, den ich vor „Implementieren von Redux in SwiftUI“ geschrieben habe.
Dieses Projekt verwendet die Redux-Architektur und die relevanten Dateien befinden sich im Redux
-Ordner.
Die mehrsprachige Verarbeitung dieses Projekts bezieht sich auf die Methode in Kickstarter iOS. Verwenden Sie das Skript bin/strings-script
und ExternalResources/locales.json
um automatisch mehrsprachige Dateien und Strings
Typen zu generieren. Wenn Sie eine neue Anweisung hinzufügen müssen, müssen Sie nur die entsprechende Übersetzung in locales.json
hinzufügen und dann den Befehl make strings
ausführen. Sie können Strings.xxx()
im Projekt verwenden, um die Anweisung in der aktuellen Sprache abzurufen.
Dieses Projekt enthält eine große Anzahl von Komponententests, um die Genauigkeit der Schlüssellogik sicherzustellen.
SwiftUIRedux: Eine von mir geschriebene Redux-Bibliothek. Ideen zum Schreiben finden Sie in einem Artikel, den ich vor „Implementieren von Redux in SwiftUI“ geschrieben habe.
Kickstarter-Vorspiel: Einige praktische Swift-Erweiterungen. Ich habe den Code aus dem Kickstarter-Prelude-Projekt von Kickstarter übernommen und ihn in eine Swift-Paketbibliothek umgewandelt.
URLImage: Netzwerkbilder anzeigen.
LBJMediaBrowser: Eine Bibliothek, die ich selbst geschrieben habe, um Bilder und Videos in der Vorschau anzuzeigen.
Die Benutzerregistrierung und -anmeldung, der Chat, die Kontakte und die persönlichen Informationen dieses Projekts werden alle über Googles Firebase implementiert, wobei versucht wird, die tatsächliche Entwicklungslogik so weit wie möglich zu simulieren.
Registrieren Sie sich und melden Sie sich an
chatten
Ansprechpartner
Entdecken
ICH
Da dieses Projekt Googles Firebase verwendet, sollten Benutzer auf dem chinesischen Festland vor der Ausführung eine Verbindung zu einem VPN herstellen.
Testkonto: [email protected] / 11111111.
Wenn Sie gerne neue Funktionen zu diesem Projekt hinzufügen würden, würde ich das sehr begrüßen. Bitte verwenden Sie GitHub Issues, um die Funktionen zu schreiben, die Sie ausführen möchten, und reichen Sie dann nach der Implementierung eine PR ein.
Ich bin ein Code-Freak und lege großen Wert auf die Einfachheit und Lesbarkeit von Code. Bitte folgen Sie meinem Stil beim Schreiben von Code. Wenn Sie der Meinung sind, dass es Bereiche im Code gibt, die verbessert werden können, weisen Sie bitte darauf hin. Danke!