25/12/2015

Hello Sailfish

Filed under: — cybrarian @ 9:27 pm

De programmeeromgeving voor Sailfish is geïnstalleerd. De eerste test is typisch “hello world”.

Start de programmeeromgeving (SailfishOS IDE in Qt Creator). Je krijgt een “welcome”-scherm met links “Nieuw project” en rechts “Open Project” (hier komen vanaf de volgende keer Recent gebruikte projecten te staan).
Kies voor SailfishOS mode, links in de lijst met iconen.
Melding: The MerSDK VM is not running. (start the virtual machine levert een foutmelding op “The virtual machine is running but not responding”).

Menu “File, New File or Project”.
Selecteer SailfishOS. “Choose…”
De plaats waar het project bewaard wordt en de naam worden gevraagd (deze mag geen spaties bevatten, maar een streepje – mag wel).
Kit Selection: Er zijn er twee zichtbaar:

  • MerSDK-SailfishOS-armv7hl (staat af): voor de Jolla phone (aan als je deze app inderdaad daar wil draaien)
  • MERSDK-SailfishOS-i486 (staat aan) voor de emulator.

Application Details: Geef samenvatting, versienummer en beschrijving. Bevestig.
Je krijgt een project overzicht, en de mogelijkheid om het als een subproject van een ander project in te stellen, en de mogelijkheid om broncode versie-systeem (version control) te gebruiken (zoals git). Kan je hier overslaan. “Finish”.

Er opent een editor scherm met een aantal stukken tekst vooraf ingezet; een aantal import statements, en een ApplicationWindow stukje met 4 lijnen code.

/* ... */
import QtQuick 2.0
import Sailfish.Silica 1.0
import "pages"

ApplicationWindow
{
initialPage: Component { FirstPage { } }
cover: Qt.resolvedUrl("cover/CoverPage.qml")
allowedOrientations: Orientation.All
_defaultPageOrientations: Orientation.All
}

Onder Open Documents zie je *:

  • CoverPage.qml
  • FirstPage.qml
  • HelloSailfish.qml
  • SecondPage.qml

(* beeld heeft andere projectnaam)
SailfishOS-FirstAppOpenDocuments

Onder Sources/src zie je HelloSailfish.cpp
Die bevat na wat includes de minimale code:
int main(int argc, char *argv[])
{
return SailfishApp::main(argc, argv);
}

Het HelloSailfish.qml bestand bevat een aantal imports en de ApplicationWindows, wat het hoogste niveau is in je app. Hier wordt de eerste pagina (eerste weergegeven scherm) vastgelegd, en ook de “cover” van je app, die getoond wordt als je app niet op vol scherm draait.

Problemen, foutmeldingen

Er is nog niet zoveel over Sailfish verschenen, maar een waardevolle bron is zeker deze pdf: https://github.com/hardcodes/developwithsailfishos. Geeft uitleg voor installatie van de programmeeromgeving op verschillende platformen (Linux, Mac, ..). Maar kijk zeker ook even door naar Know your tools, vanaf blz 42; daar vind je soms uitleg die kan helpen problemen op te lossen.

Enkele foutmeldingen:
Geen verbinding – key refused
Keys terug opgebouwd of ververst, virtual machine herstarten.
Geen groene “run” knop
Na Debug/Deploy – copy binaries – werkte de RUN knop wel.

Reacties zijn gesloten.

Powered by WordPress