BlocklyDuino2 : quelle structure ?

Démarré par SebCanet, juillet 02, 2020, 06:24:39 pm

« précédent - suivant »

SebCanet

Bonjour,
je travaille sur le fond surtout afin de ne plus y toucher par la suite, mais je me pose des questions sur la structure la plus simple possible à comprendre (donc modifier) pour un débutant qui veut faire ses propres blocs. Une proposition était :
/monbloc/generator.js
/monbloc/definition.js
/monbloc/typing.js
/monbloc/image.png

Avec les nouveautés (dont les thèmes), je pensais à quelque chose comme :
/monbloc/monbloc_block.js
/monbloc/monbloc_cpp.js
/monbloc/monbloc_py.js
/monbloc/monbloc_types.js
/monbloc/monbloc_themes.js
/monbloc/monbloc.png

Voire même rajouter les langues :c


Pour respecter la logique de Blockly, on aurait plutôt quelque chose comme ça :
/monbloc/monbloc_block.js
/monbloc/monbloc_types.js
/monbloc/monbloc.png
/generator/arduino/monbloc_cpp.js
/generator/python/monbloc_py.js
/themes/monbloc_themes.js
/msg/monbloc_ar.js
/msg/monbloc_ca.js
/msg/monbloc_en.js
/msg/monbloc_es.js
/msg/monbloc_de.js
/msg/monbloc_fr.js
/msg/monbloc_ja.js

Au moins dans le premier cas tout est au même endroit et c'est plus facile pour partir d'un squelette existant. Dans le 2ème c'est un peu ce que j'ai essayé de faire dans Blockly@rduino pour que les débutants puissent transposer la doc officielle à mon soft.

Ceux qui sont patouillé dans le code qu'en pensez vous ? Merci !

fontaine.jp

Salut Seb,
Pour avoir testé plusieurs solutions, je préfère la première et je suis même allé plus loin en mettant la partie définition et generator dans un seul fichier js, pour la maintenance c'est plus simple.

/monbloc/generator&definition.js
/monbloc/themes.js
/monbloc/typing.js
/monbloc/fr.js
/monbloc/en.js
/monbloc/image.png

Est ce que tu utilises vraiment typing ? Si oui, tu as un exemple à me monter SVP, j'ai l'impression qu'on peut s'en passer ?
Avec les deux autres solutions ça multiplie les dossiers et à la fin on s'y perd.

Je suis en train d'essayer blockly en passant par npm, tu as déjà essayé ? Je n'ai pas trouvé grand chose pour commencer, mais ça a l'air plus facile pour gérer les mises à jour.

à +

SebCanet

J'ai vu ce que tu avais fait pour ta V1.8, beau boulot !
D'ailleurs en Electron dans la console, j'ai un pb de saturation quand tu reçois plein de valeurs rapidement, tu as testé de récupérer tout un tas d'infos depuis un capteur ?

Pour le generator&definition, je le couperais bien en séparant définitions et codes quand même, car ça te fait des fichiers hyper longs. Et pour bosser entre la définition et le code, ça permet de mettre les 2 fichiers côte à côte.

Pour typing, tu parles du fichier "blocks_typing.js" à mettre avec chaque bloc ? D'aussi loin que je me rappelle ça générait des erreurs quand ce n'était pas défini.

Pour npm je n'y suis pas encore, mais il faut que je teste car ils semblent glisser par ça pour proposer des plugins. Perso je ne suis pas fan car il faudra surement recompiler pour faire ses mises à jour soi-même, alors que le HTML pur permet des modifs hyper facilement, enfin on verra bien.

En parlant de compiler, je compte bien proposer des release où tous les js sont rassemblés et compressés, il faut que je trouve une moulinette pour automatiser mais ça allègerait pas mal tout ça !

Merci des remarques.

fontaine.jp

Salut,
Citertu as testé de récupérer tout un tas d'infos depuis un capteur ?
non, mais je vais essayer pour voir
Je vais chercher des réponses à mes questions pour le typing
Pour compresser les js j'utilise (just another script compressor) un utilitaire en ligne de commande https://archive.codeplex.com/?p=jasc
à +

SebCanet

Citation de: fontaine.jp le juillet 04, 2020, 10:42:28 pmJe vais chercher des réponses à mes questions pour le typing
Pour compresser les js j'utilise (just another script compressor) un utilitaire en ligne de commande https://archive.codeplex.com/?p=jasc
Mince y'a pas d'exe compilé ? Mais je me dis que pour les release le top est carrément de fusionner tous les js, et css, dans un seul fichier compressé. Je ne me suis pas penché sur la question, faudra que je regarde des exemples comme le build.py de chez Blockly.

Merci des infos, à+

fontaine.jp

juillet 08, 2020, 01:05:57 pm #5 Dernière édition: juillet 08, 2020, 01:09:33 pm par fontaine.jp Raison : oubli
si ! je l'avais téléchargé il y a un moment, je le mets en pièce jointe
jasc -help
pour avoir plus d'info

SebCanet

Super ! Merci beaucoup.
Tu as du temps pour faire du reverse engineering  ;D ? Je suis en train de faire un Freetzing entièrement en javascript. La notion de câblage est une brique qui pourrait être utile à BlocklyDuino, Kittenblock intègre un truc mais qui n'est pas en lien avec les blocs.

fontaine.jp

c'est marrant je pensais à la même chose ;)
tu as vu ça ?

fontaine.jp


SebCanet

Je suis en contact avec Vittasciences, j'avais vu leur truc d'animation qui est encore très peu mature mais intéressant (essaie le sweep d'un seromoteur).

Pour Electroblocks je me souviens être tombé dessus il y a quelques temps, et j'avais oublié tout ce qu'il avait implémenté...un sacré boulot ! Par contre, comment ça marche pour créer des composants ??? Intéressant à creuser.

Mon projet c'est ça : https://www.facebook.com/plugins/video.php?href=https%3A%2F%2Fwww.facebook.com%2FASTUCELibrEduc%2Fvideos%2F3602573036426227%2F&show_text=1&width=560