-
Début en dev full stack
Bonjour à tous !
Je suis développeur backend JEE depuis quelques années et suite à une réorganisation dans ma boite, me voilà promu développeur fullstack :ptdr:
La logique front me dépasse un peu et je galère, pour ne pas en dire plus... Pour faciliter encore les chose, je démarre sur un nouveau projet, les technos sont : angular 4 et bootstrap
Du coup j'ai plein de questions :
1 - Sur angular, je n'ai pas de soucis insurmontable, je me fais bien à la logique. Par contre ça ce complique si je veux rendre le résultat moins moche. J'ai essayé d’écrire mes css et javascript from scratch mais à chaque fois que je fais une modif sur une page, je dois revenir en arrière. J'ai essayé d'utiliser des libs (material design notamment), mais j'ai eu pas mal de difficultés dans la compatibilité entre les dépendances. J'ai essayé de partir d'un template (yeoman) et de remettre en place la logique métier mais comme je ne maîtrise pas le code généré, je n'arrive pas à modifier le code sans tout péter... Au final, je passe beaucoup de temps à essayer différentes approches et je n'avance pas. D'où ma question : par où est on sensé commencer ? J'avance dans la conception logique des pages et j'ajoute les styles une fois qu'elles sont stabilisées ? Je fais un squelette "statique" HTML/CSS/js et j'ajoute ensuite mes directives angular ?
2- La gestion des dépendances sur le long terme m’inquiète également. J'utilise le package.json pour mes dépendances npm et bower pour le reste mais il y a de nouvelles versions très régulièrement des packages que l'on ne peut pas intégrer au fil de l'eau. A quelle fréquence en général fait on les migrations de dépendances ?
3 - Question bonus : Quel IDE utilisez vous ? Je suis partie sur Visual Studio Code, qui est léger et assez ergonomique, mais il y a peut être plus adapté.
Merci à tous !
-
Salut,
bienvenue dans le futur ;)
Pour angular, excellent choix. Pour yeoman... bouarf. C'est un avis très personnel mais je me méfie de tous les générateurs de code surtout si ceux-ci sont conséquent car comme tu l'as remarqué par toi-même, il est souvent difficile de manipuler le code généré "sans tout péter" comme tu le dis.
Donc pour le CSS, la création d'un template statique d'une vue n'est pas à exclure en JPG, bien au contraire ! Par contre, je pense qu'il est préférable d'adopter la logique de composant (qui est la logique d'angular) dès qu'on passe du côté HTML/CSS.
Là aussi où je peux te mettre en garde c'est typiquement des librairies angular qui adaptent des librairies pas angular 4 (souvent jquery) vers angular 4. Exemple : ngx-bootstrap qui adapte boostrap pour angular, ng2-charts qui adapte Chart.js en version Angular. Ce sont des exemples et je dis pas que ces librairies sont foireuses attention mais il s'est souvent avéré qu'il était plus rapide de prendre la librairie js originel et l'adapter moi même pour qu'elle soit utilisable dans mon projet angular 4.
En ce qui concerne les dépendances, ne t'inquiète pas npm et même yarn maintenant sont des tueries. Sur des librairies suivies et active par la communauté, tu ne devrais avoir aucun problème. Par contre oublie bower qui est condamné à s'effacer car il n'est voué qu'à s'occuper des dépendances côté front alors que la tendance est clairement d'unifier le front/back.
Pour l'IDE j'utilise WebStorm, c'est une tuerie mais payant (cher pour toi, pas cher pour une boîte).
-
Merci pour cette réponse !
Tu as raison, c'est clairement le futur et Angular rocks ! L'UX est remise au centre, les clients riches permettent de faire énormément de choses et c'est sympa de sortir de sa "zone de confort".
Ce qui est le plus déroutant quand tu viens du back, c'est le nombre de langages et outils à maîtriser pour obtenir un résultat sympa et la méthodologie de dev qui est bien différente. L'autre difficulté c'est la rapidité d'évolution de ces technos. Les ressources (cours, tuto, posts...) qui datent de moins d'un an sont pour la plupart déjà obsolètes.
J'ai fait un tour sur le site de webstorm, les tarifs sont restent très corrects, je vais profiter du free trial pour me faire une idée.