Comment devenir développeur iOS - Le guide ultime (2023)

Dans cet article, nous allons passer en revue ce que nous pensons qu'il faut pour devenir développeur iOS dans les prochains mois. 

Nous visons carrément ce guide à deux groupes de personnes, les débutants absolus de Swift (Swift est le langage utilisé pour coder les applications iOS) - les personnes qui n'ont jamais rien construit pour iOS auparavant - et les soi-disant faux débutants - les personnes qui ont ont déjà essayé d'apprendre Swift mais n'ont jamais vraiment atteint leur objectif d'obtenir un emploi à temps plein.

Regardless de votre niveau actuel, l'objectif ici est le même. Pour vous mettre en mesure de postuler à un poste de développeur iOS junior dans une entreprise.

Nous examinerons les compétences que vous devriez acquérir, les cours que vous pouvez suivre, comment vous connecter à la communauté, les erreurs courantes que les gens commettent, et plus encore. 

Mieux encore, tout ce dont nous discuterons sera entièrement gratuit, vous n'aurez donc rien à payer pour suivre.

Sérieusement, beaucoup trop de gens pensent que dépenser beaucoup d'argent les mettra sur la voie rapide vers l'emploi de leurs rêves, alors que les facteurs les plus importants sont la détermination et la volonté. 

Cet article est divisé en sept sections :

  1. Compétences essentielles que vous devez posséder pour obtenir un emploi.
  2. Compétences d'extension qui sont agréables à avoir - celles qui vous démarqueront de la foule si vous faites l'effort de les apprendre
  3. Erreurs courantes que les gens commettent lorsqu'ils tentent d'apprendre.
  4. Les nombreuses ressources gratuites disponibles pour vous aider à apprendre Swift.
  5. Comment entrer en contact avec la communauté de développement iOS.
  6. Une estimation du temps qu'il vous faudra pour atteindre votre objectif.
  7. Préparez-vous à postuler pour votre premier emploi.

The fundamental skills required to become an iOS developerCompétences fondamentales requises pour devenir développeur iOS

Quel est le strict minimum absolu de compétences requises pour décrocher un emploi dans le développement iOS ? 

Il y a cinq compétences essentielles au total :

  1. Programmation rapide
  2. SwiftUI 
  3. Réseautage
  4. Travailler avec des données
  5. Gestion de version

Cette liste est intentionnellement courte pour diverses raisons :

Plus vous apprenez, plus vous réalisez qu'il y a à apprendre, il est donc facile de passer tellement de temps à étudier et à pratiquer que vous perdez de vue l'objectif principal.

Vous voulez travailler en tant que développeur iOS, pas simplement rester assis à apprendre de nouvelles choses !

Il est presque certain que vous vous joindrez à une équipe qui a déjà une application qu'ils veulent que vous pour aider à développer, si unless vous êtes extrêmement chanceux, ils devront vous apprendre tout un tas de trucs en ce qui concerneless.

Si vous essayez d'ajouter tout un tas de sujets supplémentaires à l'avance, vous perdez probablement votre temps.

Deux de ces cinq choses sont énormes et compliquées, et vous pourriez passer des mois à essayer de les comprendre sans vous aventurer ailleurs.

Plus important encore, si vous obtenez ces cinq choses correctement, vous pouvez créer une grande variété d'applications. Bien sûr, votre code ne sera pas parfait, mais ce n'est pas grave car la seule façon d'écrire du bon code est d'abord d'écrire beaucoup de mauvais code.

Décomposons les cinq éléments en plus petits morceaux.

1. Apprentissage rapide

Swift est le premier sur la liste. C'est Applelangage de programmation de base de . Il n'a aucun concept d'affichage d'informations sur l'écran d'un iPhone ou de téléchargement de données à partir d'Internet. 

C'est simplement un langage similaire à JavaScript ou Python. C'est juste du code pur que vous utilisez pour créer des variables, écrire des fonctions, etc.

Swift n'a que quelques années, il utilise donc presque toutes les fonctionnalités linguistiques de pointe disponibles. 

D'une part, cela signifie que vous pouvez éviter tous les anciens comportements courants dans les langages plus anciens comme C++ et Java. Cela signifie également qu'il dispose d'une multitude de fonctionnalités avancées dont vous pouvez profiter.

Et c'est bien. De nombreuses parties de Swift sont relativement simples, tandis que d'autres vous prendront plus de temps à comprendre, l'expérience et la pratique rendent parfait.

2. SwiftUI

La deuxième compétence de base requise est SwiftUI, qui est un Apple cadre qui nous permet d'utiliser Swift pour créer des applications pour iOS, Mac OS, tvOS, et même watchos. 

Ainsi, alors que Swift est le langage de programmation, SwiftUI fournit les outils pour développeurs pour créer des applications, comme l'affichage d'images, de texte, de boutons, de zones de texte, de tableaux de données, etc. 

Pour être clair, SwiftUI ne remplace pas Swift - c'est un framework construit sur Swift qui nous permet de créer des applications. Vous devrez connaître à la fois Swift et SwiftUI pour réussir.

Si vous pensiez que Swift était nouveau, vous n'avez encore rien vu ! 

SwiftUI est un framework assez jeune, il est apparu pour la première fois en 2014, et il a été développé pour remplacer l'archaïque Objective C.

Malgré son jeune âge, la communauté iOS l'a adopté sans réserve car il est si facile à utiliser.

Apple dispose également d'un cadre plus ancien pour la création d'applications iOS appelé UIKit. Si vous demandez à un groupe de personnes si vous devriez d'abord apprendre SwiftUI ou UIKit, vous obtiendrez une variété de réponses. 

Nous pensons que vous devriez apprendre SwiftUI et voici le raisonnement pour lequel vous devriez donner la priorité à SwiftUI en tant que compétence de base.

SwiftUI est nettement plus facile que UIKit, et - il faut peut-être un quart du code pour obtenir les mêmes résultats que UIKit, et il y a moins de choses à apprendre en cours de route. 

Cela signifie que vous gagnez beaucoup d'élan parce que vous pouvez construire des choses plus rapidement, voir des résultats plus rapidement et itérer sur ces résultats avec plus d'agilité, ce qui est extrêmement motivant tout en apprenant.

Created for Swift

Créé pour Swift

SwiftUI a été créé pour Swift, en utilisant des fonctionnalités linguistiques pour aider à éviter les problèmes et à atteindre des performances maximales. 

Par exemple, si vous modifiez certaines données sur un écran d'une application, SwiftUI s'assurera automatiquement que les nouvelles données sont mises à jour n'importe où ailleurs dans votre application qui les utilise - vous n'avez pas besoin d'écrire de code pour tout synchroniser vous-même, qui est généralement assez complexe. 

UIKit, d'autre part, a été écrit pour Applel'ancienne langue de l'Objective-C, et par conséquent a toutes sortes de bizarreries qui ont résulté de son âge.

SwiftUI est compatible avec tous Apple« S plates-formes, vous pouvez utiliser ce que vous avez appris sur iOS pour créer une application ou macOS watchos avec le code presque identique. 

Bien sûr, des fonctionnalités telles que la couronne numérique sont exclusives à un seul appareil, le Apple Regardez, mais la grande majorité de ce que vous apprenez fonctionnera sur n'importe quel appareil.

Mais, plus important encore, SwiftUI est la direction dans laquelle les choses se dirigent. 

Si vous postuliez pour un emploi il y a quelques années, vous auriez probablement besoin de connaître UIKit, mais le fait que vous lisiez ceci signifie que vous êtes beaucoup plus avancé dans le processus. 

Alors que UIKit était autrefois plus populaire, SwiftUI est désormais le framework d'interface utilisateur dominant.

Les plus grandes entreprises du monde, y compris Apple eux-mêmes vont maintenant de l'avant avec SwiftUI.

Date & Heure Apple widgets récemment lancés dans iOS 14, ils ont imposé l'utilisation de SwiftUI.

Réseautage et manipulation de données

Les troisième et quatrième compétences que nous avons mentionnées étaient le réseautage et la manipulation de données. Comparés à Swift et SwiftUI, ceux-ci sont assez simples, ou du moins simples au niveau requis pour obtenir un travail de développeur iOS junior.

La mise en réseau consiste à récupérer des données sur Internet ou à envoyer des données d'un appareil local à un serveur distant. Sur une application mobile, il s'agit bien sûr d'une compétence fondamentale.

Il existe de nombreuses méthodes pour y parvenir, mais la chose la plus importante à comprendre est de savoir comment récupérer JSON à partir d'un serveur.

Et c'est là qu'intervient l'autre compétence essentielle, le travail avec les données. 

Encore une fois, il existe de nombreuses façons de charger et d'enregistrer des données, mais le minimum absolu que vous devez pouvoir faire est de convertir les données que vous avez reçues d'un serveur à l'aide de votre code réseau en informations que votre application peut afficher.

Ainsi, les troisième et quatrième compétences de base sont inextricablement liées. Récupérez des données sur un serveur, puis convertissez-les en informations pouvant être affichées dans votre application. Certains développeurs plaisantent en disant qu'écrire ce type de code est la moitié du travail d'un développeur iOS, et il est certainement vrai que nous nous appuyons beaucoup dessus.

Version control

La compétence finale n'est pas du tout de coder, c'est version control, comme Git. Encore une fois, vous n'avez pas besoin de grand-chose ici, mais il est important que vous puissiez publier votre code dans un endroit public, comme GitHub, afin que les recruteurs puissent voir votre travail.

Personne au monde ne comprend vraiment le fonctionnement de Git, mais ce n'est pas grave – il vous suffit de connaître suffisamment les bases pour stocker vos données en toute sécurité et collaborer avec d'autres.

Ainsi, lorsque ces cinq sont additionnés, il y en a deux massifs – Swift et SwiftUI – ainsi que trois mineurs mais importants. 

Si vous pouvez vous concentrer uniquement sur ces cinq choses sans vous laisser distraire, vous serez sur la bonne voie pour votre premier travail de développeur iOS.

C'est tout : ce sont les cinq compétences essentielles dont je pense que vous avez besoin pour être un développeur iOS. 

Il y a des milliers de personnes qui n'ont que ces compétences et qui peuvent créer et livrer des applications fantastiques sur l'App Store.

What comes after the fundamentals

Qu'est-ce qui vient après les fondamentaux ?

Une fois que vous aurez maîtrisé les cinq compétences de base, vous pourrez expédier vos propres applications et travailler en tant que développeur indépendant, ainsi que postuler à des postes de développement iOS junior et travailler pour une entreprise si c'est ce que vous voulez faire. 

Il n'y a pas d'autres qualifications particulières requises - tout nail ces compétences de base et vous serez bien.

Cependant, si vous maîtrisez ces compétences et que vous souhaitez progresser, il y a cinq autres compétences que nous vous recommandons d'apprendre. Ce sont les compétences qui vous propulseront d'une bonne position à une position fantastique - vous deviendrez encore plus employable et la gamme d'applications que vous pourrez créer s'élargira encore plus.

Les capacités sont les suivantes :

  • Uikit 
  • Données de base 
  • Validation
  • Essais
  • Architecture logicielle
  • multithreading

Comme précédemment, nous aimerions passer en revue chacun d'entre eux plus en détail afin que vous compreniez pourquoi nous pensons qu'ils sont importants - et pourquoi nous les considérons comme des compétences d'extension plutôt que comme des compétences de base.

Uikit

Tout d'abord, il y a UIKit. C'est AppleL'ancien framework d'interface utilisateur de , qui est utilisé pour le développement d'applications depuis 2008 - il a 14 ans au moment où j'écris ceci, ce qui est ancien en termes de logiciel. Mais cela ne signifie pas que UIKit est mauvais. En fait, au fur et à mesure que vous vous habituerez à son fonctionnement, vous serez surpris de son élégance.

Il existe de nombreuses raisons pour lesquelles UIKit vaut la peine d'être appris, notamment :

Des centaines de milliers d'applications ont déjà été écrites dans UIKit, donc si vous rejoignez une entreprise qui possède une grande application bien établie, vous devrez presque certainement écrire du code UIKit pour maintenir cette application.

UIKit est bien plus puissant que SwiftUI - il y a beaucoup de choses que vous pouvez faire dans UIKit qui ne sont actuellement pas possibles dans SwiftUI.

En utilisant la technologie de mise en page automatique, vous pouvez créer des mises en page extrêmement précises.

Si vous rencontrez des problèmes avec votre code, UIKit propose plus de solutions que SwiftUI simplement parce qu'il existe depuis bien plus longtemps.

Tout cela rend UIKit fantastique, alors pourquoi en ai-je fait une compétence d'extension plutôt qu'une compétence de base ? 

Parce que UIKit a aussi des problèmes :

Presque tout est plus difficile à faire dans UIKit que dans SwiftUI, certaines tâches nécessitant cent fois, sinon plus, du code. 

SwiftUI a été conçu spécifiquement pour le développement iOS moderne, il fait donc beaucoup de travail pour vous.

Parce que UIKit n'a pas été écrit en Swift, il possède de nombreuses fonctionnalités que SwiftUI n'a pas - de nombreuses options implicitement déballées, le code de marquage avec un attribut spécial @objc pour le rendre disponible pour le ventre Objective-C d'UIKit, et la nécessité d'utiliser des protocoles et des délégués pour afficher des données simples.

Rien à propos de la mise en page automatique n'est "automatique" - en fait, si vous essayez de créer une mise en page complexe, vous pouvez avoir des cauchemars à propos de la mise en page automatique. C'est extrêmement intelligent, mais c'est aussi extrêmement difficile à certains endroits.

Et c'est pourquoi nous considérons UIKit comme une compétence d'extension : il faut beaucoup plus de temps et d'efforts pour apprendre que SwiftUI, ce qui signifie qu'il nécessite beaucoup plus de détermination - vous devez vraiment vouloir l'apprendre, sinon vous serez confus. , ennuyé, en colère ou potentiellement les trois. 

Bien sûr, SwiftUI ne possède pas toutes les fonctionnalités de UIKit, mais il vous permet de faire des progrès rapides et l'élan de gain avant de passer à UIKit.

Managing Core Data

Gestion des données de base

Données de base, Apple's framework pour travailler avec les données d'application, est la deuxième compétence d'extension que j'ai mentionnée. 

Nous avons mentionné le réseautage et le travail avec les données dans la section des compétences de base, et c'est vrai. Avec ces compétences en place, vous pouvez récupérer tout ce que vous voulez sur un serveur et l'afficher dans votre application. 

Core Data va encore plus loin en vous permettant de manipuler ces données une fois que vous les avez obtenues, comme la recherche de valeurs spécifiques, le tri des résultats, etc., le tout très efficacement. 

Il peut également se connecter facilement à iCloud, garantissant que les données de vos utilisateurs sont synchronisées sur tous leurs appareils.

Core Data présente de nombreux inconvénients, dont le plus grave est qu'il n'est pas toujours agréable de travailler avec. Les données de base sont presque aussi anciennes que UIKit, et bien qu'elles fonctionnent bien dans Objective-C, elles ne semblent pas aussi naturelles dans Swift. 

Il s'intègre bien avec SwiftUI, ce qui donne l'impression less étrange, mais c'est toujours un sujet étonnamment complexe.

Comme UIKit, Core Data est extrêmement populaire - des centaines de milliers d'applications ont été créées avec lui, et il est utilisé dans de nombreuses grandes et petites entreprises. 

Les données de base, comme UIKit, sont extrêmement puissantes, et bien que vous puissiez en recréer les parties les plus importantes dans votre propre code, pourquoi le feriez-vous ?

Tester votre code

La troisième compétence de ma liste d'extensions est le test. Écrire du code spécial pour vous assurer que le code de votre application principale fonctionne comme prévu. 

Les tests nous permettent de nous assurer que notre code fonctionne correctement et, plus important encore, qu'il continue de fonctionner correctement même après que nous y ayons apporté des modifications importantes.

Par exemple, si vous modifiez 500 lignes de code pour implémenter une nouvelle fonctionnalité et que tous vos tests réussissent, vous êtes prêt à partir.

Par conséquent, les tests sont essentiels et vous aideront à écrire des logiciels de meilleure qualité. 

Alors, pourquoi est-elle considérée comme une compétence d'extension plutôt qu'une compétence de base ? 

Il y a trois raisons à cela:

La communauté iOS dans son ensemble est terrible en matière de tests, pour quelque raison historique que ce soit. De nombreuses grandes applications n'ont aucun test, et tragiquement, un certain nombre de développeurs iOS seniors sont presque fiers de ne jamais écrire de tests. 

Lorsque vous considérez toutes les choses étonnantes que vous pouvez créer avec Appleoutils et frameworks de , écrire des tests ne semble pas très amusant en comparaison. 

Lorsque vous postulez pour un emploi, connaître Swift et AppleLes principaux frameworks de seront toujours plus utiles que de savoir écrire des tests. 

Les entreprises préféreraient que vous sachiez comment utiliser SwiftUI, UIKit ou l'un des autres gros frappeurs, car les tests sont un sujet beaucoup plus petit – il n'y a pas autant de choses à apprendre.

Donc, les tests sont importants, les tests comptent, et si vous voulez être un excellent développeur global, vous devez apprendre à écrire de bons tests. Mais seulement après avoir maîtrisé les principes fondamentaux du développement d'applications - après avoir eu un certain succès, ressenti l'urgence d'avoir votre application en ligne sur l'App Store et maîtrisé les tests.

Software architecture

Architecture logicielle

La quatrième compétence d'extension dont nous aimerions discuter est l'architecture logicielle, qui concerne vraiment la façon dont nous écrivons le code. 

Vous allez écrire un code terrible lorsque vous débutez. 

Ce n'est pas grave parce que c'est comme ça qu'on apprend. Vous ne commencez pas bien - vous devenez bon en étant mauvais pendant longtemps et en apprenant de meilleures façons de faire les choses avec l'expérience et l'exposition.

Le fait est que vous vous en tenez à votre mauvais code jusqu'à ce que vous trouviez comment faire mieux. C'est là qu'intervient l'architecture logicielle. Examiner des techniques éprouvées pour structurer votre code afin de le rendre plus facile à lire, à utiliser, à modifier et à maintenir à long terme. 

Ces techniques reposent parfois sur le fonctionnement de Swift – des fonctionnalités de langage qui peuvent être utilisées pour écrire un meilleur code. 

Cependant, il existe de nombreuses autres techniques qui fonctionnent dans n'importe quel langage de programmation et sont communément appelées modèles de conception.

Un aspect important de cette compétence que vous devriez commencer à apprendre est de savoir comment décomposer votre code. 

Par exemple, si vous créez un seul écran dans votre application, il peut inclure un bouton de connexion, une galerie d'images et une liste d'amis. 

Cependant, vous devez idéalement séparer chacune de ces parties - un composant de bouton de connexion, un composant de galerie d'images et un composant de liste d'amis - afin que vous puissiez réutiliser n'importe lequel de ces composants dans d'autres parties de votre application.

L'architecture logicielle est beaucoup plus subjective que les autres compétences dont nous avons parlé jusqu'à présent. Pour les autres, comme SwiftUI, vous pouvez raisonner : "Eh bien, je sais comment faire X, Y et Z, donc je suis convaincu que je suis un bon développeur SwiftUI."

 L'architecture logicielle est un sujet très vaste, et il n'y a souvent pas de "bonne" façon évidente de résoudre un problème, donc la meilleure référence pour cela est la suivante : regardez-vous votre code d'il y a six mois, d'il y a un an, etc. .

Écrire du mauvais code est acceptable tant que cela vous rapproche de l'écriture d'un meilleur code. 

Vous vous gratterez certainement la tête par endroits lorsque vous repensez au code que vous avez écrit il y a cinq ans, car vous en saurez plus maintenant qu'à l'époque - et c'est ainsi que cela devrait être.

multithreading

La dernière compétence d'extension dont nous parlerons est le multithreading, qui consiste à faire en sorte que votre code fasse plus d'une chose à la fois. 

Le multithreading peut être très pénible car il est difficile à comprendre pour notre cerveau. Lorsque votre code fait une chose à la fois, nous pouvons y réfléchir de manière linéaire, mais lorsque deux ou trois choses se produisent en même temps, se chevauchant potentiellement, cela peut vraiment perturber votre réflexion.

Ainsi, bien que le multithreading soit une excellente compétence à avoir en tant que compétence d'extension, vous devez être prudent. Votre objectif devrait être de comprendre juste assez de concepts et de code pour que cela fonctionne bien sans aller trop loin. 

Pour être honnête, de nombreux développeurs pensent que le multithreading rendra instantanément leur code trois ou quatre fois plus rapide. 

Bien que cela soit vrai dans certains cas, dans de nombreux autres cas, votre code s'exécutera en réalité plus lentement et vous devrez maintenant faire face à toute la complexité supplémentaire du code.

"Ma recommandation spécifique est d'éviter autant que possible d'écrire du code asynchrone/concurrent. Cela peut sembler étrange en 2018, mais le coût en complexité et en performance est élevé.

Alors, apprenez-en un peu plus sur le fonctionnement du multithreading dans Swift pour montrer que vous comprenez les concepts et la mise en œuvre, mais n'allez pas trop loin ! »

David Smith - Apple Équipe SwiftUI

Common mistakes new iOS developers make

Erreurs courantes commises par les nouveaux développeurs iOS

À ce stade, nous avons répertorié toutes les compétences de base et d'extension dont vous aurez besoin pour travailler en tant que développeur iOS à temps plein. 

Nous voulons également discuter de certaines des erreurs les plus courantes que les gens commettent en apprenant, car je les vois tout le temps et je sais comment ils font reculer les gens.

Il y a sept problèmes majeurs auxquels les gens sont confrontés. 

  1. Se souvenir de tout
  2. syndrome de l'objet brillant 
  3. Apprentissage du loup solitaire
  4. Utiliser un logiciel bêta
  5. Selon Appledocumentation de
  6. S'enliser dans Objective-C
  7. Viser d'autres langues

Passons en revue chacun d'eux un par un.

Stop attempting to remember everything

Arrêtez d'essayer de vous souvenir de tout

La première, et de loin le plus commun, rencontre des gens d'émission tente de mémoriser tout - lecture à travers un tutoriel et croire qu'ils doivent se rappeler tout par cœur. 

Personne ne se souvient de tout. Personne n'arrive à se souvenir de tout. Même si vous ne considérez que les API publiées par Apple, qui sont les morceaux de code que nous pouvons utiliser pour créer nos applications, il doit y en avoir bien plus de cent mille disponibles. 

Même si vous vous limitez aux composants de base du développement d'applications, vous en envisagez toujours plusieurs centaines, tous fonctionnant de manière très précise et nécessitant beaucoup d'apprentissage.

Au lieu de cela, vous apprenez à faire quelque chose de nouveau, puis vous oubliez rapidement comment le refaire. 

Alors, vous le recherchez, l'utilisez à nouveau, puis oubliez-le rapidement. Donc, vous le recherchez une troisième fois et l'utilisez, et cette fois vous l'oubliez presque - certaines parties restent avec vous. 

Ce cycle se poursuit indéfiniment, vous devez à chaque fois vous référer à un tutoriel ou à un autre guide de référence, jusqu'à ce que les principes fondamentaux soient ancrés dans votre esprit au point que vous puissiez le faire sans consulter personne d'autre.

Si vous ne le saviez pas déjà, l'oubli est une partie importante de l'apprentissage. 

Chaque fois que vous oubliez quelque chose et que vous le réapprenez, cela s'enfonce de plus en plus profondément dans votre cerveau. Lorsque vous réapprenez quelque chose, votre cerveau établit de nouvelles connexions avec d'autres choses que vous avez apprises, ce qui vous aide à mieux comprendre le contexte de ce que vous essayez de faire. 

Et chaque fois que vous réapprenez, vous signalez à votre cerveau que ce sujet particulier est suffisamment important pour être stocké dans sa mémoire à long terme.

Mais si vous vous efforcez de tout mémoriser, vous allez avoir du mal. 

Au lieu de cela, ne vous inquiétez pas d'oublier des choses. Savoir où les rechercher est bien plus important que de mémoriser un code Swift spécifique pour accomplir quelque chose. 

Lorsque vous oubliez quelque chose et que vous devez le réapprendre, considérez que c'est une bonne chose - cette information s'enfoncera plus profondément la deuxième, la troisième et la dixième fois que vous l'apprendrez, donc vous aidez votre cerveau.

Éviter le syndrome de l'objet brillant

Le deuxième problème le plus courant est le "syndrome de l'objet brillant", dans lequel ils trouvent une série de tutoriels qui fonctionne bien pour eux et commencent à progresser, mais après une semaine ou deux, ils remarquent une autre série de tutoriels qu'ils veulent suivre et sauter vers cela à la place. 

Le problème ici est que de nombreux aspects de l'apprentissage sont inintéressants. Ce n'est pas nécessairement la faute de l'enseignant. 

C'est juste un fait d'apprendre à coder - certaines choses vous donnent d'excellents résultats avec peu d'effort, tandis que d'autres prennent beaucoup plus de temps à comprendre, ne produisent pas de résultats fantaisistes ou ne sont qu'une partie d'un concept plus large.

Lorsque vous atteignez ces courbes d'apprentissage abruptes, le syndrome des objets brillants se déclenche - avec autant de didacticiels gratuits disponibles, vous pouvez passer à n'importe lequel d'entre eux et redémarrer, et vous serez de retour dans la partie peu profonde de la piscine, couvrant les parties les plus faciles vous avez déjà appris. 

Mais, nonless le cours original a choisi un sujet inhabituel à couvrir, vous allez probablement devoir l'apprendre par la suite, et vous ne faites que repousser l'inévitable.

Soyez conscient du syndrome de l'objet brillant - lorsque vous rencontrez un problème, essayez de demander de l'aide à quelqu'un d'autre et persévérez plutôt que de changer.

Dont go it alone

Ne fais pas cavalier seul

En parlant de demander à quelqu'un d'autre, le troisième problème auquel nous voyons les gens se heurter est lorsqu'ils se lancent seuls dans leur apprentissage - ils croient qu'ils sont tout à fait capables d'apprendre à créer des applications iOS en utilisant Swift par eux-mêmes et n'ont pas besoin de l'aide des autres .

Cette méthode fonctionne pour un très petit nombre de personnes, généralement celles qui ont une vaste expérience avec d'autres langages de programmation ou plates-formes. 

Cependant, pour la grande majorité des gens, apprendre de cette manière est une expérience terrible - chaque erreur ou malentendu prend cinq fois plus de temps à résoudre, il est extrêmement facile de perdre la motivation et vous manquez beaucoup d'inspiration en regardant d'autres réussissent.

Si vous êtes un apprenant naturel "loup solitaire", nous vous invitons à changer vos habitudes. 

Partagez ce que vous apprenez, connectez-vous avec d'autres qui apprennent et développez l'habitude de poser des questions. 

Non seulement vous découvrirez une fantastique communauté d'apprenants qui vous soutiendront et vous encourageront, mais vous serez également inspiré par leur travail et, à leur tour, les inspirerez avec le vôtre. C'est complètement transformateur.

Ne pas utiliser les versions bêta

Le quatrième problème majeur est lorsque les gens insistent pour utiliser des versions bêta de Appleles outils de développement de. 

Chaque année, Apple lance un nouvel iOS, un nouveau macOS et d'autres produits, offrant toujours de nouvelles choses passionnantes à essayer. Il est naturel que les gens veuillent apprendre les derniers et les meilleurs, surtout s'ils savent que Swift a une longue histoire de changement.

Cependant, lorsque les gens essaient d'apprendre avec un logiciel bêta, ils rencontrent un certain nombre de problèmes :

Étant donné que les didacticiels n'ont pas été mis à jour pour la version bêta, suivre leurs instructions ne sera pas toujours possible ou échouera.

Les bugs sont courants dans les versions bêta, en particulier celles publiées pour les mises à jour majeures d'iOS.

AppleLes frameworks bêta de prennent du temps à se stabiliser, ce qui signifie que le code qui a fonctionné dans la version bêta 1 peut ne pas fonctionner dans la version bêta 3.

Alors, même si c'est excitant d'apprendre de nouvelles choses et que vous pensez peut-être que vous prenez de l'avance avec de nouvelles fonctionnalités, croyez-moi : cela n'en vaut pas la peine. 

Utilisez toujours les versions publiques les plus récentes de Appledes outils de développement jusqu'à ce que vous soyez à l'aise avec eux.

Relying on official documentation

Se fier à la documentation officielle

Le cinquième problème majeur auquel les gens sont confrontés lorsqu'ils tentent d'apprendre est de s'appuyer sur Applela documentation de. 

AppleL'équipe des publications des développeurs de s'efforce de documenter autant que possible à partir de la vaste gamme de frameworks de l'entreprise, mais leur travail principal consiste à rédiger des documents de référence - des choses que vous lisez lorsque vous essayez d'utiliser un élément spécifique de leurs outils - plutôt que créer un cours structuré pour vous aider à apprendre à créer des applications iOS.

Nous avons perdu le compte du nombre de fois où les gens m'ont demandé : "Comment puis-je apprendre Swift ?" seulement pour se faire dire, "Lisez Applele guide de référence Swift de ". 

Cette approche fonctionne pour certaines personnes. 

Cependant, pour la plupart des gens, cela revient à essayer d'apprendre une langue humaine en lisant un dictionnaire. Il est destiné à tout couvrir dans la langue plutôt que de vous apprendre les parties les plus importantes et comment les appliquer.

Donc, si vous avez une vaste expérience avec d'autres langues, la lecture AppleLes guides de référence de peuvent être utiles, mais si vous débutez, vous voudrez peut-être les revoir après quelques mois.

S'enliser dans Objective-C

Le sixième problème majeur auquel les gens sont confrontés est d'essayer d'apprendre Objective-C. C'était Applelangage de développement principal avant l'introduction de Swift, et bien qu'il existe des restes dans certaines anciennes bases de code, la grande majorité du code existant est maintenant Swift, et presque tout le nouveau code est également Swift.

Certaines personnes passent des années à écrire Objective-C avant Swift et grandissent vraiment pour l'aimer, mais il a une courbe d'apprentissage extrêmement raide et manque de la plupart des fonctionnalités importantes de Swift. 

Date & Heure Apple a d'abord annoncé le SDK iPhone, de nombreuses personnes ont été horrifiées par Objective-C car il ne ressemblait à rien d'autre qui avait vu jusqu'à présent.

Objective-C et Swift n'ont presque rien en commun pour un débutant. 

Oui, ils partagent le même Apple cadres, mais unless vous envisagez de travailler à Apple – la seule entreprise au monde produisant encore de grandes quantités d'Objective-C – vous devriez laisser Objective-C tranquille et vous concentrer entièrement sur Swift.

Ignoring other languages

Ignorer les autres langues

La dernière erreur majeure que les gens commettent lors de l'apprentissage de Swift est de rejeter les autres langues comme inférieures à Swift. 

La cible la plus courante est JavaScript, mais vous verrez également des gens viser Python, Java, Ruby, Go et d'autres langages, et pour quoi ? Ce n'est pas une course, les gens – ces langues n'ont pas à perdre pour que Swift gagne.

En fait, Swift et SwiftUI sont fréquemment inspirés par d'autres langages et frameworks - chaque fois que de nouvelles fonctionnalités de langage sont envisagées, la communauté examine des implémentations similaires dans Rust, Python, Haskell et d'autres langages, et SwiftUI est fortement influencé par le JavaScript. React cadre. 

Ainsi, les membres de la communauté affirment que SwiftUI est sans JavaScript ou quelque chose de similaire - rien ne pourrait être plus éloigné de la vérité.

iOS development resources and courses

Ressources et cours de développement iOS

Maintenant, pour la partie qui intéresse la plupart des gens : quelles sont les ressources réelles que vous devriez utiliser pour apprendre Swift, SwiftUI, et plus encore - afin d'atteindre votre objectif de devenir un développeur iOS ?

Il y en a beaucoup et la communauté Swift compte un groupe si diversifié de personnes partageant leurs connaissances. 

Cependant, dans cet article, nous allons nous concentrer sur les ressources gratuites - des endroits où vous pouvez apprendre à créer des applications fantastiques sans dépenser un centime.

Cela est dû à deux facteurs:

  1. Certaines personnes croient que plus le prix d'un cours Swift, plus il doit être, de sorte qu'ils finissent par payer des prix exorbitants sans recevoir bénéfice adéquat.
  2. De nombreux sites, comme Udemy, s'appuient sur la vente d'un grand nombre de cours à bas prix, convaincus que si vous n'aimez pas l'un, vous en achèterez simplement un autre. Ils ont également un modèle commercial similaire à celui de Steam en ce sens qu'il y a des ventes constantes, encourageant les gens à accumuler un grand nombre de cours pour étudier "un jour".

Donc, ici, nous ne listons que des ressources gratuites afin que vous ne dépensiez pas cent dollars ou plus pour votre premier cours, et n'achetiez pas une douzaine de cours bon marché en pensant que cela fera de vous un développeur.

Tutoriels

Pour commencer, Apple dispose de deux ressources principales qui peuvent vous aider. Le premier est son site Web Teaching Code, qui contient des ressources pour les étudiants et les enseignants pour apprendre Swift à partir de zéro, jusqu'aux certifications professionnelles. 

Leur programme est vaste, il peut donc prendre un certain temps pour trouver le meilleur point d'entrée pour vous, mais une fois là-bas, vous trouverez beaucoup à explorer.

En second lieu, Apple propose une série de didacticiels SwiftUI qui vous guident tout au long du processus de création d'applications du monde réel. Cependant, ceux-ci n'enseignent pas Swift, vous devez donc d'abord suivre leur programme axé sur Swift.

Apple publie également un guide spécifiquement pour le langage de programmation Swift, mais il y a de fortes chances que cela ne fonctionne pas pour vous - il s'agit d'une référence plutôt que d'un didacticiel structuré, c'est donc une lecture assez dense.

Qu'est AppleLes didacticiels de s ne tentent pas de fournir une méthode d'apprentissage structurée. 

YouTube et autres sites

Il existe d'excellentes vidéos YouTube qui vous expliquent les principes fondamentaux de SwiftUI, telles que :

, Dans lequel il vous guide à travers le processus de création d'un jeu de machines à sous à partir du sol.

explique cinq concepts SwiftUI que tout le monde devrait apprendre lorsqu'il commence à programmer.

qui présente à la fois Swift et SwiftUI tout en répondant aux questions du public.

Il existe d'autres sites proposant des didacticiels Swift et SwiftUI de haute qualité, notamment BLCKBIRDS, Ray Wenderlich, Donny Wals, Antoine van der Lee, etc. Nous encourageons vraiment les gens à visiter une variété de ressources et à trouver ce qui fonctionne pour eux.

Éducation basée sur les applications

Si vous préférez apprendre à travers des applications, je vous en recommande deux qui sont toutes deux entièrement gratuites. Le premier est AppleL'application Swift Playgrounds de , qui vous permet d'apprendre Swift directement depuis votre iPad ou Mac. 

Il y a beaucoup d'interactif lessons destinés aux enfants, mais il y a aussi certains plus avancés lessons qui vous aideront à faire progresser vos compétences.

L'autre application s'appelle Unwrap, et elle a été créée par moi. Unwrap est compatible avec tous les iPhones et iPads et vous permet d'apprendre, de réviser et de pratiquer les principes fondamentaux de Swift à travers des vidéos, des tests et d'autres outils. Il couvre tous les principes fondamentaux de Swift et complète parfaitement le programme 100 Days of SwiftUI.

Obtenir des solutions

Enfin, vous devrez apprendre à trouver des réponses en ligne. Cela pourrait signifier aller à Stack Overflow, mais j'espère que non car ce n'est pas un endroit particulièrement agréable.

Au lieu de cela, posez des questions sur les forums Hacking with Swift, votre groupe Slack préféré, les sessions iOS Dev Happy Hour, Twitter et ailleurs - nous sommes une communauté vraiment chaleureuse et accueillante avec de nombreuses personnes désireuses de vous aider à atteindre vos objectifs.

Getting involved in the community

S'impliquer dans la communauté

En parlant de notre communauté, j'aimerais discuter d'un sujet très important qui vous aidera à rencontrer des personnes occupant des postes similaires au vôtre, à apprendre plus efficacement et à trouver des offres d'emploi - c'est une situation gagnant-gagnant tout autour.

Le sujet se connecte avec la communauté de développement iOS. Cela inclut de savoir où chercher des nouvelles et des idées intéressantes, où aller pour rencontrer des gens et partager des conseils, et où aller pour poser des questions.

Qui dois-je suivre sur Twitter ?

Commençons par le plus simple, qui est d'utiliser Twitter. Twitter est un moyen fantastique de suivre les choses qui vous intéressent, et il y a quelques personnes que je recommande fortement dans le cas du développement iOS.

Oui, ces personnes tweetent sur leur propre travail, mais je pense qu'elles sont super à suivre parce qu'elles tweetent aussi beaucoup sur le travail d'autres personnes - elles vous aideront à voir une variété de points de vue sur un sujet particulier, et elles partagent toutes sortes d'idées intéressantes et de choses à essayer.

Voici 9 personnes que nous vous recommandons de suivre sur Twitter :

Sean Allen passe beaucoup de temps sur YouTube à créer des vidéos de développement Swift et iOS, mais il travaille aussi très dur pour faire connaître le travail des autres – il fait vraiment un excellent travail pour aider tout le monde à découvrir quelque chose de nouveau chaque semaine.

Antoine van der Lee gère un site Web de développement iOS à https://www.avanderlee.com, mais il partage également d'excellents liens vers des ressources utiles qu'il trouve sur GitHub, des newsletters, etc.

Novall Khan travaillant pour Apple, mais cela ne l'empêche pas de publier régulièrement des vidéos sur ce sur quoi elle travaille, ce qu'elle apprend, ce avec quoi elle a des problèmes, et plus encore – elle est vraiment inspirante.

Steve Troughton-Smith est bien connu pour son travail antérieur de bricolage avec iOS, mais vous devriez vraiment le suivre pour le fantastique éventail de liens qu'il partage vers un travail impressionnant. J'aime la façon dont il partage la progression du développement de ses propres applications, afin que vous puissiez les voir grandir du début à la fin.

Kaya Thomas est l'une des développeurs indépendantes les plus connues de notre communauté, et elle a été présentée par Apple plus de fois que je ne peux compter. Elle tweets souvent de son propre travail et des présentations, mais elle partage aussi des liens vers des livres de lecture, elle, nos articles qu'elle a lu, et d'autres ressources.

Majid Jabrailov non seulement écrit un fantastique blog Swift et SwiftUI, mais c'est aussi un pneuless promoteur des autres – si vous le suivez sur Twitter, vous recevrez idée après idée, provenant d'une grande variété de sources.

Donny Wals écrit un blog Swift et, plus récemment, des livres sur Combine et Core Data, mais il encourage également les gens à partager ce sur quoi ils travaillent sur Twitter. Même le simple fait de lire ce fil une fois par semaine vous incitera à essayer de nouvelles choses, vous devez donc absolument suivre Donny.

Panage d'été travaille sur Applel'équipe d'accessibilité de , donc même si elle est quelque peu limitée dans ce qu'elle peut dire, elle tweete beaucoup de conseils de premier ordre d'elle-même et d'autres que tout le monde peut utiliser pour créer de meilleures applications.

Natasha Fadeeva écrit un blog sur le développement Swift et iOS, y compris des articles sur les données de base, des questions d'entretien et d'autres sujets, mais elle tweete également sur des choses qu'elle trouve ailleurs.

Newsletters and more

Bulletins et plus

Bien sûr, Twitter n'est pas le seul endroit pour rester en contact avec la communauté ; il existe également des newsletters, des groupes Slack, des rencontres Zoom, des forums, des conférences et d'autres lieux. Je ne veux pas trop vous ennuyer, alors je vais juste en énumérer un ici :

Vous ne pouvez pas vous tromper avec iOS Dev hebdomadaire pour les bulletins. Au moment où j'écris ces lignes, il vient de passer 500 numéros, un par semaine, ce qui, je crois, vous dit tout ce que vous devez savoir sur son importance.

Si vous souhaitez publier sur un forum Web, https://www.hackingwithswift.com/forums est assez bon. Il existe de nombreuses catégories parmi lesquelles choisir, et tout le monde,less niveau d'expérience, est invité à participer. Vous êtes plus que bienvenus pour poster vos questions de débutant ici, croyez-moi !

Chaque mois, le Happy Hour pour les développeurs iOS se déroule lors d'un appel de groupe Zoom avec plus de 300 personnes, mais le vrai plaisir est dans les salles de sous-commission, où vous pouvez discuter avec des groupes de 6 à 8 personnes à la fois. C'est très amusant et vous rencontrerez de nouvelles personnes.

Assister à des conférences a été difficile en raison de la pandémie de coronavirus, mais Apple's WWDC a été un énorme succès l'année dernière, et il était accompagné d'une série d'événements communautaires. Un groupe d'amis et moi avons créé un GitHub référentiel pour aider à garder une trace de tous les autres événements, articles et autres choses qui se sont produites – jetez un œil !

Enfin, si vous préférez discuter sur Slack où vous pouvez obtenir des réponses plus rapidement, vous pouvez rejoindre gratuitement Piratage avec le groupe Swift Slack et rejoignez l'un des canaux Swift, SwiftUI et autres.

Combien de temps faut-il pour apprendre iOS ?

C'est une question que je me pose fréquemment : combien de temps faut-il pour passer de l'ignorance de Swift à la possibilité d'obtenir un poste de développeur iOS débutant ?

La réponse évidente est "ça dépend", mais ce serait un flic dans ce cas, alors permettez-moi de l'aborder de différentes manières.

La règle d'or est de ne pas se précipiter

Tout d'abord, vous ne pouvez pas suivre plusieurs cours en même temps. Vous vous souvenez de ce que j'ai dit à propos du « syndrome de l'objet brillant » ? Oui, beaucoup de gens pensent qu'ils peuvent suivre deux cours en même temps, puis s'entasser pendant quatre, cinq heures ou même plus chaque jour tout en ayant une compréhension de haute qualité des sujets qu'ils ont abordés.

Pour être clair, j'ai vu des gens essayer ça tellement de fois et ça échoue toujours. À chaque fois, cela ne fonctionne jamais, et j'entends des gens dire que c'est parce que les tutoriels étaient mauvais, ou parce que Swift était trop difficile, ou pour littéralement toute autre raison que d'essayer de se précipiter à travers quelque chose de complexe.

Apprendre Swift peut parfois être difficile, et apprendre à créer des applications nécessite beaucoup d'essais et d'erreurs, de faire des erreurs et de prendre de mauvais virages. Et c'est bien, c'est mieux que bien, c'est fantastique ! 

Parce que chaque fois que vous essayez quelque chose, faites une erreur ou prenez un mauvais virage, vous apprenez quelque chose en cours de route, et lorsque vous arrivez enfin à la solution, vous la comprendrez beaucoup mieux.

Donc, le TL;DR ici, c'est ne vous précipitez pas - prenez votre temps, n'ayez pas peur d'explorer les tangentes qui se présentent, n'ayez pas peur d'expérimenter vos projets et n'ayez pas peur de revenir à quelque chose vous avez déjà appris et réapprenez-le au besoin.

What is your educational background

Quelle est votre formation?

Deuxièmement, vous devez tenir compte de vos antécédents avant de venir chez Swift. Vous voyez, apprendre à créer des applications nécessite un large éventail de compétences, et si vous venez à la table avec une richesse de connaissances préalables telles que version control, structures de données, algorithmes, etc., vous aurez un avantage significatif sur ceux qui débutent en informatique en général, ainsi que Swift et d'autres Apple cadres.

Alors, voici quelques possibilités pour savoir où vous pourriez être en ce moment :

Si vous avez un diplôme en informatique, vous connaissez déjà la plupart des principes fondamentaux de l'informatique nécessaires pour démarrer avec Swift. Les variables, les tableaux, les boucles, les tableaux, les ensembles, les fonctions, la POO et d'autres concepts seront utiles dans Swift, tout comme tout votre travail avec les structures de données et les algorithmes. Cela pourrait vous faire économiser 4 à 6 mois de temps d'étude en fonction des matières que vous avez étudiées, et cela vous donnera également un avantage lorsque vous postulez à des emplois dans de nombreuses entreprises.

Si vous n'avez pas de diplôme en informatique mais que vous avez participé à un bootcamp de codage, vous aurez de nombreux éléments de base dont vous aurez besoin pour démarrer avec Swift. Cela ne vous donnera pas le même avantage lorsque vous postulez à des emplois dans ces entreprises, car elles s'attendent souvent à un diplôme juste pour cocher une case sur leur liste d'exigences arbitraires, mais cela vous fera quand même économiser trois ou quatre mois.

Si vous n'avez pas de diplôme en informatique et que vous n'avez pas participé à un bootcamp, mais que vous avez codé pendant votre temps libre, vous gagnerez du temps - probablement environ deux mois, selon le langage ou les frameworks que vous utilisiez. .

Que se passe-t-il si vous n'avez pas de diplôme en informatique, n'avez pas participé à un bootcamp et n'avez aucune expérience de codage préalable ? Ensuite, j'estimerais de 9 à 12 mois pour passer de rien à un emploi de premier échelon. Oui, cela pourrait être une année complète de travail en plus de votre emploi à temps plein actuel, et c'est juste pour obtenir votre premier emploi en tant que développeur iOS.

Est-ce toujours la même année ? Non. Si vous avez de l'expérience, vous pouvez réduire ce délai de 1 à 6 mois, comme je l'ai indiqué précédemment. Si vous prenez les meilleurs chiffres des deux côtés – 9 mois de rien à un emploi de premier échelon, plus 6 mois pour avoir un diplôme en informatique – cela signifie que vous pourriez être embauché en seulement 3 mois, ce qui est incroyable.

Vous pouvez croire que trouver votre premier emploi en trois mois est impossible, mais ce n'est pas. Zut, j'ai rencontré quelqu'un qui prend mes 100 jours de cours Swift et obtenu un emploi avant le jour 50 - ils avaient déjà appris assez sur le développement d'applications dans less plus de deux mois parce qu'ils font l'effort de faire en sorte que chaque jour compte.

Donc, vous n'avez pas besoin d'un diplôme en informatique ou d'un bootcamp, mais vous devez être prêt à travailler dur.

Accordez-vous une certaine latitude

Le troisième point que j'aimerais faire avant que nous passions à autre chose est que « cela prend autant de temps qu'il le faut ». J'adore les paroles de John Lennon qui disent : "La vie, c'est ce qui arrive quand tu es occupé à faire d'autres projets."

C'est fantastique si vous avez de grands projets d'apprentissage et de grands rêves pour le travail que vous voulez, mais parfois vous êtes fatigué, parfois vous êtes stressé, parfois votre toit fuit ou votre chien doit aller chez le vétérinaire ou vos enfants ont besoin de plus aider avec leurs devoirs, ou quoi que ce soit, et c'est juste la vie. 

Alors, ne soyez pas trop dur avec vous-même si vous prenez du retard dans votre programme d'apprentissage, ou si vous vous retrouvez à manquer quelques jours ou même quelques semaines, et ainsi de suite - tant que vous êtes résilient, vous obtiendrez là.

C'est fantastique si vous travaillez très dur et obtenez un emploi après 50 jours – bravo ! Si cela vous prend 500 jours, c'est fantastique aussi, et vous devriez être tout aussi fier de vous. Bon sang, si ça te prend cinq ans, je suis sûr que ce n'est pas ce que tu voulais, mais le résultat final est le même, et c'est tout ce qui compte.

Getting ready to apply

Se préparer à postuler

Enfin, si vous êtes un peu plus avancé dans votre parcours d'apprentissage iOS et que vous envisagez de décrocher votre premier emploi de débutant, j'aimerais vous indiquer une vaste collection de ressources que j'ai rassemblées pour vous aider.

je recommanderais Vidéos de conseils sur l'interview Swift de Sean Allen - il a toute une liste de lecture pour eux où vous pouvez travailler sur des discussions individuelles telles que classes vs structs, programmation fonctionnelle, gestion des erreurs, etc. Aucune des vidéos n'est particulièrement longue, mais elles sont toutes conçues pour vous fournir les compétences dont vous avez besoin pour bien performer dans une situation d'entretien.

Où maintenant?

D'accord, j'ai donc passé en revue les compétences de base et d'extension dont vous aurez besoin, les erreurs d'apprentissage courantes, les cours que vous pouvez suivre, comment vous connecter avec la communauté iOS et comment vous préparer à votre entretien d'embauche - c'est beaucoup à couvrir, et j'espère que cela a été utile.

De plus, j'espère avoir démontré combien d'informations sont disponibles gratuitement. 

Oui, la tentation de dépenser cent dollars ou plus pour un cours est forte, mais détendez-vous - commencez d'abord, trouvez un élan et trouvez également quelqu'un qui enseigne Swift d'une manière qui vous convient. Lorsque vous êtes bien placé et que vous vous sentez prêt, allez-y et dépensez de l'argent si vous le souhaitez.

Meilleurs voeux pour votre voyage!

À propos de l’auteur
David Attard
David travaille dans ou autour de l'industrie en ligne / numérique depuis 18 ans. Il possède une vaste expérience dans les industries du logiciel et de la conception Web utilisant WordPress, Joomla et les niches qui les entourent. En tant que consultant numérique, son objectif est d'aider les entreprises à obtenir un avantage concurrentiel en utilisant une combinaison de leur site Web et des plates-formes numériques disponibles aujourd'hui.

Encore une chose ... Saviez-vous que les personnes qui partagent des informations utiles comme cet article ont l'air géniales aussi? ;-)
Si vous voulez, vous pouvez laisser un incontournable commentez vos pensées, puis partagez-les sur votre ou vos groupes Facebook qui trouveraient cela utile et récoltons ensemble les avantages. Merci d'avoir partagé et d'être gentil!

Divulgation: Cette page peut contenir des liens vers des sites externes pour des produits que nous aimons et que nous recommandons sans réserve. Si vous achetez des produits que nous suggérons, nous pouvons percevoir des frais de parrainage. Ces frais n'influencent pas nos recommandations et nous n'acceptons pas les paiements pour les avis positifs.

Auteur (s) présenté sur:  Inc Magazine Logo   Sitepoint logo   CSS Tricks logo    webdesignerdepot logo   WPMU DEV logo   et beaucoup plus ...