lingua di prugrammazione Flow9 open source

Cumpagnia di Area 9 apertu codici fonte di lingua di prugrammazione funziunale Flussu9, focu annantu à creà interfacce d'utilizatori. U codice in a lingua Flow9 pò esse compilatu in fugliali eseguibili per Linux, iOS, Android, Windows è macOS, è traduttu in applicazioni web in HTML5/JavaScript (WebAssembly) o testi fonte in Java, D, Lisp, ML è C++. codice compilatore apertu hè licenziatu sottu GPLv2 è a biblioteca standard hè licenziata sottu a licenza MIT.

A lingua hè sviluppata da u 2010 cum'è una alternativa universale è multipiattaforma à Adobe Flash. Flow9 hè posizionatu cum'è una piattaforma per creà interfacce grafiche muderne chì ponu esse aduprate sia per u Web sia per l'applicazioni desktop è mobili. U prughjettu hè utilizatu in parechji prughjetti interni di Area9 è hè statu inizialmente chjamatu Flow, ma prima di apre u codice, hè statu decisu di rinominà Flow9 per evità interferenza cù l'analizzatore statisticu. purtata da Facebook.

Flow9 combina una sintassi familiare simile à a lingua C (vede paraguni codice in Flow9 è JavaScript), cù strumenti di prugrammazione funziunale in u stilu ML и opportunità Lingue specifiche di u duminiu focalizati nantu à risolve prublemi specifichi in modu più efficiente pussibule (per Flow9 questu hè u sviluppu di l'interfaccia). Flow9 hè cuncepitu per utilizà un typing strettu, ma se ne necessariu, hè pussibule aduprà typing dinamicu cù rilevazione automatica di tipu, è ancu ligami. U polimorfismu hè supportatu (una funzione pò processà dati di diversi tipi), a capacità di creà sottotipi, moduli, arrays, hashes, espressioni lambda.

U listessu codice pò esse compilatu per e diverse plataformi, senza bisognu di porting separatu è cambiamenti à u codice. A stessa applicazione pò eseguisce in un navigatore, in i dispositi mobili cù schermi tattili, è in sistemi di scrittura cù un teclatu è un mouse. Offriamu una cullizzioni pronta di cumpunenti cù elementi d'interfaccia in u stilu React, cuncepitu in cunfurmità cù u cuncettu di Google Material Design. U disignu pò esse cuntrullatu finu à u livellu di pixel. Per stabilisce stili aduprà a sintassi standard CSS. Per rendering in Linux, macOS è Windows quandu compilatu in C++ si usa backend basatu in Qt cù OpenGL, è quandu compilatu in Java - JavaFX.

Grazie à l'usu di tecnichi di prugrammazione funziunale, u codice scrittu è i cumpunenti di l'interfaccia ponu esse facilmente prestitu da altri prughjetti. A lingua hè assai compacta è include solu 25 parole chjave, è a descrizzione grammaticale si mette in 255 linee cù cumenti. Per implementà a funziunalità identica nantu à Flow9, 2-4 volte menu codice hè necessariu chè in HTML + CSS + JavaScript, C#, Swift o Java. Per esempiu, se per l'applicazione di prova Tic-Tac-Toe da dirigenza per React hà pigliatu à scrive 200 linee di codice in React/JavaScript/HTML/CSS, per Flow9 avemu riesciutu à fà in 83 linee. Inoltre, sta applicazione pò esse lanciata micca solu in u navigatore, ma ancu cumpilata in forma di applicazioni mobili per iOS è Android.

A piattaforma include u compilatore principale flowc, scrittu in Flow9 è capace di travaglià cum'è un servitore di compilazione; compilatore di riferimentu di flussu (scrittu in haxe); debugger cù supportu di protocolu gdb; un sistema di prufilu cù un analizatore di memoria è un debugger di cullizzioni di basura; compilatore JIT per sistemi x86_64; interprete per ARM è altre piattaforme; Strumenti per a compilazione selettiva in C++ è Java di e parti più critiche per u rendiment di u codice; plugins per integrazione cù editori di codice Visual Code, Sublime Text, Kate è Emacs; generatore di parser (PEG).

Source: opennet.ru

Add a comment