Danf 0.3.0 : nouvelle version du framework objet basé sur Node.js
Afin de coder de la même manière aussi bien côté client que serveur

Le , par Gnuum, Membre expérimenté
Danf 0.3.0 : nouvelle version du framework objet basé sur Node.js
afin de coder de la même manière aussi bien côté client que serveur


Danf est un framework open source de développement d'applications web pour node.js. Il a été initié par un codeur français et permet de développer de la même manière du côté client et serveur (et même d'utiliser le même code !). Il propose notamment de programmer en orienté objet pour réaliser des architectures complexes grâce à un module d'injection de dépendances inspiré de celui de Symfony2, une couche d'abstraction pour gérer facilement et de manière originale des flux asynchrones (fondée sur la bibliothèque async) ainsi que plein de petites fonctionnalités comme une gestion simplifiée des cookies, des sessions, et bien plus encore afin d'aider à rentrer simplement dans le monde node.js surtout quand on vient de l'univers PHP.

La version 0.3.0 apporte de nombreuses améliorations :

  • un parfait isomorphisme (même façon de coder côté client et côté serveur) ;
  • une gestion améliorée des flux asynchrones ;
  • un débogage facilité ;
  • des performances améliorées ;
  • un générateur Yeoman pour initier une nouvelle application fonctionnelle en moins de 5 minutes ;
  • une minification du code JavaScript côté client en environnement de prod ;
  • une documentation mise à jour et plus claire.

Documentation de la version 0.3.0

Source : Github Danf

Et vous ?

Que pensez-vous de Danf ?

L'avez-vous essayé ? Quelles sont vos impressions ?

Voir aussi

Forum JavaScript côté serveur


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse Signaler un problème

Avatar de mattdef mattdef - Membre régulier https://www.developpez.com
le 25/11/2015 à 8:55
Ca me semble beaucoup moins avancé qu'un framework comme Meteor tout en ne proposant rien de nouveau par rapport à celui-ci
Avatar de Gnuum Gnuum - Membre expérimenté https://www.developpez.com
le 25/11/2015 à 11:33
Il est toujours possible de comparer 2 frameworks mais faisons le bien:

Meteor
Avantages
  • Grande communauté
  • Framework éprouvé
  • Parfait pour certains types de sites nécessitant une très forte communication entre le serveur et le client (et entre les clients eux-mêmes)

Inconvénients
  • Difficulté de gestion du bookmarking et du deep linking (SEO)
  • Pas d'aide pour architecturer une application complexe
  • Pas de liberté d'utiliser la base de données que l'on souhaite (mongodb n'est pas une solution universelle à tous les cas)

Danf
Avantages
  • Aide à réaliser des architectures complexes avec des concepts éprouvés en OOP
  • Aide à gérer des flux asynchrones de manière plus intuitive
  • Possibilité de raisonner de la même manière du côté serveur et du côté client (même architecture)
  • Architecture ouverte et système d'utilisation d'autres danf modules très simple permettant de partager ses codes

Inconvénients
  • Communauté naissante
  • Framework peu éprouvé
  • Pas/peu connu des recruteurs et des autres développeurs (pour le moment du moins)

En résumé, je pense qu'un framework, tout comme une base de données d'ailleurs, s'adapte à une certaine utilisation. Meteor est parfait pour faire une application où les modifications d'un utilisateur doivent impacter en "quasi temps réel" les autres utilisateurs. Danf est plus un framework agnostique qui propose de créer son application web sans trop connaître le type de fonctionnement de celui-ci. Si tu veux utiliser une base elasticsearch pour faire du fulltext efficace, un redis pour sortir des résultats d'un dictionnaire rapidement, un mysql car tu as besoin d'une forte atomicité, c'est à toi de voir. Danf ne te proposera pas (pour le moment), par défaut, un outil de manipulation de ces bases de données (il est cependant possible que quelqu'un ait développé et partagé un module pour y aider) mais il te permettra de facilement les intégrer à ton architecture globale et de gérer un parcours de chargement (en parallèle ou en série) et d'utilisation de tes données qui, je le rappelle, sont chargées en asynchrone dans Node.js.

Je ne suis pas là pour dire lequel est le meilleur pour telle ou telle personne mais je pense qu'un peu de diversité ne fait pas forcément de mal. J'ai créé Danf pour répondre à mon propre besoin quand je suis arrivé dans la communauté Node.js il y a un peu plus de 2 ans mais Node.js est encore dans sa phase de recherche (des techno sont créées tout autour chaque jour) et je ne pense pas que l'on puisse dire quelles technologies seront leaders d'ici quelques années. Meteor en sera certainement car il répond parfaitement à un besoin particulier mais il ne sera pas seul.

Pour information, il y a environ 1000 heures de dev sur le framework actuellement tout de même.
Avatar de mattdef mattdef - Membre régulier https://www.developpez.com
le 25/11/2015 à 14:05
Citation Envoyé par Gnuum  Voir le message
Il est toujours possible de comparer 2 frameworks mais faisons le bien[/I]

Sans vouloir te manquer de respect, ta comparaison est justement mal faite.
Je connais assez bien Meteor et il n'y a aucun problème pour architecturer une application complexe. D'ailleurs il y a même une aide officielle la dessus.
Pour la base de données, effectivement pour l'instant il n'est pas possible de faire sans MongoDB mais on peut aussi utiliser MySQL.
Meteor est lui aussi très modulable.
Pour finir, le même raisonnement client/serveur est une des principales caractéristiques de Meteor, bien avant Danf...
Avatar de Gnuum Gnuum - Membre expérimenté https://www.developpez.com
le 25/11/2015 à 14:33
Je suis désolé, c'est vrai que mon post n'étais pas clair à 100% car certains des éléments que j'ai renseignés n'étaient pas des comparatifs.
J'aurais certainement dû remplacer Avantages/Inconvénients par Forces/Faiblesses.

En ce qui concerne le lien dont tu parles, pourrais-tu me le fournir s'il te plait. Ca m'intéresserait assez de le lire.

Au passage, ce n'est bien sûr pas moi qui est downvoté ta 1ère réponse. Je t'en remercie au contraire car, même si elle n'était pas trop argumentée (raison du down j'imagine), cela m'a permis d'expliquer comment je pensais que Danf se situait par rapport à Météor qui reste le leader dans le milieu actuellement. Je pense que ça peut être intéressant pour les gens qui voudrait participer à son développement par la suite notamment. Après, cela reste mon avis personnel et on peut tout à fait ne pas être d'accord et même en débattre!

Et merci également de m'avoir fait part de ta première impression. C'est toujours intéressant pour moi.

 
Contacter le responsable de la rubrique Libres & Open Source