Étape 3: Sinatra prend la scène !
Il y a plusieurs façons de créer des sites web et services web. De langues avec web-à l’appui de programmation bibliothèques, aux cadres de complet, il peut être confus et difficile de choisir un pour ce travail.
J’ai utilisé et joué avec un bon nombre de technologies d’application web et de trouver que Sinatra est idéal pour la création de services web et petits sites web. En particulier, quand j’ai créer un service web pour soutenir un gadget Arduino, Sinatra est un très bon choix.
Ce qui est de Sinatra, et pourquoi est-ce un bon choix ? Je suis heureux que vous posiez !
Sinatra est un langage pour le développement rapide d’applications web. Il est construit sur le dessus de Ruby, un langage de script généraliste très populaire et très expressif. Vous pouvez entendre Sinatra étant appelé un « DSL », un Domain Specific Language. Le domaine ici est le Web. Les mots clés (mots) et la syntaxe créé pour Sinatra est telle qu’il le rend facile et rapide des personnes pour créer des applications web.
Au moment où ce que l'on appelle « opiniâtres » cadres pour le développement d’application web tels que Ruby on Rails et Django sont super populaires, Sinatra saisit l’extrémité opposée du spectre. Alors que Ruby on Rails et Django exigent le programmeur à suivre une convention spécifique et la façon de faire les choses (ce qui, à son tour, implique une courbe d’apprentissage abrupte et longue), Sinatra ne fait aucuns ces exigences.
Sinatra est théoriquement beaucoup plus simple que les Rails et les Djangos du monde. Vous pouvez obtenir en cours d’exécution avec une application web qui peut interagir avec votre Arduino dans les minutes.
Je vais démontrer par un exemple. Voici à quoi ressemble une appli web minimal de Sinatra (il suffit de lire ce qui suit pour l’instant, n’en fait cela sur votre ordinateur parce que vous n’avez probablement pas l’installation de composants requis pour cela encore) :
Dans un seul fichier, nous allons l’appeler my_app.rb, ajouter ce texte :
nécessite « sinatra »
Téléchargez « / » do
« Hello, world! »
fin
Sur la ligne de commande, démarrez l’application comme suit :
my_app.rb rubis
Votre application va commencer, et vous verrez ce texte dans la console :
Peter ruby my_app.rb
Puma 2.8.1 à partir...
* Fils de min: 0, discussions max : 16
* Environnement : développement
* L’écoute sur tcp://localhost:4567
== Sinatra/1.4.4 a pris la scène 4567 pour le développement avec sauvegarde de Puma
L’app est maintenant prêt à recevoir un client requêtes. Ouvrez un navigateur, qu’il pointe vers http://localhost:4567, et c’est ce que vous verrez (voir ci-joint la capture d’écran).
C’est quatre lignes simples de code dans un fichier unique. En revanche, Rails, il auraient fallu plus d’une centaine de dossiers, généré simplement pour satisfaire aux exigences du cadre. Ne vous méprenez pas, j’adore les Rails, mais vraiment?...
Ainsi, Sinatra est simple et rapide à exécuter. Je vais supposer que vous ne savez rien sur Ruby, Sinatra et déploiement d’applications dans le nuage, donc dans la section suivante, je vais vous prendre étape par étape de zéro au déploiement de votre service web de Arduino vers le nuage.