J'ai créé une application de clonage LINE dans le but d'apprendre les connaissances de base de Firebase et de la fonction de chat. Puisqu'il n'y avait pas d'endroit particulier pour la sortie, je la posterai comme un résumé de l'apprentissage et une introduction de l'application créée. Veuillez lire si vous êtes intéressé.
J'ai fait référence à la série de vidéos YouTube suivante. https://www.youtube.com/watch?v=XandgrGiV-8&list=PLJGQf09UDweLB6NGPoYnNL7j_z0Rzkpgr
De plus, je me suis référé à ici pour savoir comment organiser les articles.
:octocat: GitHub https://github.com/ayukin/ChatApp
C'est un passe-temps personnel, mais j'ai essayé de rendre l'interface utilisateur de l'écran aussi proche que possible de LINE.
photothèque
. Il était possible de démarrer la caméra
, mais je l'ai omis car je ne pensais pas à vérifier le fonctionnement sur la machine réelle.
--Si «adresse e-mail», «mot de passe» et «nom d'utilisateur» sont saisis, une nouvelle inscription est possible.
--Changé pour afficher ʻUIActivityIndicatorView au moment du nouveau processus d'enregistrement et ʻUIAlertController
au moment de l'erreur d'enregistrement. pendant le processus de connexion et ʻUIAlertController
en cas d'erreur de connexion.--ʻAddSnapshotListener est utilisé pour mettre à jour en temps réel. «J'ai pensé à inverser le
tableView` et à l'afficher en bas, mais je ne l'ai pas utilisé car un espace serait créé en haut lorsque la quantité de messages est petite.
Je n'avais jamais été au courant de l'architecture, j'ai donc décidé d'utiliser MVC cette fois.
MVC
--Modèle: gère la communication de données, le stockage, la logique métier, etc.
Model
et View
en réponse à l'opération de l'utilisateurl'authentification de l'utilisateur
, enregistrer l'image
, enregistrer les informations utilisateur
, enregistrer les informations du message
.TextField
, et il détecte automatiquement les interférences avec le clavier, donc j'ai pensé que c'était une très bonne bibliothèque.Tout en approfondissant les connaissances sur la conception dans le livre iOS App Design Pattern, divisez les responsabilités de Model
・ View
・ Controller
en FatViewController
J'ai essayé de ne pas devenir.
Bien que ce soit une chose rudimentaire, lors de la lecture d'un article qui semble être souligné par la critique d'un débutant, il est difficile de comprendre le "nom de la variable" et le type de traitement qu'il représente "le nom de la méthode" Depuis qu'il a été écrit, j'ai essayé de lui donner un nom aussi facile à comprendre que possible.
J'ai essayé de mettre en œuvre les éléments suivants en plus, mais j'ai abandonné car je ne pouvais pas comprendre à mon niveau actuel. Je suis désolé, mais j'essaierai encore un jour.
--Section des messages par date? Affichage séparé (méthode d'affichage comme LINE) --Message lu / non lu --Affichage des décomptes non lus dans la salle de conversation
Je m'habitue encore aux connaissances et à la compréhension des débutants, mais je m'habitue petit à petit à la grammaire, au Xcode, à l'UIKit, etc. Concernant la façon de concevoir et d'écrire du code en tenant compte de l'architecture, dont j'étais consciente cette fois, j'ai pu saisir le concept, etc. dans des livres et des articles d'ancêtres au bon cœur, mais en réalité, j'avais du mal à répartir les responsabilités. On dit que le concept de MVC diffère selon l'école, mais en tant que débutant, il est préférable pour nous en tant que débutant de procéder à un article facile à comprendre ou à l'avis de la personne qui peut nous enseigner. En faisant progresser l'apprentissage, si vous avez vos propres pensées ou si vous remarquez une erreur de reconnaissance, je pense que vous devriez la corriger à ce moment-là. De plus, l'apprentissage de base de «Firebase» et de la «fonction de chat», qui était le but de cette étude, n'est qu'un «contenu de base», mais je pense qu'il a gagné en force. Comme je l'ai mentionné dans la mission, j'ai décidé de me consacrer à la mise en œuvre de contenu appliqué à l'avenir.
C'est devenu un article comme une impression depuis longtemps, mais merci d'avoir lu jusqu'au bout.
Recommended Posts