# Waar kan mijn programma werken? [Programmeergidsen](LEESMIJ.md) Een host is de omgeving die jouw programma uitvoert. Een tekstterminal, browser en desktopvoorbeeld bieden niet allemaal dezelfde mogelijkheden voor tekenen, invoer, geluid en apparaten. ## De platformnamen lezen Een **mogelijkheid**, of *capability*, is iets dat een omgeving kan aanbieden, zoals tekenen of toetsinvoer. **Ondersteuning** betekent dat ze die bewerking echt kan uitvoeren. Een **backend** is het onderdeel dat een programma voor een gekozen doel maakt of uitvoert. **Gereserveerd** betekent dat een doelnaam is vrijgehouden; dat doel is daarmee nog niet beschikbaar. Processornamen zoals ARM64 en AMD64 worden uitgelegd bij [applicaties bouwen](apps-bouwen.md). Go en TypeScript zijn programmeertalen waarmee Pliro is gemaakt. Je kunt Pliro-programma's schrijven zonder die talen te leren. **React Native** benoemt de techniek achter de telefoonpreviewspeler. Een **protocol** is een afgesproken vorm om informatie uit te wisselen; **v1** betekent versie 1. De preview kan alleen effecten tonen die zijn protocol en speler begrijpen. ## Technische namen voor Linux-beeld - **X11** en **Wayland** zijn systemen om applicatievensters te tonen. **XWayland** laat een X11-applicatie op een Wayland-bureaublad verschijnen. [Wayland-documentatie](https://wayland.freedesktop.org/docs/book/Xwayland.html). - **DRM/KMS** verwijst naar de *Direct Rendering Manager* en *Kernel Mode Setting* van Linux: voorzieningen voor grafische apparaten en beeldinstellingen. De directe beeldmodus van Pliro gebruikt die om beeld zonder een bureaubladvenstersysteem te tonen. [Linux-beelddocumentatie](https://docs.kernel.org/gpu/drm-kms.html). - **evdev** is een Linux-interface voor invoergebeurtenissen. **Relatieve invoer** meldt een verandering, zoals vijf eenheden naar links bewegen. **Absolute invoer** meldt een positie, zoals waar een scherm is aangeraakt. **Multitouch** betekent meerdere aanrakingen tegelijk volgen; **kalibratie** stemt apparaatposities op het scherm af. De directe muisondersteuning in de tabel betekent niet automatisch touchscreen- of multitouchondersteuning. [Linux-invoerdocumentatie](https://docs.kernel.org/input/event-codes.html). ## Tabel met uitvoeromgevingen | Host of doel | Huidige mogelijkheden | |---|---| | Go-referentie-interpreter | Alle canonieke functies; beeld, schildpad, media, sprites en GPIO leveren gestructureerde gebeurtenissen. De host bepaalt zichtbaar of fysiek effect. | | [CLI](../begrippen/opdrachtregel.md) `pliro run` | Console-uitvoer en vragen; tekent geen beeld, schildpad, media of sprites. GPIO is veilig virtueel. | | Desktop-IDE | Console, vragen, toetsen, primaire aanwijzerdruk/loslaten/klik, 2D/3D, schildpad, projectafbeeldingen, geluid, sprites en virtuele GPIO-inspectie. | | TypeScript-browserruntime | Alle canonieke bewerkingen en bijbehorende gebeurtenissen; de gekozen host kan minder media- of hardware-effecten aanbieden. | | Browserplayground | Console, vragen, toetsen, primaire aanwijzergebeurtenissen, schildpad en 2D/3D; nog geen projectmedia, behouden sprites of GPIO-effecten. | | React Native-previewspeler | Console, vragen, primaire aanwijzergebeurtenissen, schildpad en eenvoudige 2D; nog geen projectmedia, sprites of GPIO. Telefoonpreview met protocol v1 ondersteunt geen 3D en verwijst zichtbaar naar de [IDE](../begrippen/ontwikkelomgeving.md) of een native export. | | Native console | Basisfuncties, afsluiten, lijstherhaling, toeval, wachten en de vier vraagfuncties. | | Native grafische hostmodus | Momenteel op Windows; voegt toetsen, primaire aanwijzergebeurtenissen, 2D/3D, lettertypen, schildpad, verpakte afbeeldingen en sprites toe. | | Expliciet Linux AMD64/ARM64 | Grafische mogelijkheden en primaire muisdruk/loslaten/klik via X11/XWayland of direct DRM/KMS met relatieve evdev-muizen; geen GPIO. | | Native Raspberry Pi ARM64/ARMv7 | Linux-beeld en muisgebeurtenissen plus fysieke GPIO; GPIO werkt ook in consolemodus en blijft beperkt tot expliciete Pi-doelen. | | Experimenteel Linux RISC-V 64 | Alleen console; grafische programma's krijgen een doeldiagnose. | | Android ARM64 | De CLI-doelnaam is gereserveerd; nog geen beschikbare native backend. | Linux-muisondersteuning via direct display omvat relatieve muizen, geen absolute touchscreens, penkalibratie of multitouch. Niet-ondersteunde native mogelijkheden geven een bouwdiagnose. `speelGeluid` is nog niet beschikbaar voor native exports. ## Gerelateerde lemma’s [Syntaxis en waarden](../syntaxis/LEESMIJ.md) · [Ingebouwde functies](../ingebouwde-functies/LEESMIJ.md) · [Programmeergidsen](LEESMIJ.md)