Flow9 Programméiersprooch Open Source

Area9 Company opgemaach funktionell Programméierungssprooch Quellcodes Flëss 9, konzentréiert sech op d'Erstelle vun User-Interfaces. Code an der Flow9 Sprooch kann an ausführbar Dateie fir Linux, iOS, Android, Windows a macOS kompiléiert ginn, an an Webapplikatiounen an HTML5/JavaScript (WebAssembly) oder Quelltexter an Java, D, Lisp, ML an C++ iwwersat ginn. Compiler Code opmaachen ass ënner GPLv2 lizenzéiert an d'Standardbibliothéik ass ënner der MIT Lizenz lizenzéiert.

D'Sprooch entwéckelt sech zënter 2010 als eng universell a Multi-Plattform Alternativ zu Adobe Flash. Flow9 ass positionéiert als Plattform fir modern grafesch Schnëttplazen ze kreéieren déi souwuel fir de Web wéi och fir Desktop a mobil Uwendunge kënne benotzt ginn. De Projet gëtt a villen internen Area9 Projete benotzt a gouf ursprénglech Flow genannt, awer ier de Code opgemaach gouf, gouf decidéiert et op Flow9 ëmbenennen ze loossen fir Interferenz mam statisteschen Analyser ze vermeiden Flow vun Facebook.

Flow9 kombinéiert eng vertraute Syntax ähnlech wéi d'C Sprooch (kuckt Verglach läit Code am Flow9 a JavaScript), mat funktionnelle Programméierungsinstrumenter am Stil ML и Méiglechkeeten Domain-spezifesch Sprooche konzentréiert sech op d'Léisung vu spezifesche Probleemer sou effizient wéi méiglech (fir Flow9 ass dëst Interface Entwécklung). Flow9 ass entwéckelt fir strikt Tippen ze benotzen, awer wann néideg ass et méiglech dynamesch Tippen mat automatescher Typdetektioun ze benotzen, souwéi Linken. Polymorphismus gëtt ënnerstëtzt (eng Funktioun kann Daten vu verschiddenen Typen veraarbecht), d'Fäegkeet fir Ënnertypen, Moduler, Arrays, Hashes, Lambda Ausdréck ze kreéieren.

Dee selwechte Code ka fir verschidde Plattformen kompiléiert ginn, ouni de Besoin fir separat Porting an Ännerungen am Code. Déi selwecht Applikatioun kann an engem Browser lafen, op mobilen Apparater mat Touchscreens, an op Desktop Systemer mat enger Tastatur a Maus. Mir bidden eng fäerdeg Sammlung vu Komponenten mat Interface Elementer am React Stil, entworf am Aklang mat dem Google Material Design Konzept. Design kann op de Pixelniveau kontrolléiert ginn. Stiler ze setzen kënnen benotzen Standard CSS Syntax. Fir Rendering op Linux, macOS a Windows wann se an C++ kompiléiert sinn benotzt gëtt Backend baséiert op Qt mat OpenGL, a wann kompiléiert an Java - JavaFX.

Dank der Benotzung vun funktionell programméiere Techniken, kann de schrëftleche Code an Interface Komponente einfach aus anere Projeten geléint ginn. D'Sprooch ass ganz kompakt an enthält nëmmen 25 Schlësselwieder, an d'Grammatikbeschreiwung passt an 255 Zeilen zesumme mat Kommentaren. Fir identesch Funktionalitéit op Flow9 ëmzesetzen, ass 2-4 Mol manner Code erfuerderlech wéi op HTML+CSS+JavaScript, C#, Swift oder Java. Zum Beispill, wann fir den Test Applikatioun Tic-Tac-Toe aus Féierung fir React huet et gedauert 200 Zeilen Code ze schreiwen an React/JavaScript/HTML/CSS, fir Flow9 hu mir et fäerdeg bruecht et an 83 Zeilen ze maachen. Ausserdeem kann dës Applikatioun net nëmmen am Browser lancéiert ginn, awer och a Form vu mobilen Uwendungen fir iOS an Android kompiléiert ginn.

D'Plattform enthält den Haaptflowc Compiler, geschriwwen am Flow9 a fäeg ass als Kompiléierungsserver ze schaffen; Flow Referenz Compiler (geschriwwen an knacken); Debugger mat gdb Protokoll Ënnerstëtzung; e Profilsystem mat engem Gedächtnisanalysator an engem Gerempels Sammler Debugger; JIT Compiler fir x86_64 Systemer; Dolmetscher fir ARM an aner Plattformen; Tools fir selektiv Kompiléierung am C ++ an Java vun de leeschtungskriteschen Deeler vum Code; Plugins fir Integratioun mat Code Editoren Visual Code, Sublime Text, Kate an Emacs; Parser Generator (Peg).

Source: opennet.ru

Setzt e Commentaire