Naar hoofdinhoud gaan

Een Studio-app maken

Doel​

Een Studio-app maken — een applicatie die je tekent, in plaats van een die is opgebouwd uit de velden van een tabel.

Van begin tot eind

Is dit je eerste, dan loopt Je eerste Studio-app bouwen de hele weg met je door — een tabel, een scherm, een lijst die daaruit komt, een werkbalk en een zijpaneel dat een record terugschrijft — in ongeveer veertig minuten.

Wat een Studio-app is​

Het platform heeft drie dingen die je tekent, en dat zijn niet dezelfde dingen.

  • Een rapport is papier. Het heeft pagina's, het wordt elke keer op dezelfde manier afgedrukt, en wat het oplevert, is een afbeelding van een document.
  • Een dashboard is getallen. Je tekent de panelen en geeft aan waar elke widget komt, en het platform vult die plekken met zijn eigen live grafieken en rasters.
  • Een scherm is de applicatie zelf. Alles wat je tekent, wordt een echt onderdeel van de pagina — de tekst kan worden geselecteerd, de vakken zijn echte vakken, en later krijgen de invoervelden een cursor en doen de knoppen iets.

Je grijpt dus naar een scherm als je geen formulier op één tabel wilt en geen pagina met getallen, maar een stuk van de applicatie, opgemaakt zoals jij het wilt.

Een app draait — op twee manieren

Wat je tekent, draait echt, en je kunt het op twee manieren bereiken. Het verschijnt op zichzelf in de applijst van de shell, naast je modelgestuurde apps, met niets eromheen dan de eigen bovenste balk van het platform — zie Een Studio-app zelfstandig uitvoeren. En het kan in de navigatie van een modelgestuurde app worden geplaatst; zo staat een ontworpen startpagina boven een lijst met records — zie Een Studio-app openen vanuit een modelgestuurde app.

Vereisten​

  • Je bent aangemeld als maker, met een omgeving en een oplossing geselecteerd.

Stappen​

  1. Open je oplossing en kies Schermen.
  2. Druk op Nieuw.
  3. Typ een weergavenaam — wat je in deze lijst ziet. De logische naam vult zichzelf in terwijl je typt; hij krijgt het voorvoegsel van je uitgever.
  4. Beschrijf eventueel waar het scherm voor is. Dat leest iemand anders wanneer die beslist of dit het scherm is dat hij zoekt.
  5. Kies wat deze app is — zie de drie soorten hieronder. Laat het op Applicatie staan, tenzij je een pagina van een modelgestuurde app of een portal tekent.
  6. Kies eventueel een pictogram. Dat is de afbeelding op de tegel van deze app in de applijst, uit dezelfde set waar elk pictogram in het platform vandaan komt. Laat je het leeg, dan toont de tegel een venster, zoals een getekende app er overal elders uitziet — maar een rij tegels die allemaal hetzelfde venster tonen, is een rij waarin niets te vinden is, dus het is tien seconden waard.
  7. Druk op Opslaan.
  8. Druk, met het scherm geselecteerd, op Ontwerpen om het canvas te openen — zie Een Studio-app tekenen.

De drie soorten app​

Elke app zegt waar hij voor is, en dat bepaalt waar hij kan worden gebruikt. Het is het eerste om goed te krijgen, want de andere twee instellingen hangen ervan af.

Wat het isWaar het verschijnt
ApplicatieIets wat mensen openen. De standaard.De applijst — en het kan ook een pagina binnen een modelgestuurde app zijn
Pagina van een appEen scherm dat binnen een modelgestuurde app hoortDe navigatie van die app, en nergens anders. Het krijgt geen eigen tegel
PortalEen scherm dat op een webadres wordt gepubliceerd voor mensen die niet zijn aangemeldHet adres van de portal, en nergens anders

Een portal is de enige die echt nergens anders kan draaien, en daarom wordt die keuze geweigerd in plaats van alleen afgeraden. Een portalscherm leest zijn gegevens via aangepaste API's (api:…) — zo leest een portal — en dat staat de Platformshell bewust niet toe; een portaltekening die in een modelgestuurde app wordt geplaatst, zou dus een pagina zijn die elke keer faalt als iemand hem opent. Kies Portal en de app wordt niet meer aangeboden aan modelgestuurde apps maar wel op de pagina Portals; kies iets anders en een portal publiceert hem niet.

De soort van een app later wijzigen mag, en het wordt gecontroleerd tegen wat er al naar verwijst: je kunt de eigen tekening van een portal niet in een gewone app veranderen zolang die portal hem publiceert.

De twee selectievakjes​

Het dialoogvenster Nieuw (en Bewerken) heeft twee vakjes, en hun standaardwaarden wijzen bewust in tegengestelde richting. Ze worden alleen getoond bij een Applicatie: een pagina leeft binnen een modelgestuurde app en een portal antwoordt op zijn eigen adres, dus geen van beide heeft een tegel in de applijst of een platformbalk om te verbergen.

BegintWat het doet
De componenten van deze app delenuitElke andere app in deze omgeving kan de hier getekende componenten plaatsen — zie Een component in een andere app gebruiken
Tonen in de applijstaanMensen die deze omgeving gebruiken, zien deze app in de applijst van de Platformshell

De meeste apps willen geen van beide gewijzigd: een app is iets wat iemand opent, en hij houdt zijn componenten voor zichzelf.

Componenten delen is bewust geen van de soorten: een gewone app kan zijn onderdelen uitlenen aan een andere zonder een bibliotheek te zijn — het voorbeeld Studio — Shared Components bestaat uit twee apps die precies dat doen.

Draai ze allebei om en je hebt een componentenbibliotheek — een app die de onderdelen bevat waaruit je andere apps zijn opgebouwd, en waarvoor niemand die het product gebruikt een tegel zou moeten krijgen. Het voorbeeld Studio — Component Library is precies dat.

Het vinkje bij Tonen in de applijst weghalen verbergt de tegel, niet de app. Hij staat nog steeds hier in het makerportaal — daar ga je heen om hem weer zichtbaar te maken — en alles wat naar een van de schermen linkt, opent hem nog steeds: de navigatie van een modelgestuurde app, een link op een ander scherm, een adres dat iemand heeft bewaard. Wat iemand mag openen, is een kwestie van machtigingen, en dit is die kwestie niet.

Wat je achteraf niet kunt wijzigen​

De logische naam. Alles wat een scherm bereikt, noemt die naam, dus een scherm hernoemen zou al die verwijzingen tegelijk en zonder waarschuwing breken. De weergavenaam en de beschrijving kun je wijzigen wanneer je wilt.

Waar een scherm staat​

Een scherm is een onderdeel van je oplossing, net als een formulier of een weergave. Het heeft dus versies, het reist mee als je de oplossing exporteert en in een andere omgeving importeert, en het wordt weer verwijderd als de beheerde oplossing die het meebracht, wordt verwijderd.

Er is bewust geen export naar een bestand voor één scherm: een scherm dat buiten een oplossing kan worden rondgedragen, is een scherm waarvan niemand de omgeving kan reproduceren.

Problemen oplossen​

  • "…must be lower snake-case and start with the publisher prefix." — de logische naam moet beginnen met het voorvoegsel van je uitgever en kleine letters, cijfers en underscores gebruiken. Typ eerst de weergavenaam en laat de logische naam zichzelf invullen.
  • "A screen named … already exists in this environment." — die naam is al in gebruik. Schermen worden op naam bereikt, dus twee schermen kunnen geen naam delen.
  • Elk scherm zegt "Alleen tekening". — dat is in deze release te verwachten. Zie de opmerking hierboven.

Gerelateerde scenario's​