TinyGo,
Petit mais costaud 💪 🐮 Aurélie Vache - @aurelievache | 🐼 Thierry Chantier - @TitiMoby
Slide 2
Aurélie Vache @aurelievache
DevRel chez Organisatrice de conférences Rédactrice d’articles & de livres tech Sketchnoteuse
… & ❤ Retrogaming https://www.youtube.com/AurelieVache https://dev.to/aurelievache/
Les Productions de MOA
La petite histoire 🐮 - Expérimentations TinyGo
@conejo
Slide 10
La petite histoire 🐮 - série d’Article sur Go
Slide 11
🐮
TinyGo
Slide 12
🐮
TinyGo Go compiler for “small places”: - Microcontrollers - Web Assembly
https://tinygo.org/docs/reference/microcontrollers/
Slide 13
🐮
TinyGo 7/06/2018 : Le tout premier commit grâce à Ayke, TinyGo est né ! 🎉
Slide 14
🐮
TinyGo 01/02/2019 : Première release v0.1. 03/02/2019 : Au FOSDEM TinyGo est mis en avant & l’évangélisation est alors portée par Ron Evans (@deadprogram).
Slide 15
🐮
TinyGo 02/02/2020 : Toujours très visible au FOSDEM, TinyGo devient un projet sponsorisé officiellement par Google. L’arrivée de WASM en cible de compilation confirme le succès de TinyGo.
Slide 16
🐮
TinyGo
Le projet sur GitHub a dépassé les 14K ⭐
Slide 17
🐼
Go vs TinyGo
vs
Slide 18
🐼
Go vs TinyGo
go build -o hello-go main.go 1,9M hello-go
|
tinygo build -o hello-tinygo main.go 33K hello-tinygo
🐼
Microbit ● ● ●
Création en 2016 à l’initiative du gouvernement UK Simple mais complète Programmable par bloc, Python…
https://microbit.org/
Slide 23
🐼
GopherBadge ● ● ● ● ● ● ● ● ●
Création en 2023 par Daniel “@conejo” Esteban Pensé pour promouvoir TinyGo Basé sur un Raspberry Pi RP2040 1 LED bleue 2 LEDs RGB Neopixel Accéléromètre LIS3DHTR Ecran 320x240 IPS TFT 6 boutons buzzer
https://gopherbadge.com/
Slide 24
🐮
Game Boy Advance
Slide 25
🐮
Game Boy Advance ● ● ●
●
Ecran 240x160px 32 768 couleur (15-bit) Un pad multidirectionnel, boutons “A”, “B”, “L”, “R”, “START” & “SELECT” Core ARM7TDMI 32 bits avec mémoire intégrée
Slide 26
🐮
Game Boy Advance > demo
Slide 27
🐮
Game Boy Advance > demo 2,7K 3 jan 18:42 06-Eyes/eyes.gba
https://github.com/titimoby/tinygo-examples/tree/main/gba/06-Eyes
Slide 28
🐮
Game Boy Advance > demo
Slide 29
🐮
Game Boy Advance > demo 33K 4 jan 13:50 03-Gopher/gopher.gba
https://github.com/titimoby/tinygo-examples/tree/main/gba/03-Gopher
Slide 30
🐮
Game Boy Advance > demo
Slide 31
🐮
Game Boy Advance > demo 14K 3 jan 20:55 08-LetsDraw/telecran.gba
https://github.com/titimoby/tinygo-examples/tree/main/gba/08-LetsDraw
Slide 32
🐮
Game Boy Advance Commande :
Emulateur : https://mgba.io/
Slide 33
🐮
Outils pratiques
Slide 34
🐮
TinyDraw Permet de dessiner des figures géométriques (basé sur la librairie Adafruit GFX).
https://github.com/tinygo-org/tinydraw
Slide 35
🐮
TinyFont Permet d‘afficher du texte/d’utiliser des “fonts” (basé sur la librairie Adafruit GFX).
https://github.com/tinygo-org/tinyfont
Slide 36
🐮
TinyFont > 2ttf playground Permet de tester des fonts avant de les utiliser.
http://2ttf.com/typetest.php?id=HCQ3PvcaQ4U
Slide 37
🐮
TinyGBA Librairie pour TinyGo permettant de développer pour la Game Boy Advance. < Without tinygba
With tinygba >
https://github.com/tinygo-org/tinygba
��
TinyGo, un monde parfait ? Débuter est un peu difficile : - Documentation en progrès mais pas encore parfaite
Slide 43
��
TinyGo, un monde parfait ? Débuter est un peu difficile : - Documentation en progrès mais pas encore parfaite - Des exemples … pas forcément mis à jour et clairs
Slide 44
��
TinyGo, un monde parfait ? Débuter est un peu difficile : - Documentation en progrès mais pas encore parfaite - Des exemples … pas forcément mis à jour et clairs - Mais, des progrès ont été fait grâce à Gopher Badge et @conejo 💪
https://github.com/conejoninja/gopherbadge/tree/main/tutorial/basics
Slide 45
��
TinyGo, un monde parfait ? Débuter est un peu difficile : - Certains drivers sont encore en version “expérimentales” donc soumis à changements (GBA…)
Slide 46
��
TinyGo, un monde parfait ? Débuter est un peu difficile : - Certains drivers sont encore en version “expérimentales” donc soumis à changements (GBA…) - Certaines fonctionnalités sont commencées mais pas terminées
Slide 47
��
TinyGo, un monde parfait ? Pourquoi c’est tellement cool de se lancer : - Apprendre un nouveau langage
Slide 48
�� 🐮
TinyGo, un monde parfait ? Pourquoi c’est tellement cool de se lancer : - Apprendre un nouveau langage - Bricoler et s’amuser avec de l’ électronique
Slide 49
��
TinyGo, un monde parfait ? Pourquoi c’est tellement cool de se lancer : - Apprendre un nouveau langage - Bricoler et s’amuser avec de l’ électronique - … Faire vivre sa GBA c’est tellement cool !