Apprendre à développer en SwiftUI

Signaler
Messages postés
6
Date d'inscription
samedi 23 janvier 2021
Statut
Membre
Dernière intervention
24 janvier 2021
-
Messages postés
1
Date d'inscription
mercredi 10 février 2021
Statut
Membre
Dernière intervention
10 février 2021
-
Bonjour je m'appelle MyKodSwift
J'ouvre cette page de forum pour essayer de créer une communauté française autour du Swift
(pardonnez-moi pour le titre c'est pour mieux le référencé)

ça fait plusieurs années que j'essaye de t'apprendre le Swift en autodidacte, aider bien évidemment de YouTube et de Udemy
Mais je me suis dit que à prendre à plusieurs en même temps en partageant les ressources trouver, les idées développer, les problèmes rencontrés cela pourrait aider grand nombre

Voilà je suis ouvert à toute proposition par exemple un serveur discorde, chaine YouTube, ou même sur le forum même si cela me paraît un peu plus compliqué

Merci de votre lecture et à très vite

10 réponses

Messages postés
15648
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
3 mars 2021
674
Bonsoir

je ne code pas en swift.

Mais quand je lis ça
ça fait plusieurs années que j'essaye de t'apprendre le Swift en autodidacte, aider bien évidemment de YouTube et de Udemy
ça me fait réagir.
Certes il faut des années pour maitriser un langage, mais quand on cherche à le maitriser, on le connait déjà, et quand on le connait on ne dit plus "essayer d'apprendre" (à priori).
Pour connaitre un langage, il faut quelques mois, un an ou un peu plus pour bien le connaitre.
Je pense donc que tu t'es trompé de méthode.

Déjà, pour moi les tutos Youtube c'est super pour plein de choses, la mécanique, la danse, je jardinage, le maquillage, la couture etc... à condition d'être bien faits, parce que pour 1 tuto bien fait dans ces domaines y'en au moins 100 de ratés.
Mais toutes ces activités (même celles que je n'ai pas citées) sont manuelles.

La programmation c'est cérébrale, et pour les activités cérébrales, les tutos Youtube, Dailymotion ou autres vidéos, là ça devient très compliqué d'en faire un correct.

Attendre 5 minutes de bafouilles, d'écriture, ha c'était pas ça, on efface, on refait, pour arriver à 3 lignes de codes, que tu vas recopier en faisant une pause et en espérant que tu ne fasses pas d'erreurs à ton tour, vraiment efficace et pédagogique...
Alors que la même chose sur un pdf te prends 30 secondes à lire et à copier coller. Surtout que poster un tuto sur youtube est extrêmement simple par rapport à la rédaction d'un cours écrit, donc celui qui prend la peine de rédiger le fait généralement bien.
Je ne dis pas que certains tuto Youtube ne sont pas bien, mais ils sont extrêmement rares.

Pour moi, quelque soit le langage un bon cours écrit avant tout, pour apprendre les bases et après on cherche de nouvelles sources.
Une valeur sûre => devellopez.com, une valeur un peu moins sûre (ça dépend des cours, certains sont moins bien réussis que d'autres) => openclassroom.

Udemy? Je n'en avais jamais entendu parlé avant ce soir.
Je ne me prononcerai pas. Enfin, si j'ai trouvé quelques sites vantant ces cours (et tant mieux) mais j'ai un arrière gout de doute quand le premier qui sort c'est Igraal et les commentaires sont d'abord contents d'avoir eu du cash back..... Evidement sur igraal, qu'on parle de cash back, c'est pas étonnant, mais je ne commencerais pas par ça si j'avais un commentaire à faire sur un cours.


Enfin, et là encore je parle d'expérience, l'auto-formation a ses limites. Au début on apprends un peu tout, mais au fur et à mesure qu'on avance dans nos projets, on se borne à ce dont on a besoin (ou croit avoir besoin) pour le projet et au final on se ferme à tout ou partie du vaste domaine d'apprentissage.

Si tu veux atteindre l'excellence, une vraie formation, avec un (ou plusieurs) vrai formateur qui parle et répond aux questions, y'a rien de mieux.




Messages postés
1132
Date d'inscription
samedi 12 septembre 2020
Statut
Membre
Dernière intervention
4 mars 2021
92
100% d'accord avec Whis. J'irai encore plus loin en demandant le boycott des visionnages de ces tutos yt, ils bouffent énormément de bande passante alors que l'équivalent textuel sera moins lourd, plus agréable à lire et à pratiquer et l'apprentissage se fera plus rapidement.

Si un modo peut encadrer et épingler la réponse de Whis. Elle est à montrer à tous les apprentis en programmation.
Messages postés
6
Date d'inscription
samedi 23 janvier 2021
Statut
Membre
Dernière intervention
24 janvier 2021

Merci pour ta réponse
Effectivement des fois j'ai un peu mal à faire passer les idées à l'écrit
je j'essaye pas d'apprendre, je veux apprendre
je suis tout à fait d'accord avec toi ce qui me plairait le plus ce serait un ouvrage de milliers de pages plutôt qu'un tuto sur YouTube et malheureusement comme tu l'as dit la rédaction d'un tel livres ou d'un tel PDF demande énormément de temps et vu la toute récente mise à jour de SwiftUI je n'ai encore jamais trouvé de tels sources

Je dois donc essayer de me débrouiller avec tout plein de vidéos, plusieurs formations plus ou moins complète
De plus ils expliquent généralement "voilà faut faire comme ça" pour que je préférais avoir un aspect théorique, apprendre la logique et m'en servir quand j'en ai besoin
C'est pour cela que je voulais créer une communauté pour se partager ce qu'on a compris sur ce langage et les ressource
Messages postés
15648
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
3 mars 2021
674
A part swift, tu sais déà coder?
Si oui quel(s) langage(s) connais tu?
Quel(s) langage(s) maitrise(s) tu ?

Messages postés
6
Date d'inscription
samedi 23 janvier 2021
Statut
Membre
Dernière intervention
24 janvier 2021

j'ai deja toucher a python
html css y a très longtemps
et scratch en cours, d'ailleurs la on attaque flow code
sinon dans sa globalité je connais la logique de programmation, je connais un peux de chose déjà
tout les Language se ressemble un peu donc
après moi je voudrais me spécialisé dans le développement iOS
Messages postés
15648
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
3 mars 2021
674
Ok, tu commences flow code, donc tu as plus ou moins l'age du lycée.
y a très longtemps
ha oui comme moi, j'ai fait du vb6 y'a très longtemps, tu ne devais pas être né ;)

les Language se ressemble un peu
oui et non
La base de la base c'est plus ou moins la même chose.
Mais il y a quand même des catégorisations de langage, déjà s'ils sont plus ou moins proches de la machine.
A priori swift c'est loin de la machine, c'est donc un langage de haut niveau.

Ensuite, il y a ce qu'on appelle les paradigmes, en gros c'est la "philosophie" avec laquelle on doit concevoir le projet.

Cet article https://www.mac4ever.com/dossiers/144710_tuto-creer-un-app-de-meteo-avec-swiftui contient des mots clés que je connais bien "class" "binding" etc... Ce qui m'oriente sur les paradigmes à connaitre
  • la programmation objet
  • la liaison de données tardive (binding)



De cela j'extrapole le cheminement que tu devrais avoir, car c'est le même en C# (langage de que je "maitrise") et son interface la plus aboutie XAML ("framework" avec son propre langage que je connais bien)
  • suivre un cours généraliste sur la programmation objet
  • apprendre swift avec son interface graphique originelle, il faut aller au-delà des bases
  • éventuellement suivre un cours sur l'UML (c'est chiant, mais quand on a compris ça, l'objet coule de source)
  • une fois que tu codes correctement objet en swift, apprendre swiftUI


Pourquoi ce cheminement? Simplement parce que le binding repose sur l'objet, tant que tu ne comprends pas l'objet (et c'est souvent le cas quand on débute) tu ne peux pas écrire un bon binding.
La base de la programmation objet est plus ou moins pareille quelque soit le langage qui le permet. Mais certains vont plus loin que d'autres, C# ou Java sont tout objet, y'a pas d'autre paradigmes. VBA, PHP sont orientés objet on s'en sert, mais on n'en écrit pas trop. C++ ou Python sont multi-paradigmes, on peut mélanger dans un même projet.
Swift, je ne sais pas, mais pour le binding, mieux vaut tenter le tout objet.


Messages postés
6
Date d'inscription
samedi 23 janvier 2021
Statut
Membre
Dernière intervention
24 janvier 2021

oui effectivement je suis encore au lycée et cela n'est pas dans mon programme mais c'est pour ma culture personnelle, je suis passionné et j'aimerais bien en connaître davantage

Je pense avoir compris la notion d'objet qui permet de regrouper un ensemble de caractéristiques et de fonctionnalités ainsi que de fonction propre un element composant le code (utilisateur, vue, gameplay etc ), bien présent dans Swift presque tout est composé d'objets, la notion de binding qui permet de faire un lien vers une seule variable

j'aime bien la philosophie de swift et je trouve extrêmement utile le State

Le langage Swift celui qui permet d'écrire seulement l'algorithme je pense l'avoir assimilé maintenant j'ai plus de difficultés pour le frameworks swiftUI et je ne sais pas trop ou trouver de l'aide ou de documentation
Messages postés
15648
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
3 mars 2021
674
Je pense avoir compris la notion d'objet qui permet de regrouper un ensemble de caractéristiques et de fonctionnalités ainsi que de fonction propre un element composant le code
oui mais non.

D'abord ce n'est pas une notion. Ça peut être une notion dans un langage orienté objet, mais tu confirmes que swift est tout objet, donc c'est fondement.

Pour correctement coder objet, il faut que tu saches définir tes propres objet, à quel point tu les virtualises, qui hérite de qui etc...
L'objet voiture dans un logiciel de gestion de traffic ne devra pas être le même quand dans un jeux de conduite.
Messages postés
6
Date d'inscription
samedi 23 janvier 2021
Statut
Membre
Dernière intervention
24 janvier 2021

quand tu dit
L'objet voiture dans un logiciel de gestion de traffic ne devra pas être le même quand dans un jeux de conduite.

quand tu dit qu'elle ne devront pas être les même, une base sera la même, les deux classes créé pourrait hériter d'une commune, non?
Messages postés
15648
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
3 mars 2021
674
Non je ne pense pas.

Dans la gestion de trafic, la voiture sera un des objets les plus "fins" avec les vélos, les motos, les piétons etc...

Dans un jeux de conduite, au contraire ce sera un objet qui englobera des dizaines d'autres objets, les roues, le moteur, les portes, la carrosserie, le volant, la direction, le conducteur etc....

Deux logiciels différents, même chose à virtualiser => 2 besoins, 2 objets.
Messages postés
6
Date d'inscription
samedi 23 janvier 2021
Statut
Membre
Dernière intervention
24 janvier 2021

aah oui d'accord ,oui de se point de vue effectivement la classe voiture dans le jeux de voiture aura une quantité de donner plus important la class aura plus de méthodes et de propriété

mais les deux sont des véhicule donc une plaque d'imatriculation une position etc

mais c'est vrais que vue les différence d'utilisation de c'est de classe autant ne pas les faire hériter d'une classe mère
Messages postés
1
Date d'inscription
mercredi 10 février 2021
Statut
Membre
Dernière intervention
10 février 2021

Salut, je suis tombé sur ce forum et je suis exactement dans le même cas que toi. Je veux apprendre SwiftUI, j’ai des bases en swift et dans d’autres languages de programmation. Mais je suis encore loin de pouvoir créer une application tout seul ou autre. Si tu es d’accord, on peut essayer de s’entraider pour apprendre plus facilement