Flow9 programmēšanas valoda atvērtā koda

Uzņēmums Area9 atvērts funkcionālās programmēšanas valodas pirmkodi Plūsma9, kas koncentrējas uz lietotāja saskarņu izveidi. Kodu Flow9 valodā var apkopot izpildāmos failos operētājsistēmai Linux, iOS, Android, Windows un macOS, kā arī tulkot tīmekļa lietojumprogrammās HTML5/JavaScript (WebAssembly) vai avota tekstos Java, D, Lisp, ML un C++. Kompilatora kods ir atvērts ir licencēta saskaņā ar GPLv2, un standarta bibliotēka ir licencēta saskaņā ar MIT licenci.

Valoda ir izstrādāta kopš 2010. gada kā universāla un daudzplatformu alternatīva Adobe Flash. Flow9 ir pozicionēts kā platforma modernu grafisko saskarņu izveidei, ko var izmantot gan tīmeklī, gan darbvirsmas un mobilajām lietojumprogrammām. Projekts tiek izmantots daudzos iekšējos Area9 projektos un sākotnēji tika saukts par Flow, taču pirms koda atvēršanas tika nolemts to pārdēvēt par Flow9, lai izvairītos no statistikas analizatora traucējumiem. Plūsma no Facebook.

Flow9 apvieno pazīstamu sintaksi, kas ir līdzīga C valodai (sk salīdzinājums kods Flow9 un JavaScript), ar funkcionāliem programmēšanas rīkiem stilā ML и iespējas domēnam specifiskas valodas, kas vērstas uz konkrētu problēmu risināšanu pēc iespējas efektīvāk (Flow9 tā ir saskarnes izstrāde). Flow9 ir paredzēts stingras mašīnrakstīšanas lietošanai, taču nepieciešamības gadījumā ir iespējams izmantot dinamisko rakstīšanu ar automātisku tipa noteikšanu, kā arī saites. Tiek atbalstīts polimorfisms (viena funkcija var apstrādāt dažāda veida datus), iespēja izveidot apakštipus, moduļus, masīvus, jaucējvārdus, lambda izteiksmes.

To pašu kodu var apkopot dažādām platformām, bez nepieciešamības veikt atsevišķu pārnešanu un koda izmaiņas. Viena un tā pati lietojumprogramma var darboties pārlūkprogrammā, mobilajās ierīcēs ar skārienekrānu un galddatoru sistēmās ar tastatūru un peli. Piedāvājam gatavu komponentu kolekciju ar saskarnes elementiem React stilā, kas veidota saskaņā ar Google Material Design koncepciju. Dizainu var kontrolēt līdz pikseļu līmenim. Lai iestatītu stilus viens var izmantojiet standarta CSS sintaksi. Renderēšanai operētājsistēmās Linux, macOS un Windows, kad tas ir kompilēts C++ lietots aizmugursistēma, kuras pamatā ir Qt ar OpenGL, un, ja kompilēta Java - JavaFX.

Pateicoties funkcionālās programmēšanas tehnikas izmantošanai, rakstīto kodu un interfeisa komponentus var viegli aizņemties no citiem projektiem. Valoda ir ļoti kompakta un ietver tikai 25 atslēgvārdus, un gramatikas apraksts iekļaujas 255 rindās kopā ar komentāriem. Lai Flow9 ieviestu identisku funkcionalitāti, ir nepieciešams 2–4 reizes mazāk koda nekā HTML+CSS+JavaScript, C#, Swift vai Java. Piemēram, ja testa lietojumprogrammai Tic-Tac-Toe no vadība React bija nepieciešams ierakstīt 200 koda rindiņas React/JavaScript/HTML/CSS, bet Flow9 mums tas izdevās 83 rindās. Turklāt šo lietojumprogrammu var ne tikai palaist pārlūkprogrammā, bet arī apkopot mobilo lietojumprogrammu veidā iOS un Android ierīcēm.

Platformā ir iekļauts galvenais flowc kompilators, kas rakstīts Flow9 un spēj darboties kā kompilācijas serveris; plūsmas atsauces kompilators (ierakstīts haxe); atkļūdotājs ar gdb protokola atbalstu; profilēšanas sistēma ar atmiņas analizatoru un atkritumu savācēja atkļūdotāju; JIT kompilators x86_64 sistēmām; tulks ARM un citām platformām; rīki selektīvai kompilācijai C++ un Java viskritiskāko koda daļu veikšanai; spraudņi integrācijai ar koda redaktoriem Visual Code, Sublime Text, Kate un Emacs; parsētājs ģenerators (PEG).

Avots: opennet.ru

Pievieno komentāru