This is a web mirror of my Gopher log. For the best experience, please visit my gopher site at: gopher://sdf-eu.org/1/users/jelleke/ ------------------------------------------------------------

<-- Home



         Video's van de Ada Devroom van Fosdem 2022
         ==========================================
                         2022-02-09


Afgelopen weekend was er weer Fosdem.  Dit is een  jaarlijks
evenement waarbij allerhande vrije software hackers praatjes
geven over hun favoriete onderwerpen.  Fosdem is heel  groot
en vindt normaal gesproken plaats  op  het  terrein  van  de
Université libre de Bruxelles.  Het  was  in  de  pre-corona
jaren altijd een geweldige samenkomst  van  programmeurs  en
andere open  source  enthousiastelingen  van  over  de  hele
wereld.  Dit jaar was Fosdem volledig virtueel en konden  de
bezoekers zich weer onderdompelen in een keur aan  developer
rooms over uiteenlopende onderwerpen.

Ada had - zoals gebruikelijk - op zondag ook zo'n devroom en
de video's daarvan staan [nu online [1].   Voor  nieuwkomers
kan ik het praatje Introduction to  Ada  for  Beginning  and
Experienced Programmers [2] van Jean-Pierre Rosen  aanraden.

Zelf was ik bijzonder geïnteresseerd in Max Rezniks  praatje
over AdaWebPack.  Zoals ik  eerder  had  geschreven  zou  ik
graag Ada in de webbrowser willen gebruiken,  zodat  ik  kan
ontsnappen aan het juk van JavaScript en AdaWebPack helpt je
daarbij.  AdaWebPack maakt gebruik van GNAT-LLVM om  Ada  te
kunnen compileren naar WebAssembly  (WASM).   Het  afgelopen
jaar ben ik meer over WASM gaan lezen en ik begin  het  idee
te  krijgen  dat  deze  aanpak  de   toekomst   heeft.    De
performance is bijzonder goed en de specificatie is ook  nog
eens helder en vrij bondig.  Naast de mogelijkheden voor het
web denk ik dat het de potentie heeft  om  ook  JVM  van  de
troon te stoten als het gaat om  gemakkelijk  cross-platform
ontwikkelen.

Reznik legt in zijn praatje uit hoe  AdaWebPack  werkt.   Ze
konden de GNAT runtime niet  gebruiken,  aangezien  die  uit
gaat van een POSIX-omgeving.  Dit werkt niet  in  WASM,  dus
daarom hebben ze  gekozen  om  een  Bare  Board  Runtime  te
gebruiken.   De  implicaties  hiervan  zijn  dat   er   geen
ondersteuning is voor lokale exceptions, nested subprograms,
tasks en projected objects.  Dat is iets waar ik wel mee kan
leven en het is ook wel prettig dat je WASM binary  niet  de
grote GNAT runtime hoeft mee te torsen.

Naast  de  runtime  biedt  AdaWebPack  ook   packages   voor
aanvullende WASM api's, waaronder bindings voor de Web  API.
Dit is erg nuttig, want je  kunt  dan  DOM-manipulatie  doen
vanuit Ada.  Je kunt elementen in het webdocument  opzoeken,
aanpassen en er ook event listeners aanhangen zodat je  kunt
reageren  op  muiskliks,  toetsenbordinput..etc.   Voor   de
interoperabiliteit  met  JavaScript   is   er   de   package
WASM.Objects.   Naast  al  dit  handigs  zijn  er  ook   nog
koppelingen voor WebGL, websockets en voor  XMLHttpRequests.

Reznik beschrijft ook nog  een  paar  afgeleide  werken  die
gebruik maken van de functionaliteit van AdaWebPack.  Zo  is
er het project AdaGL [3]dat bindings biedt voor zowel OpenGL
als WebGL, ergo: je kunt in 1 klap een applicatie bouwen die
zowel werkt in een webbrowser als op een desktop.   Dit  kan
erg leuk zijn voor game development.

De komende dagen ga ik nog wat andere video's  bekijken  van
Fosdem. Ik ben erg benieuwd naar het praatje van Stefan Hild
getiteld: [Ada  Looks  Good,  Now  Program  a  Game  Without
Knowing Anything [4].  Dat klinkt  als  een  geweldig  plan!


Hyperlinks:
[1]: https://fosdem.org/2022/schedule/track/ada/
[2]: https://fosdem.org/2022/schedule/event/ada_introduction_beginning_experienced/
[3]: https://github.com/godunko/adagl
[4]: https://fosdem.org/2022/schedule/event/ada_looks_good_game/


-----------------------------------------------------------
                   Tags: Ada, Nederlands