| Blockly | |
| Date de première version | 2012 |
|---|---|
| Auteur | |
| Développeur | Neil Fraser |
| Dernière version | 13.4.0 () |
| Écrit en | JavaScript |
| Système d'exploitation | Windows, MacOS, Linux, Android, iOS |
| Licence | Licence Apache |
| Site web | https://developers.google.com/blockly/ |
| modifier |
|
Blockly est une bibliothèque logicielle JavaScript permettant de créer des environnements de développement utilisant un langage graphique. C'est un projet open source de Google, publié sous la licence Apache 2.0. Présenté à la Maker Faire 2012, il vise à démocratiser le développement web.
Concrètement, il s'agit d'assembler des blocs dans un éditeur visuel directement sur une page web. Le code généré est exempt d'erreurs de syntaxe et peut être exporté en JavaScript, Python, PHP, Dart ou Lua.
En 2025, Google la donne à la Raspberry Pi fondation.
L'interface utilisateur de Blockly est composée de deux éléments : une boîte à outils et un espace de travail. La boîte à outils contient tous les blocs disponibles pour créer le programme, ces blocs sont présentés seuls ou en catégories. Les blocs de la boîte à outils peuvent être déplacés (par "glisser-déposer") au sein de l'espace de travail afin de créer un programme.
Les blocs sont définis par le créateur de l'interface et peuvent être assemblés selon des règles prédéfinies de placement vis-à-vis des autres blocs.
Il existe de nombreux blocs prédéfinis qui ont l'avantage d'être traduits en JavaScript, Python, PHP, Lua, Dart. Ils sont regroupés en différentes catégories :
En plus des blocs fournis dans la bibliothèque standard de Blockly, des blocs peuvent être créés pour adapter Blockly à un contexte particulier. Blockly fournit un outil appelé Blockly Developer Tools pour créer de nouveaux blocs.
Chaque bloc a une forme prédéfinie qui permet de limiter son usage à certaines situations, cette forme est définie par les connexions avec d'autres blocs, ces connexions pouvant être externes (les blocs précédents et suivants) mais également internes (arguments, blocs internes, ...).
La définition d'un bloc doit être stockée soit sous format JSON soit en code JavaScript pour être ajoutée à la boîte à outils. La définition visuelle d'un bloc doit être accompagnée de sa traduction dans un langage (ou plusieurs), de manière à pouvoir traduire l'intégralité des blocs formant un programme dans un langage de programmation existant, en évitant toute erreur de syntaxe.
Blockly est utilisé dans un grand nombre de projets :
De nombreux projets utilisent Blockly pour développer leurs applications , par exemple :