Comment devenir un développeur Full-Stack : partie 2

Publié: 2017-12-02

Ceci est le deuxième d'une série d'articles sur l'apprentissage de la programmation et du développement full-stack. Si vous n'avez pas vérifié la première partie, sur l'apprentissage des principes fondamentaux de CS, des algorithmes, des principes de conception et du développement frontal, vous pouvez le faire ici.

Motivation

Vous savez maintenant comment créer des sites Web statiques à l'aide de HTML, CSS et Javascript. Bien qu'Internet ait été conçu à l'origine pour partager des pages Web statiques, les capacités (et les attentes) d'une application Web moderne ont considérablement augmenté. Presque toutes les applications nécessitent que vous authentifiez les utilisateurs, que vous leur répondiez et que vous reproduisiez des scénarios réels aussi fidèlement que possible.
Pour faire ce qui précède, vous devez obtenir des données d'un utilisateur (ou d'une API), les traiter et produire une sortie. Vous devez également enregistrer ces données et disposer d'un mécanisme pour identifier l'utilisateur la prochaine fois qu'il reviendra utiliser votre application. Pour exécuter ces fonctions, notre pile actuelle n'est pas suffisante.
Entretien avec Ankit Tomar, co-fondateur et directeur technique, Bizongo

Les serveurs sont nécessaires pour traiter les données des utilisateurs, stocker les fichiers, les convertir en HTML/CSS/JS. Ensuite, ces serveurs le servent au navigateur sous une forme qui peut être présentée à l'utilisateur. Une base de données est nécessaire pour stocker les données importantes pour votre application. Pour programmer le serveur, nous avons besoin d'un langage de script côté serveur et pour la base de données, nous avons besoin d'une base de données (duh) et d'un langage pour communiquer avec elle. C'est exactement ce que nous allons faire dans les prochaines étapes. Pour les sept premiers, référez-vous au post précédent !

Table des matières

Étape 8 : Langages de script côté serveur

Comme mentionné précédemment, pour programmer et communiquer avec votre serveur, vous aurez besoin de connaître un langage qu'il comprend. Contrairement au front-end où Javascript est le seul choix, il existe une pléthore d'options disponibles pour que vous puissiez programmer sur le backend. Les plus populaires sont Java, PHP, Python, JavaScript et Ruby.
PHP a ses défauts, mais il a la courbe d'apprentissage la plus douce de tous les langages et frameworks que j'ai utilisés jusqu'à présent. Et PHP consiste à coder des solutions rapides (et sales). Ainsi, dans un laps de temps extrêmement court, vous pouvez créer une application Web dont vous serez extrêmement fier.
Comment devenir un développeur de logiciels web full stack UpGrad Blog front end backend
Java est un langage de programmation à usage général et probablement le langage le plus populaire de tous les temps. Il est extrêmement populaire pour créer des applications mobiles (sur la plate-forme Android) et largement utilisé dans la plupart des grandes entreprises technologiques. Head First Java est un excellent endroit pour apprendre ce langage omniprésent.
Pour apprendre Python, je recommande fortement Learn Python the Hard Way de Zed Shaw et Automate the Boring Stuff with Python d'Albert Sweigart. Si vous avez décidé d'utiliser PHP, vous pouvez apprendre les bases du langage sur Codecademy.
Vous connaissez déjà suffisamment la syntaxe JavaScript pour vous salir les mains avec les frameworks Node et backend JS (comme Express). Je couvrirai Ruby plus tard en conjonction avec Rails car il est rarement utilisé comme langage autonome.

Étape 9 : Apprendre SQL

Pour la prochaine étape, vous devriez probablement prendre un peu de SQL (Structured Query Language). C'est la langue avec laquelle les bases de données communiquent. Et bien que vous ne l'utilisiez peut-être pas directement lorsque vous passez à l'utilisation de frameworks, il est toujours utile de savoir comment communiquer directement avec votre base de données. La bonne nouvelle est que SQL est incroyablement facile à apprendre. Vous devriez être en mesure de bien le comprendre en quelques heures. Head First SQL est une excellente ressource à cet effet.
Comment devenir un développeur Full Stack : Partie 1

Étape 10 : Apprendre un framework Web "conventionnel" Full-Stack

C'est maintenant le bon moment pour expérimenter des frameworks Web qui peuvent faire la plupart des travaux de niveau inférieur pour vous.
Il ne manque pas de grands frameworks qui pourraient répondre à tous les objectifs imaginables. Rails (écrit en Ruby), Spring (écrit en Java) et Django (écrit en Python) font partie des frameworks couramment utilisés aujourd'hui. Vous pouvez jeter un œil au didacticiel The Rails de Michael Hartl, disponible gratuitement.
En ce qui concerne Django, le tutoriel sur le site officiel est un bon point de départ. Une fois que vous vous sentez à l'aise avec les bases du framework, lisez Two Scoops of Django . C'est l'un des meilleurs livres sur la technologie.
Si vous avez décidé d'emprunter la voie du printemps, je vous suggère fortement de vous inscrire au programme de développement de logiciels UpGrad & IIIT-B. Le programme vous donne un aperçu très holistique du cadre et vous aide à créer un backend robuste et évolutif.

Étape 11 : Frameworks Javascript Full-Stack et la pile MEAN

Il n'y a pas si longtemps, le développement backend était basé sur le concept du cycle requête-réponse. Par exemple, le navigateur a envoyé une requête et le serveur a répondu en crachant une page Web en HTML. Cependant, depuis début 2010, de plus en plus d'applications sont devenues temps réel.
La structure d'une page Web entière change sans rafraîchissement et se comporte de manière dynamique en fonction de l'entrée et de l'interaction de l'utilisateur (Pensez au chat, aux goûts, aux commentaires, aux vidéos en direct et aux réactions, etc.).
Comment devenir un développeur de logiciels web full-stack Back-end UpGrad Blog
Dans un tel scénario, un simple cycle demande-réponse ne suffit tout simplement pas. Par conséquent, il y a eu un récent regain d'intérêt pour la programmation asynchrone et pour faire des requêtes AJAX la norme. Les frameworks Javascript ont tendance à exceller dans ce domaine. Il est donc logique de se familiariser avec l'un des principaux frameworks JS disponibles sur le marché. Les deux plus populaires sont MEAN Stack et MeteorJS.
Entretien avec Farooq Adam, co-fondateur, Fynd

L'apprentissage de MEAN est légèrement plus compliqué en raison de sa nature asynchrone et de l'enfer de rappel que Node a généralement tendance à déclencher. Mais maintenant que vous êtes un développeur chevronné, vous êtes suffisamment mature pour gérer ses idiosyncrasies.
Meteor est un framework JS complet que j'expérimente actuellement. Le concept de Meteor est absolument délicieux - un framework dans un langage qui prend en charge tous les composants d'une application (front-end, back-end et base de données). Cependant, cela se fait au détriment de la liberté de personnalisation. Une fois que vous avez construit quelque chose dans Meteor, il est pratiquement impossible de modifier la base de données ou le framework backend si vous choisissez de le faire. Cependant, je pense toujours que c'est une technologie intéressante à apprendre. Meteor est connu pour être extrêmement puissant. Il est capable de faire des choses dans des centaines de lignes de code là où d'autres frameworks conventionnels en auraient nécessité mille.

Conclusion

C'est la fin de la partie 2. Dans cet article, nous avons couvert les ressources concernant le développement backend et les différentes technologies full-stack disponibles. Vous pouvez maintenant vous appeler fièrement un développeur full-stack. Toutes nos félicitations!
Mais l'histoire du développement Web full-stack ne s'arrête pas là. Avec l'introduction de l'iPhone, il y a eu une révolution des smartphones dans le monde entier. De plus en plus de personnes se tournent vers l'utilisation de smartphones à la place d'ordinateurs de bureau. Dans un tel scénario, il est impératif que vous appreniez à créer des applications pour deux des plates-formes les plus populaires : Android et iOS. Nous couvrirons cela dans la prochaine et dernière partie de cette série. De plus, nous examinerons également les frameworks qui nous permettent de créer des applications natives en utilisant Javascript (Ionic, React Native, etc.).
Jusque-là, c'est au revoir.
Vos commentaires et suggestions sont les bienvenus!

Devenir Développeur Full Stack

UpGrad et diplôme PG de l'IIIT-Bangalore en développement de logiciels
Apprendre encore plus