Partage

Intérêt Node.js ou AngularJS

Sujet résolu
22 novembre 2013 à 10:58:32

Bonjour,

On entend parler partout des nouveaux frameworks JS tels que Node.js ou AngularJS.

Pour ma part j'utilise jQuery.

Quel est l'intérêt d'utiliser ces nouveaux framework ? Lequel est le mieux ? Sont-ils facile à prendre en main ?

22 novembre 2013 à 11:04:11

L'intérêt majeur de NodeJS est qu'il est server-side. Et donc ça permet un certain nombre de fonctionnalités qui n'étaient pas possible avec les langages habituels (du moins j'imagine vu l'engouement qu'il suscite). Pour plus de détails je t'invite à lire http://stackoverflow.com/questions/5062614/how-to-decide-when-to-use-nodejs ainsi qu'à suivre les liens fournis.

AngularJS je connais pas par contre.

-
Edité par Fractaliste 22 novembre 2013 à 11:05:21

Dans le monde il y a 10 sortes de personnes. Celles qui comprennent le binaire, et les autres.
22 novembre 2013 à 17:09:37

Katee a écrit:

Pour ma part j'utilise jQuery.

Personne n'est parfait ^^ .

Node.js n'est pas un framework, mais un "serveur". Ca a l'avantage d'être basé sur les évènements ce qui allège considérablement la charge du serveur, comparé à un serveur exploitant PHP par exemple.

Niveau AngularJS, j'ai pas trop testé mais de ce que j'en sais, c'est un framework exploitant jQuery mais qui a pour objectif de simplifier les manipulations du DOM en encourageant un modèle MVC : http://fr.wikipedia.org/wiki/AngularJS .

Ma vraie biographie - Ex-Manager de la Validation sur le Site du Zéro - Dynamisez vos sites avec JS - jQuery - Cheatsheet JS
27 novembre 2013 à 10:55:26

Thunderseb, tu n'aimes pas jQuery ? C'est vrai que vu les tutos que tu as écris tu es plus Javascript natif... Mais j'ai un peu du mal avec le javascript natif...

Y'a aussi Backbone comme framework...

Bon, je sais toujours pas dans lequel je vais me plonger... :(

28 novembre 2013 à 10:58:15

C'est pas que j'aime pas jQuery, c'est juste que je trouve ça totalement inutile dans 90% des cas. C'est un fichier de plus à charger, et ça rend l'exécution des scripts plus lente. C'est une solution de facilité pour ceux qui n'ont pas le courage d'apprendre les bases du Javascript, qui n'a au final rien de compliqué.

Ma vraie biographie - Ex-Manager de la Validation sur le Site du Zéro - Dynamisez vos sites avec JS - jQuery - Cheatsheet JS
28 novembre 2013 à 11:25:51

Node.js n'est pas un serveur. Il permet d'en programmer un.

Node.js transforme javascript en langage de bas niveau côté serveur.

L'un des avantages étant de programmer en orienté évènement et d'avoir un traitement multitâche, d'où un gain de rapidité dans l’exécution des scripts et l'envoie de réponses aux clients. Dans les grandes lignes.

Cependant, ce n'est pas la panacée, il n'y a pas de solution idéale. Certaine sont plus ou moins longue et complexe à mettre en œuvre.

-
Edité par Hikingyo 28 novembre 2013 à 11:27:13

Pensez à poster votre code avec les balises et joindre le contenu des variables qui vous causent des soucis ( ex : var_dump() ).Lisez bien les messages d'erreurs !Google it n RTF !!
28 novembre 2013 à 11:38:08

Katee a écrit:

Y'a aussi Backbone comme framework...

Bon, je sais toujours pas dans lequel je vais me plonger... :(


La question n'est pas dans lequel te lancer, mais du quel auras-tu besoin par la suite.

  • Node.js peut être vu comme une alternative à PHP, ou une solution pour créer des applications en temps réel tels que des jeux multijoueurs en canvas ou un tchat, ou encore un système de notifications et que sais-je...
  • Backbone.js t'apportera comme tout bon Framework une souplesse dans tes développements.
  • Angular.js je ne saurai en parler car je ne le connais tout simplement pas.
28 novembre 2013 à 13:04:32

Sans détailler outre mesure:

Node.js:

C'est un outil disponible du côté du serveur. Rien à voir avec jQuery ou encore Angular, Node fait sa vie sur le serveur et peut servir à à peu près n'importe quoi, mais de ce côté là. Contrairement à ce que dit Hikingyo, Node est (mais pas que) un serveur web. Pas besoin d'utiliser Apache devant comme c'est le cas avec PHP, Node peut très bien répondre aux requêtes HTTP tout seul. Actuellement principalement utilisé pour du web, il peut en réalité servir à un peu n'importe quoi, et être utilisé comme un langage de script un peu comme un autre, à l'exception plus que notable près d'adopter une approche événementielle. Ses points forts sont son comportement non-bloquant qui le rend très efficace (il scale bien), son approche asynchrone inhérente, et son utilisation simple lors de problématiques temps réel. (En vrai, si on prend soin de son PHP, notamment avec ReactPhp, on n'est pas vraiment loin de Node en terme de perf) Tout le foin qu'on en fait par rapport aux jeux, au temps réel, aux notifications viens surtout du fait que certaines librairies lui ont permis de démocratiser les websockets, avec socket.io, et maintenant SockJs (Oui parce que socket.io c'est plus maintenu, et SockJs ça évolue vers le standard natif du HTML5 alors c'est cool.)

jQuery

Le script passe partout côté client qui a connu son époque dorée en permettant de s'affranchir des différences entres les navigateurs. Au lieu de s'embêter (et je suis gentil) à garder des scripts compatibles avec les navigateurs, utiliser jQuery permet de s'affranchir de ces aberrations. Mais ces différences s'estompent, et jQuery entraine chez le débutant (ou le gros faignant dont je fais partie) des comportements incorrects (codes pas optimisés, même sales parfois). En gros, quand on veut faire de l'ajax ou taper dans le DOM comme une brutasse, jQuery est une bonne solution (Y'a aussi de jolis effets trop beaux). Si on sait ce qu'on fait avec, tout va très bien, mais si on bricole, ça peut vraiment être un carnage. (Mais je ne pense pas que cela légitime le fait de cracher à la gueule de cette librairie)

Backbone

Un framework MVC côté client permettant de structurer (depuis très bas) des applications encore une fois client. Il offre des lignes directrices et une certaine rigueur, mais n'automatise rien. Basé sur une approche événementielle, il permet de relier facilement (pas automatiquement, juste de manière définie) le HTML avec les objets javascript sous-jacents. Atrocement personnalisable, il vous laisse tout faire, vous aurez d'ailleurs tout à faire, au moins vous saurez (ou pas) ce que vous ferrez. Courbe d'apprentissage très pentue donc, grosse barrière, mais une fois qu'on a compris plus de surprises. La plupart du temps on utilise un truc par dessus, comme Chaplin ou Marionnette histoire d'automatiser un peu plus de trucs. Pour l'histoire, Backbone a été crée au départ par @jashkenas, qui est également le papa de Underscore (THE librairie) et de coffeescript.

Angular

De la même manière que Backbone, un framework MVC (à peu près) côté client. Bien plus industriel si j'ose dire, Angular automatise tout un tas de chose (c'est d'ailleurs magique au début) et rend la conception d'applications client bien plus rapide. Il vous oblige à taper dans le HTML pour fonctionner, certains puristes (Qui crachent sur un site non valide W3C autant que sur jQuery) n'aiment pas infester leur beau HTML dédié corps et âme au contenu avec des directives comportementales, mais ça marche quand même du tonnerre. Fondamentalement différent de Backbone - et des autres framworks comme Ember ou Knockout - et de leur approche événementielle, Angular utilise un comportement de dirty checking. En gros, il n'écoute pas les modifications apportées aux DOM/Objets, il reconstruit la page à chaque fois qu'on modifie un truc. Celà implique des problématiques particulières à traiter, mais les coins tordus de l'approche événementielle sont tout aussi fourbes. La courbe d'apprentissage est bien moins pentue, les débuts sont même très relaxants quand on vient de Backbone. Mais quand on veut faire des trucs un peu compliqués, comme des directives de furieux, imbriquer des controleurs à gogo, ou encore lire la documentation, on est tout de suite moins sereins. (Il utilise aussi jQuery ou embarque un équivalent, mais de toute façon, quand on embarque Angular, jQuery devient assez insignifiant) Pour l'histoire encore une fois, c'est fait par Google, et sans backdoor pour voler vos données, jusqu'à preuve du contraire.


Donc en gros:

  • Node.js c'est sur le serveur et ça renvoie des jolies pages ou des websockets
  • jQuery ça facilite les modifications du DOM et les appels Ajax
  • Backbone ça structure les applications côté client
  • Angular ça fait pareil mais en te tenant par la main

-
Edité par Davounet 28 février 2014 à 9:44:14

4 décembre 2013 à 8:57:58

Merci pour vos réponses et surtout pour les explications très précises de Davounet.

Je pense opter pour Angular !

28 février 2014 à 0:05:30

Oui, bon choix je pense, d'autant qu'avec Firebase, cela devient très "magique" (y)

Dommage cependant, encore pas beaucoup de tuto en fr, même ici.

Si certains ont de bonnes pistes, pour les big newbies en Angular pour avoir de bonnes bases, je suis preneur :-)

-
Edité par Grcote7 20 avril 2014 à 21:24:13

<?php echo preg_replace('#http://[w]{3}.Pui100.com#i','Wife, World, Web !', 'http://www.Pui100.com'); ?>
16 avril 2014 à 22:32:00

Un cours vidéo en français sur AngularJS :

http://www.grafikart.fr/formation/angularjs

20 avril 2014 à 21:38:50

Super aysos75, c'est effectivement depuis les vidéos de Jonatahn BOYER, alias GrafikArt.fr que j'ai commencé à vouloir m'initier à AngularJS, qui avec de + en +  de recul, me confirme que c'est un super choix pour finir par sortir un bout de site, réellement dernière généation (y)

Par contre, j'ose pas attaquer la dernière vidéo (Celle où sera abordée la réalisation de directives perso), parce que largué dès la 3 ou 4ème...

Chez GrafikArt, j'avais aussi trouvé un autre excellent tuto (toujours en Vidéo): http://www.grafikart.fr/tutoriels/angularjs/angularjs-todo-369

Magnifique, bien suivie, j'avais même pû apporter 2-3 améliorations perso à ce "TODO List", puis notament avec cette autre vidéo: http://www.grafikart.fr/tutoriels/angularjs/nganimate-467, la rendre vraiment sympa...

Bref, la vie était belle :-)...


Mais là où tout à changé, c'est lors du: 'Bon, on efface tout, on repart à 0, et on se fait un truc maison...'


Là, big crise de désespoir... Lol !


Donc, en fait, je garde tout cela sous le coude (En fait, dans mon trello.com, Lol -- Au passage, une app issue de Angular...) et "je l'aurai, la compréension de cette 5ème vidéo, je l'aurai !!!" (J'savais que je regardais trop la pub, Lol)

Mais ce que je demandais, et qui j'en aussi certain, sera utile à pas mal, c'est tout type de tutos-vidéos digne du bon vieux SdZ..., bref, reprenant les bases de A à Z...

(Avec qd même pré-recquis JS voir JQuery...)

Ah, si not' bon vieux Mathéo passait pas ce thread, et se sentait inspiré... :-)....

Bon, dans l'attente, si vous avez écho d'autre sources que celle de Jonathan, certes, top niveau, mais 'pour le coup' comme ce dernier aime à dire, assez poussées, partant vraiment des bases, n'hésitez pas :-) !

@++

PS:

  • 1 / Pour AngularJS, couplé à FireBase, ça peut-être vraiment puissant, et je reste sidéré de la rapidité d'éxécution...
  • 2 / Pour NodeJS, voyez ce que ça peut donner: NodeBB... (Et réellement, en 5 mn, c'est opérationnel, et pour une fois, ce que donne l'installation est rigoureusement identique à ce qu'utilise le site officiel comme forum (y). Voyez: http://blog.hadrien.eu/2014/02/21/nodebb/ pour une install rapide :-)

-
Edité par Grcote7 20 avril 2014 à 21:44:44

<?php echo preg_replace('#http://[w]{3}.Pui100.com#i','Wife, World, Web !', 'http://www.Pui100.com'); ?>
25 mai 2014 à 17:34:12

salut! vous avez d'autre liens pour un tutos angularjs ??

20 juillet 2014 à 21:19:51

Node.js s peut etre utiliser avec AngularJS. Node.js est cote client et AngularJS est cote server.
20 juillet 2014 à 21:28:13

salut!

je voudrai savoir si quelcun pourrai m expliquer l utilisation de Grunt.config() de node.JS?  Par example dans le code suivant:    

  grunt.config('paths.root', './');
  grunt.config('paths.temp', '.tmp');
  grunt.config('paths.build', 'build');
  grunt.config('paths.plugins', 'plugins');
  grunt.config('paths.bower', 'bower_components');

je ne comprent pas exactement ce qui se passe dans chaque ligne de code.

dans le cite de grunJS.com j ai lu l explication ci apres et ne comprent pas exactement comment sa marche.

merci de me venir en aide.

grunt.config

Get or set a value from the project's Grunt configuration. This method serves as an alias to other methods; if two arguments are passed, grunt.config.set is called, otherwise grunt.config.get is called.

grunt.config([prop [, value]])
21 juillet 2014 à 8:54:18

en1 a écrit:

Node.js s peut etre utiliser avec AngularJS. Node.js est cote client et AngularJS est cote server.


Attention, c´est l´inverse en fait.
22 juillet 2014 à 19:38:47


Bartox a écrit:

en1 a écrit:

Node.js s peut etre utiliser avec AngularJS. Node.js est cote client et AngularJS est cote server.


Attention, c´est l´inverse en fait.


oui t as raison. je m excuse.
15 septembre 2014 à 16:49:15

Bonjour tout le monde !

Je pense que pour la question initiale, Davounet a déjà très bien répondu ! :)

Sinon, pour ceux que ça intéresse, je suis en train de rédiger un "Big Tutoriel" entièrement en français sur un petit site indépendant : Tutoriel AngularJS

Je pensais initialement posté le tutoriel sur OpenClassrooms mais après plusieurs déconvenues (dont je parle sur le topic initial que j'avais lancé : [AngularJS] Big Tuto ) j'ai décidé de le faire en indépendant.

La première partie est terminée et répond à toutes les questions abordées dans ce topic de façon très détaillée : Découverte d'AngularJS.

Pour la question initiale, le chapitre d'introduction à AngularJS vise justement à y répondre parce qu'elle est très souvent posée par les gens qui découvrent ce nouveau framework.

Pour la communication entre AngularJS et une API RESTful, le chapitre sur la logique d'AngularJS détaille justement les particularités du framework et les solutions qui permettent de le mettre en place.

Bref, ce petit site a pour but de soutenir et agrandir la communauté francophone de ce framework qui est pour l'instant vraiment petite. Et bien sûr de proposer enfin un Big Tuto en français. N'hésitez pas à laisser des commentaires pour proposer des améliorations si vous avez des idées.

Dès que le tutoriel sera fini, je compte bien continuer à écrire des billets sur toutes sortes de thématiques en rapport avec AngularJS & Co.

Bonne journée !

-
Edité par Chtroumpf 17 septembre 2014 à 15:43:31

Intérêt Node.js ou AngularJS

× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
  • Editeur
  • Markdown