PROJET AUTOBLOG


Sam & Max: Python, Django, Git et du cul

Site original : Sam & Max: Python, Django, Git et du cul

⇐ retour index

Mise à jour

Mise à jour de la base de données, veuillez patienter...

Présentation de RapydScript

lundi 23 décembre 2013 à 09:12

Ceci est un post invité de Salvatore posté sous licence creative common 3.0 unported.

Javascript est devenu le langage incontournable du Web. C’est un langage suprenant, avec lequel, entre des mains expertes, il est possible de réaliser des choses impressionnantes.
Néanmoins, pour des tas de raisons, il s’avère encore compliqué de créer et maintenir des projets d’envergure. De plus, de nombreux développeurs sont allergiques aux bizareries de Javascript.

Il existe depuis longtemps des solutions permettant d’éviter de programmer directement en Javascript.Le site http://altjs.org/ référence de nombreuses solutions dans ce sens.

Bien entendu, je me suis intéressé aux solutions ‘Python to Javascript’. Parmi ces projets, trois, selon moi, sortent du lot : Brython, Skulpt et RapydScript.
Le but de Brython et Skulpt et de s’affranchir totalement de Javascript.
Brython pousse le concept très loin, il permet d’utilier la balise <script lang=”python”></script> directement dans une page web. Il s’agit vraiment d’un formidable projet.

Si Brython et Skulpt sont si bien, pourquoi mettre en avant RapydScript ?
En fait, la particularité RapydScript est qu’il ne tente pas de s’affranchir de Javascript, bien au contraire. La syntaxe est ‘pratiquement’ celle de Python, mais il permet d’introduire du Javascript de façon totalement transparente.

Pour ceux qui ne sont pas dérangés par la langue de Shakespeare voici l’adresse du site officiel: https://bitbucket.org/pyjeon/rapydscript

J’ai mis en ligne un page contenant quelques applications réalisées avec RapydScript : http://salvatore.pythonanywhere.com/RapydScript

Voici encore un autre exemple, qui montre la facilité avec laquelle
on peut intégrer les librairies Javascript ici ‘canvas.js’:
http://salvatore.pythonanywhere.com/RapydBox (à voir avec Firefox ou Safari)

Le code Javascript produit est très lisible comme le montrent les exemples suivants:

def sumList(L):
    if len(L) == 0:
        return 0
    else:
        head, tail = L[0],L[1:]
        return head + sumList(tail)
 
def factorial(n):
    if n == 0:
        return 1
    return n * factorial(n-1)

Une fois compilé voici le code Javascsript produit:

function sumList(L) {
    var head, tail;
    if (len(L) == 0) {
        return 0;
    } else {
        _$rapyd$_Unpack = [L[0], L.slice(1)];
        head = _$rapyd$_Unpack[0];
        tail = _$rapyd$_Unpack[1];
        return head + sumList(tail);
    }
}
 
function factorial(n) {
    if (n == 0) {
        return 1;
    }
    return n * factorial(n - 1);
}

RapydScript n’est pas un gadget, on peut l’utiliser pour développer de
véritables projets.

Et pour terminer, vous pouvez utiliser node-webkit pour packager et diffuser vos programmes.

A vous de jouer…

flattr this!

Error happened! 0 - count(): Argument #1 ($value) must be of type Countable|array, null given In: /var/www/ecirtam.net/autoblogs/autoblogs/autoblog.php:428 http://ecirtam.net/autoblogs/autoblogs/sametmaxcom_a844ada43a979e3b1395ab9acb6afafb84340999/?Pr%C3%A9sentation-de-RapydScript #0 /var/www/ecirtam.net/autoblogs/autoblogs/autoblog.php(999): VroumVroum_Blog->update() #1 /var/www/ecirtam.net/autoblogs/autoblogs/sametmaxcom_a844ada43a979e3b1395ab9acb6afafb84340999/index.php(1): require_once('...') #2 {main}