Aktualizováno v únoru 2019

      
 

   Základy programování - prostředí XOJO ...
 
Vývojové prostředí XOJO

XOJO je profesionální vývojové prostředí. Studium programu, vývoj aplikace, to všechno můžeme provádět zdarma. Pokud potřebujeme aplikaci zkompilovat, aby běžela mimo vývojové prostředí, musíme si koupit roční licenci. Stránky výrobce jsou na www.xojo.com, kde si lze stáhnout toto prostředí pro různé operační systémy (stáhnul jsem pro Windows a Linux) a pro psaní aplikací pro různé cílové platformy, vč. desktopů macOS, Windows, Linux/Raspberry Pi a také pro mobilní zařízení ...

Domnívám se, že by na mých stránkách nemělo vývojové prostředí Xojo chybět.

Kreslení aplikace

Kreslení uživatelského rozhraní provádíme na desktopu, který vypadá takto:

Spuštěná aplikace

Naše první cvičná aplikace je spuštěná v plovoucím wokně (Floating Window), jsou zakázaná tlačítka Close Button, Maximize, Minimize, Full-screen Button - viz obrázek nahoře.

Zdrojový kód, který se ukládá jako soubor v binárním tvaru, lze stáhnout zde. Tentýž soubor jsem vyzkoušel otevřít v prostředí pro Windows i v prostředí Xojo pro Linux. Lze to, program šel v obou prostředích spustit a choval se korektně.

Program slouží pro demonstraci tzv. metod. Když klikneme myší na jeden z oválů, volá se odpovídající metoda. Ta provede příkazy, tj. obarví příslušný ovál odpovídající barvou (červená, žlutá zelená) a zbývající dva ovály barvou šedou. Metoda Zelena je volána také po otevření okna. Po spuštění nám na semaforu svítí zelená.

V programu jsou také použity proceduary a funkce pro obsluhu některých událostí (kliknutí myši, vstup myši na objekt (mění se kurzor na ručičku), opuštění objektu (mění s kurzor na systémový ukazatel).

Program se zavírá kliknutím na Label1 s textem "Zavři".


 
Příklad psaní události

Příklad je na obrázku vpravo. Klikneme např. na objekt Label1 a přidáme novou událost. Na obrázku je vložen kód, který se vykoná při události MouseExit. Všimněte si, že se provedou dva příkazy:


1. text Label1 se obarví na červeno
2. kurzor myši se změní na standardní

Syntaxe je odlišná od syntaxe Visual Basicu i Gambasu. Lze se ji naučit. Existuje také manuál (přes 80 MB, přes 2000 stran). Doporučuji stáhnout ze stránek výrobce a také jsem uložil staženou verzi zde.

 


 
Všechny objekty třídy Window, se všemi objekty (Label1, Oval1, Oval2, Oval3) i všechny metody se vkládají ve stromečkovém menu (je vpravo na obrazovce). Viz obrázek vpravo.

Vlastní deklarace odpovídajících procedur a funkcí však nevidíme, jako v Gambasu nebo Visual Basicu. To mi dělalo zpočátku problém, než jsem si zvykl. Pokud si listing vytiskneme, vidíme také hlavičky procedur, např.:


 
 
Při kliknutí myši je volána nikoliv procedura, ale tzv. funkce Function MouseDown () s parametry v závorce - viz vpravo. Funkce přebírá hodnoty o poloze kurzoru a volá metodu Zelena (v uvedenem příkladě).

Metoda Zelena je obyčejná procedura, při které se vykonají tři příkazy - viz obrázek nad tímto textem.
Příklad psaní metody, pro změnu Cervena je tady:


 

Listing programu (vytištěný do pdf) je ke stažení zde. Na třech stránkách vidíme všechny metody i události.

Základní výhody prostředí Xojo:

1. U placené verze lze zkompilovat tentýž zdrojový kód do balíčku pro macOS, do balíčku pro Linux, do spustitelného souboru pro Windows, viz obrázek dole:

 

2. Vývojové prostředí obsahuje nejen hezké komponenty (controls), ale hlavně též užitečné. Např. pro komunikaci mezi aplikacemi, pro TCP/IP komunikaci mezi počítači v síti, pro komunikaci s mikropočítačem přes sériový port, pro ftp a http servery.

Podobné komponenty jsem našel v Gambasu, ale v tom si napíšu jen aplikaci pro Linux. Můj Visual Basic Express 2008 má v Toolboxu komponentu pro sériový port, nikoliv TCP Socket, ale je jednoduchý, přehledný a dobrý. Bohužel, na konci své životnosti, s možnostmi kompilace exe souboru pro dřívější verze frameworku NET. Stáhnul jsem si Visual Studio 2017 Community (poslední edice) a byl jsem zklamán, že v Toolboxu jsem neviděl komponenty Socketů pro TCP/IP a UDP komunikaci. Asi Microsoft rozhodl, že to samostatní vývojáři - vidláci (amatéři) nepotřebují. Zda jsou Sockety v placené verzi, to opravdu netuším. Nepátral jsem, protože Visual Studio 2017 je neskutečný "Ramlware" s haldou balastu, pro mě nepotřebných nástrojů. Je pro mě dost nepřehledný. Ale asi vše půjde řešit pomocí:

Imports System.Net
Imports System.Net.Sockets

a očekávám oser s tím, jak to programátoři mysleli ...

Překvapilo mě, jak veliké množství (to jsou gigabajty) všeho možného se neskutečnou dobu z Internetu u Visual Studia 2017 stahovalo. U Xojo stahujeme jediný exe soubor, má však také kolem 700 MByte.

Proto se mi zdá, že volbu nového prostředku na vidlácké programování vyhraje nakonec Xojo. Prostě nemám čas ležet na diskuzních fórech. A Xojo, i když je pro mě jiné a nové, je i přiměřeně pochopitelné a malé aplikace, které tvořím, mi jdou od ruky.

3. Učit se kódu, psát a ladit vlastní aplikace, to všechno lze i v neplacených verzích a zdrojový kód projektu je pravděpodobně přenositelný mezi prostředím pro různé platformy.

4. Prostředí umožňuje vytvářet aplikace pro Raspberry Pi 2 a 3. To se při konstrukci přístrojů v amatérské praxi může hodit.

5. V další lekci byl do tohoto prográmku přidán tzv. IPCSocket. Pomocí něho lze řídit rozvěcování světel našeho semaforu z jiné aplikace (nazval jsem ji Řídítka).



Komponenty pro komunikaci mezi aplikacemi, pro TCP/IP komunikaci mezi počítači v síti, pro komunikaci s mikropočítačem přes sériový port, pro ftp a http servery (obrázek nahoře).

Jiná sada (Pickers, Inputs, Decorations) je vpravo.
 

   

Zpět na obsah


TU 73, Mira, ok1ufc