Une nouvelle vidéo en ligne sur les deux usages d'Express pour node.js
Express peut etre utilisé selon deux modes. Cette vidéo detaille l'installation et le création d'application Express.
La connaissance de Sinatra aide à comprendre le fonctionnement d'Express
La video aborde le choix du moteur de template entre ejs ou jade .
Python, Ruby, javascript, node.js, cloud ,NoSQL bref que des bonnes choses
Contacter le robot germanlinux: german.eric AT gmail.com
Affichage des articles dont le libellé est sinatra. Afficher tous les articles
Affichage des articles dont le libellé est sinatra. Afficher tous les articles
mardi 24 juillet 2012
vendredi 20 juillet 2012
Express pour Node.je et Sinatra
Express est un framework MVC pour Node.js. C'est donc du javascript (ou du coffeescript).
Express revendique clairement sa filiation avec Sinatra pour Ruby.
Et c'est vrai que l'analogie est frappante :
Coté Sinatra :
Au delà de cette simple comparaison, Sinatra et Express appartiennent bien à la même famille des DSL dans le domaine d'application de la couche WEB.
Sinatra permet offre un langage de manipulation de la couche web middleware. Ruby possède une couche middleware très puissante appelée Rack.
Rack permet de faire le lien entre une requête HTTP entrante (url, méthode et parametre) et des objets Ruby. Il est possible d'agencer à sa guise la pile de traitement d'une requete WEB.
Sinatra offre un langage permettant de travailler directement avec ces couches.
Express tout comme Sinatra permet de manipuler facilement le middleware pour Node.js appelé 'connect.js'.
Express ne fournit pas directement un DSL comme dans Sinatra. Il permet en revanche de réaliser très facilement pour Node.js des applications WEB en mode MVC.
Sinatra fonctionne sous deux modes:
L'application peut être répartie dans plusieurs fichiers. Il est possible d'avoir plusieurs applications pour un seul interpréteur Ruby actif. En revanche on ne pourra pas faire appel directement au DSL, il faudra passer par des méthodes.
Aucun mode n'est meilleur que l'autre. C'est vraiment deux usages différents. Dans les deux cas, le développeur pourra intervenir sur l'agencement de la couche middleware.
Dans les deux modes, il est possible et recommandé d'isoler les vues dans des sous-répertoires.
Express lui aussi propose deux usages.
Comme pour Sinatra, l'application tient dans un fichier et liste les actions à mener pour chaque url.
Ici un exemple en coffeescript.
Un appel à la commande express 'mon_appli' génère une arborescente qui ressemble à celle d'une grosse application Sinatra.
Par défaut Expres utilise le système de template 'jade' mais il est possible de choisir son moteur des template. Pour ma part , j'utilise 'ejs' qui se rapproche beaucoup de 'erb' pour ruby.
Dans les deux modes, le développeur garde la possibilité de modifier la couche middleware.
En conclusion: Sinatra est a réserver pour les petite applications, après il vaut mieux passer à Rails.
Express, lui prend en charge tout l'aspect serveur WEB (cache , session ) qui n'existe pas en l'état dans Nodes.js Express sert souvent de base pour d'autres frameworks.
je prépare une série de vidéos sur le thème d'express, rendez vous sur twitter.
Express revendique clairement sa filiation avec Sinatra pour Ruby.
Et c'est vrai que l'analogie est frappante :
Coté Sinatra :
Au delà de cette simple comparaison, Sinatra et Express appartiennent bien à la même famille des DSL dans le domaine d'application de la couche WEB.
1) Le domaine d'application de Sinatra.
Sinatra permet offre un langage de manipulation de la couche web middleware. Ruby possède une couche middleware très puissante appelée Rack.
Rack permet de faire le lien entre une requête HTTP entrante (url, méthode et parametre) et des objets Ruby. Il est possible d'agencer à sa guise la pile de traitement d'une requete WEB.
Sinatra offre un langage permettant de travailler directement avec ces couches.
2) Le domaine d'application d'Express
Express tout comme Sinatra permet de manipuler facilement le middleware pour Node.js appelé 'connect.js'.
Express ne fournit pas directement un DSL comme dans Sinatra. Il permet en revanche de réaliser très facilement pour Node.js des applications WEB en mode MVC.
3) Les deux modes d'utilisation de Sinatra.
Sinatra fonctionne sous deux modes:
Le mode 'classique'
L'application tient dans un fichier et elle est écrite avec le DSL.Le mode modulaire.
L'application peut être répartie dans plusieurs fichiers. Il est possible d'avoir plusieurs applications pour un seul interpréteur Ruby actif. En revanche on ne pourra pas faire appel directement au DSL, il faudra passer par des méthodes.
Aucun mode n'est meilleur que l'autre. C'est vraiment deux usages différents. Dans les deux cas, le développeur pourra intervenir sur l'agencement de la couche middleware.
Dans les deux modes, il est possible et recommandé d'isoler les vues dans des sous-répertoires.
4) Les deux mode d'utilisation d'Express
Express lui aussi propose deux usages.
Le mode simple
Comme pour Sinatra, l'application tient dans un fichier et liste les actions à mener pour chaque url.
Ici un exemple en coffeescript.
Le mode MVC
Un appel à la commande express 'mon_appli' génère une arborescente qui ressemble à celle d'une grosse application Sinatra.
Dans les deux modes, le développeur garde la possibilité de modifier la couche middleware.
En conclusion: Sinatra est a réserver pour les petite applications, après il vaut mieux passer à Rails.
Express, lui prend en charge tout l'aspect serveur WEB (cache , session ) qui n'existe pas en l'état dans Nodes.js Express sert souvent de base pour d'autres frameworks.
je prépare une série de vidéos sur le thème d'express, rendez vous sur twitter.
mercredi 6 juin 2012
Une série de vidéo sur le dsl #sinatra pour #Ruby
Je viens de terminer une série de webcast (video pour le web) consacrée au framework Sinatra pour Ruby.
Ces vidéos sont un prolongement du site http://apprendre1chosechaquejour.herokuapp.com/ (a1ccj).
Ce site est une application du Cloud Heroku. J'ai voulu montrer pas le biais des vidéos, comment monter un tel site. Aussi après l'installation et la création d'une application sous Sinatra, je lancerai une nouvelle série de vidéo sur la mise en ligne des applications Ruby ou Node.js sur Heroku.
La première vidéo traite de l'installation de Sinatra. L'enregistrement vidéo est fait à partir de recordItnow. Le son est mixé à l'image par Pitivi. Cette vidéo est ici.
Cette vidéo est réalisée avec kazam avec prise de sous en direct. J'ai ajouté des images fixes venant d'une présentation libreoffice. Toutes les images sont disponibles sur Flickr (lien ici) .


La vidéo et le son ont été capturé par kazam.
Réalisée avec des prises courtes toujours avec kazam , puis collage des tronçons avec kino en ajoutant des fondus enchaînés.
Toutes les vidéos sont sous : http://apprendre1chosechaquejour.herokuapp.com/videos
Ces vidéos sont un prolongement du site http://apprendre1chosechaquejour.herokuapp.com/ (a1ccj).
Ce site est une application du Cloud Heroku. J'ai voulu montrer pas le biais des vidéos, comment monter un tel site. Aussi après l'installation et la création d'une application sous Sinatra, je lancerai une nouvelle série de vidéo sur la mise en ligne des applications Ruby ou Node.js sur Heroku.
1) Installation de sinatra (vidéo 1)
La première vidéo traite de l'installation de Sinatra. L'enregistrement vidéo est fait à partir de recordItnow. Le son est mixé à l'image par Pitivi. Cette vidéo est ici.
2) Première application sous sinatra (vidéo 2)
Cette vidéo est réalisée avec kazam avec prise de sous en direct. J'ai ajouté des images fixes venant d'une présentation libreoffice. Toutes les images sont disponibles sur Flickr (lien ici) .
3) Les blocs spéciaux sous sinatra.(vidéo 3)
La vidéo et le son ont été capturé par kazam.
4) Les templates (vidéo 4)
Réalisée avec des prises courtes toujours avec kazam , puis collage des tronçons avec kino en ajoutant des fondus enchaînés.
Toutes les vidéos sont sous : http://apprendre1chosechaquejour.herokuapp.com/videos
lundi 28 mai 2012
Une application #Sinatra ou #node.js sur heroku
Je voulais tester la création d'une application sur un Cloud. C'est fait, et c'est très facile avec le cloud HEROKU. L'opération a duré 5 minutes.
L'application s'appelle : Apprendre une chose chaque jour. A1CCJ). Elle est realisée avec le framework Sinatra pour Ruby
J'ai mis en ligne des vidéos qui sont destinées à détailler la création du site. Chaque nouvelle vidéo donnera lieu à un tweet pour mes abonnés.
Héroku utilise la même architecture une application Sinatra et pour Node.js (la pile CEDAR)
Cedar is a polyglot platform with native support for many of today’s most popular and productive languages and frameworks.
Les opérations à faire sont:
Puis suivre les instructions d'heroku
Les 3 commandes à connaitre sont
Et hop ... l'application est sur le cloud.
La présence dans votre répertoire d'un fichier package.json indique à Heroku que l'application utilisera node.js. Idem pour un fichier Gemfile et ruby
(Des vidéos explicatives seront bientôt sur le site)
C'est vraiment une révolution dans l'hébergement des applications.
L'application s'appelle : Apprendre une chose chaque jour. A1CCJ). Elle est realisée avec le framework Sinatra pour Ruby
J'ai mis en ligne des vidéos qui sont destinées à détailler la création du site. Chaque nouvelle vidéo donnera lieu à un tweet pour mes abonnés.
Héroku utilise la même architecture une application Sinatra et pour Node.js (la pile CEDAR)
Cedar is a polyglot platform with native support for many of today’s most popular and productive languages and frameworks.
Les opérations à faire sont:
- Creer un compte chez heroku
- Telecharger le client heroku
- Avoir une clé publique SSH : le lien ici détaille cette phase pour github
Puis suivre les instructions d'heroku
Les 3 commandes à connaitre sont
- git add .
- git commit -m "un_texte"
- git push heroku master
Et hop ... l'application est sur le cloud.
La présence dans votre répertoire d'un fichier package.json indique à Heroku que l'application utilisera node.js. Idem pour un fichier Gemfile et ruby
(Des vidéos explicatives seront bientôt sur le site)
C'est vraiment une révolution dans l'hébergement des applications.
Inscription à :
Articles (Atom)







