mardi 28 décembre 2010

Discovering Sinatra : episode 1 - what is Sinatra ? -



Sinatra est un framework web. Bref, c'est une bibliothèque qui vous permet d'écrire des applications web avec un minimum de formalités administratives. Vous n'avez plus qu'à charger Sinatra, et commencer à coder la logique applicative. Mais cela semble terriblement familier, n'est-il pas? Il ya beaucoup d'autres frameworks diront certains (en particulier dans la communauté Ruby), alors qu'est ce qui rend si différent Sinatra ?

Au lieu de parler de ce que Sinatra est, parlons de ce qu'il n'est pas. Voici donc quelques-unes des "choses" que Sinatra n'est pas.

-> Big - Sinatra est minuscule. Vraiment minuscule. Environ 1500 lignes de code soit environ 1% de la taille de Rails.

-> La solution absolue à vos problèmes - Sinatra ne résout pas vos problèmes en claquant vos doigts. Il ne fait rien que rails ou d'autres frameworks ne peuvent faire. C'est juste un framework web.

-> L'outil idéal pour tous les emplois - d'autres frameworks peuvent être meilleurs que Sinatra pour certains types d'applications. Les "gros" projets sont plus abordables avec des frameworks tels que Rails ou Merb. Sinatra est adapté pour des projets à petite et moyenne échelles.

En termes simples, Sintra est un framework web minimal et élégant. Il n'inclut pas plusieurs centaines d'assistants(helpers), ou une bibliothèque ORM (comme ActiveRecord, DataMapper ou Sequel), ou moteur de templating (Haml, Mustache, etc).
Sinatra est fier de sa petite taille :), et cela se reflète dans vos applications.
Les applications Sinatra sont souvent écrites dans un seul fichier quelque soient leurs tailles.

Alors pour quels types d'applications pouvons-nous utiliser Sinatra? De petites applications web, par exemple. Rails est tout simplement trop grand pour sortir de sa propre voie, parfois vous n'avez pas besoin de tout ce qu'il embarque. Un "petit" framework est souvent un bon choix pour une petite(ou moyenne) application. Une autre grande utilisation de Sinatra: les web services. Sa simplicité, son "indépendance" et sa philosophie font de Sinatra un outil idéal pour écrire des API et web services.

Une dernière chose à dire, Sinatra c'est juste du code Ruby. Oui, il s'agit d'un DSL (Domaine Specific Language), mais ça reste du Ruby.
Vous pouvez utiliser toutes les GEM Ruby que vous voulez, et c'est facile.
Vous voulez réaliser une "backed end application" (une application utilisant une base de données) pas de soucis Utiliser un ORM(DataMapper, ActiveRecord ou n'importe quel autre ORM) pour vos modéles.
Vous voulez à la sortie du XML? Très facile, juste utiliser "Builder" (par exemple) et allez-y. Il n'y a rien qui se met entre vous et votre code.

5 commentaires: