Flow9 programazio-lengoaia kode irekia

Area9 Enpresa ireki programazio-lengoaia funtzionalaren iturburu-kodeak Flow9, erabiltzaile-interfazeak sortzera bideratua. Flow9 lengoaiaren kodea Linux, iOS, Android, Windows eta macOSentzako fitxategi exekutagarrietan konpila daiteke, eta web-aplikazioetara HTML5/JavaScript (WebAssembly) edo iturburu-testuak Java, D, Lisp, ML eta C++-n itzul daitezke. Konpiladorearen kodea irekita dago GPLv2 lizentziapean dago eta liburutegi estandarra MIT lizentziapean dago.

Lengoaia 2010etik garatzen ari da Adobe Flash-en alternatiba unibertsal eta anitzeko plataforma gisa. Flow9 interfaze grafiko modernoak sortzeko plataforma gisa kokatzen da, bai Weberako bai mahaigaineko eta mugikorretarako aplikazioetarako erabil daitezkeenak. Proiektua barneko Area9 proiektu askotan erabiltzen da eta jatorrian Flow deitzen zen, baina kodea ireki aurretik Flow9 izena aldatzea erabaki zen, analizatzaile estatistikoarekin interferentziak saihesteko. Flow Facebooketik.

Flow9-k C hizkuntzaren antzeko sintaxi ezagun bat konbinatzen du (ikus konparazio kodea Flow9 eta JavaScript), estiloan programazio tresna funtzionalekin ML ΠΈ aukerak Domeinuko hizkuntza espezifikoak arazo zehatzak ahalik eta modu eraginkorrenean konpontzera bideratuak (Flow9rentzat hau interfazearen garapena da). Flow9 idazketa zorrotza erabiltzeko diseinatuta dago, baina beharrezkoa bada, idazketa dinamikoa erabil daiteke mota automatikoki hautemateko, baita estekak. Polimorfismoa onartzen da (funtzio batek mota ezberdinetako datuak prozesatu ditzake), azpimotak, moduluak, matrizeak, hashak, lambda adierazpenak sortzeko gaitasuna.

Kode berdina plataforma desberdinetarako konpila daiteke, kode bereizirik eta aldaketarik egin beharrik gabe. Aplikazio bera arakatzaile batean exekutatu daiteke, ukipen-pantaila duten gailu mugikorretan eta teklatua eta sagua duten mahaigaineko sistemetan. React estiloko interfaze-elementuekin osaturiko osagaien bilduma bat eskaintzen dugu, Google Material Design kontzeptuaren arabera diseinatuta. Diseinua pixel mailara arte kontrola daiteke. Estiloak ezartzeko ko ahal erabili CSS sintaxi estandarra. C++-n konpilatuta Linux, macOS eta Windows-en errendatzeko Erabilitako OpenGL-rekin Qt-n oinarritutako backend-a, eta Java-n konpilatzen denean - JavaFX.

Programazio funtzionalaren teknikak erabiltzeari esker, idatzizko kodea eta interfazearen osagaiak erraz mailega daitezke beste proiektu batzuetatik. Hizkuntza oso trinkoa da eta 25 hitz gako baino ez ditu barne hartzen, eta gramatika deskribapena 255 lerrotan sartzen da iruzkinekin batera. Flow9-n funtzionalitate berdina ezartzeko, HTML+CSS+JavaScript, C#, Swift edo Javan baino 2-4 aldiz kode gutxiago behar da. Adibidez, Tic-Tac-Toe from proba aplikaziorako bada lidergoa React-erako React/JavaScript/HTML/CSS-en 200 kode lerro idaztea behar izan zuen, Flow9rako 83 lerrotan egitea lortu genuen. Gainera, aplikazio hau arakatzailean abiarazi ez ezik, iOS eta Androiderako mugikorretarako aplikazio moduan ere konpilatu daiteke.

Plataformak flowc konpilatzaile nagusia dakar, Flow9n idatzia eta konpilazio zerbitzari gisa lan egiteko gai dena; fluxu-erreferentzia-konpilatzailea (idatzitakoa haxe); gdb protokolo euskarria duen arazketa; memoria analizatzaile eta zabor biltzaileen arazketa duen profila sistema bat; JIT konpilatzailea x86_64 sistemetarako; ARM eta beste plataformetarako interpretea; C++-n eta Java-n kodearen atal kritikoenen konpilazio selektiborako tresnak; Visual Code, Sublime Text, Kate eta Emacs kode editoreekin integratzeko pluginak; analizatzaile-sorgailua (PEG).

Iturria: opennet.ru

Gehitu iruzkin berria