Flow9 langaj pwogramasyon sous louvri

Area9 Konpayi louvri kòd sous fonksyonèl langaj pwogramasyon Koule9, konsantre sou kreye interfaces itilizatè. Kòd nan lang Flow9 ka konpile nan dosye ègzèkutabl pou Linux, iOS, Android, Windows ak macOS, epi tradui nan aplikasyon entènèt nan HTML5/JavaScript (WebAssembly) oswa tèks sous nan Java, D, Lisp, ML ak C++. Kòd konpilatè se louvri gen lisans anba GPLv2 epi bibliyotèk estanda a gen lisans anba lisans MIT.

Lang lan ap devlope depi 2010 kòm yon altènatif inivèsèl ak milti-platfòm nan Adobe Flash. Flow9 pozisyone kòm yon platfòm pou kreye koòdone grafik modèn ki ka itilize pou tou de entènèt la ak aplikasyon pou Desktop ak mobil. Pwojè a te itilize nan anpil pwojè entèn Area9 e li te orijinal yo rele Flow, men anvan ou louvri kòd la li te deside chanje non li nan Flow9 pou evite entèferans ak analizè estatistik la. Koule soti nan Facebook.

Flow9 konbine yon sentaks abitye ki sanble ak lang C a (gade konparezon kòd nan Flow9 ak JavaScript), ak zouti pwogramasyon fonksyonèl nan style la ML и opòtinite Lang espesifik nan domèn ki konsantre sou rezoud pwoblèm espesifik pi efikas posib (pou Flow9 sa a se devlopman koòdone). Flow9 fèt pou itilize sezisman strik, men si sa nesesè, li posib pou itilize sezisman dinamik ak deteksyon otomatik kalite, osi byen ke lyen. Polymorphism sipòte (yon fonksyon ka trete done nan diferan kalite), kapasite nan kreye subtip, modil, etalaj, hashes, ekspresyon lambda.

Menm kòd la ka konpile pou platfòm diferan, san yo pa bezwen pou separe pòtaj ak chanjman nan kòd la. Menm aplikasyon an ka kouri nan yon navigatè, sou aparèy mobil ak ekran tactile, ak sou sistèm Desktop ak yon klavye ak sourit. Nou ofri yon koleksyon konpozan pare ak eleman koòdone nan style React, ki fèt an akò ak konsèp Google Material Design. Design ka kontwole desann nan nivo pixel. Pou mete estil yon sèl kapab sèvi ak sentaks CSS estanda. Pou rann sou Linux, macOS ak Windows lè yo konpile nan C++ se itilize backend ki baze sou Qt ak OpenGL, epi lè konpile nan Java - JavaFX.

Mèsi a itilizasyon teknik pwogramasyon fonksyonèl, kòd ekri ak konpozan koòdone yo ka fasilman prete nan lòt pwojè yo. Lang lan trè kontra e li gen ladan l sèlman 25 mo kle, ak deskripsyon gramè a anfòm nan 255 liy ansanm ak kòmantè. Pou aplike fonksyonalite ki idantik sou Flow9, 2-4 fwa mwens kòd nesesè pase sou HTML+CSS+JavaScript, C#, Swift oswa Java. Pou egzanp, si pou aplikasyon an tès Tic-Tac-Toe soti nan lidèchip pou React li te pran ekri 200 liy nan kòd nan React/JavaScript/HTML/CSS, pou Flow9 nou jere fè li nan 83 liy. Anplis, aplikasyon sa a pa ka sèlman lanse nan navigatè a, men tou, konpile nan fòm aplikasyon mobil pou iOS ak android.

Platfòm nan gen ladan du prensipal flowc, ekri nan Flow9 epi ki kapab travay kòm yon sèvè konpilasyon; konpilateur referans koule (ekri nan janm); debugger ak sipò pwotokòl gdb; yon sistèm profilage ak yon analizeur memwa ak yon debogaj pèseptè fatra; JIT du pou sistèm x86_64; entèprèt pou ARM ak lòt platfòm; zouti pou konpilasyon selektif nan C++ ak Java nan pati ki pi enpòtan pou pèfòmans nan kòd la; grefon pou entegrasyon ak editè kòd Visual Code, Sublime Text, Kate ak Emacs; dèlko analizeur (PEG).

Sous: opennet.ru

Add nouvo kòmantè