OK1UFC, České Budějovice, JN78fx, dne 25. září 2017:

 
PC aplikace vyvinutá pomocí Xojo

Úvod
Integrované vývojové prostředí, se kterým se snadno dělá, vyvinula firma xojo.com.

Výhody: Bohaté, velice komfortní prostředí, které obsahuje mnoho profesionálně vyvinutých komponentů. Prý jde o přímou konkurenci Microsoft Visual Basic. V prostředí lze vyvíjet různé aplikace (desktop, web, konzolové) pro různé operační systémy (Windows, MacOS, Linux, Papsberry PI). Vývoj aplikací se dá velice snadno naučit, protože prostředí má parádní kontextovou nápovědu, parádní dokumentaci, množství vzorových programů a dobré výukové materiály (tutoriály).

Databázové nástroje: Nalezl jsem jich asi 7, včetně Oracle nebo MS SQL:

Komunikační nástroje: Nechybí samozřejmě Serial (vyzkoušel jsem), našel jsem Server Socket, IPC Socket, TCP Socket, UDP Socket.

Nevýhody: Pro instalaci na cílový počítač je vyžadován velký objem runtime souborů. Jsou samozřejmě odlišné, než ty od Microsoftu z Visual Studia. Další nevýhodou je poměrně vysoká cena, která se platí jako roční poplatek. Závisí na množství nástrojů, zejména databázových. Cena se pohybuje od cca USD 100/rok až po mnoho stovek USD. Inu, je to nástroj určený pro profesionální programátory. Jak jsem zdůraznil ve výhodách, nástroj se lze snadno učit. Verze pro výuku a pro psaní programů je zdarma. Program vám však poběží jen na PC, na kterém jste nainstalovali vývojové prostředí.

Charakteristické vlastnosti:  Program lze spustit na Windows 7 až Windows 10. Program má nádherné grafické rozhraní. Na obrázku dole vidíte nahoře hlavní menu, vlevo projektového managera, který formou stromového menu zobrazuje použité třídy (okna, Window ...) a komponenty. Vpravo se zobrazuje tzv. inspektor, ve kterém se klikáním nastavují nejdůležitější vlastnosti komponenty (obdoba Properties ve Visual Studiu). Uprostřed vidíte právě vyvíjené wokno ovladače tuneru:

První aplikace: Jako první aplikaci jsem napsal kontroler tuneru (obdoba na webu publikovaných ok1ufc tunerů). Z edukativních důvodů jsem neměnil názvy tříd (Window) a ani názvy komponent (Controls). Pro nastavování hodnot L a C jsem si vybral komponenty Slider. Pro tlačítka jsem vyzkoušel tzv. Segmented Controls. Ty se mi náramně líbily. Je vidět, že se na designu podílel technik. Fungují tak, jako např. fungovaly vlnové přepínače u starých rádií (nebo sady Isostat). Jeden čudl zmačknete. Zůstane zmačknutý, než zmačknete jiný v sadě. Tím se opravdu snadno přepíná. Použil jsem hned dva. Jeden mi přepíná typ článku (LC a CL, umí vypnout ladění a umí přepnout do umělé zátěže) a druhý mi přepíná paměti, do kterých se ladí. Vyzkoušel jsem si novou filosofii ovládání. Zmačknu tlačítko paměti. Po zmačknutí se mi přepne typ článku a nastaví se jezdce sliderů na hodnoty, které byly uložené v paměti. Pokud změníme typ, např. LC na CL a zajezdíme s jezdci na lepší vyladění, uloží se toto samo do právě stisknuté paměti. Do tuneru se data posílají po změně hodnot prvků bezprostředně, po sériové lince. Takže na TCVRu hned vidíme na VSWR metru vyladění. To nejlepší zůstane samozřejmě v paměti (v souboru), nezapomeneme ho uložit.

Spuštěný program kontroléru tuneru vidíte vpravo na obrázku.

 
Množství komponent (controls): Vpravo je zobrazen standardní toolbar, nastavený na komunikační profesionálně napsané komponenty:

Na obrázku dole je rozbalené menu s množstvím prvků, které lze do programu vložit. Úplně nahoře to začíná komponentami Active - X, pokračuje třídami, databázemi, atd. Za oddělovací řádkou to pokračuje tzv Event Handlerem:

Na obrázku nahoře je okno Event Handler pro Window1. Stačí vybrat, kliknout a napsat, co se má dít. Např. u tlačítka (button) tuneru, které je popsané nápisem "dokumentace on-line" je u handleru MouseDown napsáno Window2.open. Program sám si vytvoří hlavičky procedur nebo funkcí (podle typu handleru) a neotravuje vás s jejich zobrazováním. Uvidíte je však ve vytištěném výpisu programu. Na obrazovce jsou však jen instrukce, kterými reagujete na příslušnou událost. V právě uvedeném příkladu na stisknutí myši. Pozn.: Po stisknutí myši se otevře druhé okno. Tam je komponenta prohlížeče s natvrdo napsanou stránkou html, kde je na webu dokumentace k tuneru. Samozřejmě, že i okno prohlížeče je komponenta, kterou vložíte kliknutím. Ručně už napíšete jen instrukci k události otevření okna Window2. Musí se otevřít zmíněná webová stránka.

Většinou, když se učíte programovat, tak toho moc neznáte. Toto prostředí se však vyznačuje vynikajícím on line helpem. Kliknete na control, viz obrázek nahoře. Zobrazí se menu. Úplně dole napsáno "Help for Slider". Na Slider jsem předtím kliknul. Pokud si tuto položku vyberete, zobrazí se vám skvělá nápověda, která začíná seznamem a odkazy na události (events), vlastnosti (properties), pokračuje metodami, poznámkami (již druhý obrázek) a končí typickým příkladem kódu. Prostě elegance sama. 

Tohle všechno je jen zlomek toho, co prostředí dovede. Ale je to parádička. Mohl bych psát dále o vlastnostech XOJO. Např. o tom, že zdrojový kód se neukládá ve formátu textového souboru. Je uložen jako binární soubor. Asi se časy mění a to, co jsem považoval za vidláckou školu psaní programů, stalo se profesionálním. Čtení listingu dlouhých programů je zřejmě doménou profesionálních programátorů, kteří se živí opravdovým psaním algoritmů. V prostředí XOJO lze samozřejmě také vytisknout listing procedur, funkcí, modulů v kódu psaném pro lidi. Ale, jak je vidět, trend vytištění celého zdrojového souboru je jaksi mimo. Mohl bych pokračovat v neumělém psaní. Jednodušší však je stáhnout si po jednoduché registraci vývojové prostředí. Stáhnul jsem si ho pro Windows a pro Linux. Zda koupím licenci a zkompiluji několik svých projektů, to ještě nevím. Přeci jenom jsou ty licence dost drahé a runtime soubory dost veliké.

 

 

TU 73, Mira, ok1ufc