Ce projet a été refactorisé à l'aide de l'architecture Composable, et le dernier code se trouve dans la branche composable-architecture.
WeChat imité en utilisant SwiftUI.
Bien qu'il ne s'agisse que d'un projet de copie, je l'écris toujours en fonction des exigences réelles de production et de développement, pas seulement au niveau du simple niveau de l'interface utilisateur.
Le but de ce projet est d'utiliser autant que possible le framework SwiftUI pur. Si SwiftUI ne le prend pas encore en charge, nous ne l'implémenterons pas maintenant et attendrons que SwiftUI le prenne en charge.
Redux est largement utilisé dans les projets React. Le concept de programmation déclarative dans SwiftUI est très similaire à celui de React. Utiliser Redux dans SwiftUI est donc parfait. Qu’est-ce que Redux ? Comment implémenter Redux ? Vous pouvez lire un article que j'ai écrit avant " Implémentation de Redux dans SwiftUI "
Ce projet utilise l'architecture Redux et les fichiers pertinents se trouvent dans le dossier Redux
.
Le traitement multilingue de ce projet fait référence à la méthode de Kickstarter iOS. Utilisez le script bin/strings-script
et ExternalResources/locales.json
pour générer automatiquement des fichiers multilingues et des types Strings
. Lorsque vous devez ajouter une nouvelle instruction, il vous suffit d'ajouter la traduction correspondante dans locales.json
, puis d'exécuter la commande make strings
. Vous pouvez utiliser Strings.xxx()
dans le projet pour obtenir l'instruction dans la langue actuelle.
Ce projet contient un grand nombre de tests unitaires pour garantir l'exactitude de la logique clé.
SwiftUIRedux : Une bibliothèque Redux écrite par moi. Pour des idées sur l'écriture, vous pouvez lire un article que j'ai écrit avant " Implémentation de Redux dans SwiftUI "
Kickstarter-Prelude : Quelques extensions pratiques de type Swift. J'ai pris le code du projet Kickstarter-Prelude de Kickstarter et l'ai transformé en une bibliothèque Swift Package.
URLImage : afficher les images du réseau.
LBJMediaBrowser : une bibliothèque que j'ai écrite moi-même pour prévisualiser des images et des vidéos.
L'enregistrement et la connexion des utilisateurs, le chat, les contacts et les informations personnelles de ce projet sont tous mis en œuvre via Firebase de Google, en essayant de simuler autant que possible la logique de développement réelle.
Inscrivez-vous et connectez-vous
chat
Personne de contact
Découvrir
je
Étant donné que ce projet utilise Firebase de Google, les utilisateurs de Chine continentale doivent se connecter à un VPN avant de l'exécuter.
Compte test : [email protected] / 11111111.
Si vous êtes heureux d’ajouter de nouvelles fonctionnalités à ce projet, je l’apprécierais beaucoup. Veuillez utiliser GitHub Issues pour écrire les fonctions que vous souhaitez exécuter, puis soumettre un PR après la mise en œuvre.
Je suis un mordu du code et je porte une grande attention à la simplicité et à la lisibilité du code. Veuillez suivre mon style lors de l'écriture du code. Si vous pensez qu'il y a des domaines qui peuvent être améliorés dans le code, veuillez le signaler. Merci!