Ang Flow9 programming language bukas nga tinubdan

Kompanya sa Area9 giablihan functional programming language source codes Daloy9, naka-focus sa paghimo og mga user interface. Ang code sa Flow9 nga pinulongan mahimong i-compile ngadto sa executable files para sa Linux, iOS, Android, Windows ug macOS, ug hubaron ngadto sa web applications sa HTML5/JavaScript (WebAssembly) o source texts sa Java, D, Lisp, ML ug C++. Compiler code ablihan lisensyado ubos sa GPLv2 ug ang standard library kay lisensyado ubos sa lisensya sa MIT.

Ang pinulongan nag-uswag sukad sa 2010 isip usa ka universal ug multi-platform nga alternatibo sa Adobe Flash. Ang Flow9 gipahimutang isip usa ka plataporma alang sa paghimo og modernong mga graphical nga mga interface nga magamit alang sa Web ug desktop ug mobile nga mga aplikasyon. Ang proyekto gigamit sa daghang mga internal nga proyekto sa Area9 ug orihinal nga gitawag nga Flow, apan sa wala pa ablihan ang code nakahukom nga ilisan kini sa ngalan sa Flow9 aron malikayan ang pagpanghilabot sa statistical analyzer. Flow gikan sa Facebook.

Ang Flow9 naghiusa sa usa ka pamilyar nga syntax nga susama sa C nga pinulongan (tan-awa pagtandi code sa Flow9 ug JavaScript), nga adunay mga gamit sa pagprograma nga magamit sa istilo ML ΠΈ mga oportunidad mga pinulongan nga espesipiko sa domain nga naka-focus sa pagsulbad sa mga piho nga mga problema nga episyente kutob sa mahimo (alang sa Flow9 kini ang pag-uswag sa interface). Ang Flow9 gidesinyo sa paggamit sa estrikto nga pag-type, apan kung gikinahanglan, posible nga gamiton ang dinamikong pag-type nga adunay awtomatik nga pag-ila sa tipo, ingon man usab mga link. Gisuportahan ang polymorphism (usa ka function ang makaproseso sa datos sa lain-laing mga tipo), ang abilidad sa paghimo og mga subtypes, modules, arrays, hash, lambda expressions.

Ang parehas nga kodigo mahimong matipon alang sa lainlaing mga plataporma, nga wala kinahanglana ang bulag nga pag-port ug pagbag-o sa code. Ang sama nga aplikasyon mahimong modagan sa usa ka browser, sa mga mobile device nga adunay mga touch screen, ug sa mga desktop system nga adunay keyboard ug mouse. Nagtanyag kami usa ka andam nga koleksyon sa mga sangkap nga adunay mga elemento sa interface sa istilo sa React, nga gidisenyo uyon sa konsepto sa Google Material Design. Ang disenyo mahimong kontrolado hangtod sa lebel sa pixel. Aron mabutang ang mga istilo mahimo gamita ang standard CSS syntax. Alang sa paghubad sa Linux, macOS ug Windows kung gi-compile sa C++ gigamit backend base sa Qt uban sa OpenGL, ug sa diha nga gihugpong sa Java - JavaFX.

Salamat sa paggamit sa functional nga mga teknik sa programming, ang sinulat nga kodigo ug mga sangkap sa interface dali nga mahulam gikan sa ubang mga proyekto. Ang lengguwahe kay compact kaayo ug naglakip lang sa 25 ka keyword, ug ang deskripsyon sa gramatika mohaom sa 255 ka linya uban sa mga komento. Aron mapatuman ang parehas nga gamit sa Flow9, 2-4 ka beses nga mas gamay nga code ang gikinahanglan kaysa sa HTML+CSS+JavaScript, C#, Swift o Java. Pananglitan, kung alang sa pagsulay nga aplikasyon Tic-Tac-Toe gikan sa pagpangulo alang sa React gikinahanglan ang pagsulat sa 200 ka linya sa code sa React/JavaScript/HTML/CSS, para sa Flow9 nakahimo kami sa pagbuhat niini sa 83 ka linya. Dugang pa, kini nga aplikasyon dili lamang ilansad sa browser, apan giipon usab sa porma sa mga mobile application alang sa iOS ug Android.

Ang plataporma naglakip sa nag-unang flowc compiler, gisulat sa Flow9 ug makahimo sa pagtrabaho isip compilation server; flow reference compiler (gisulat sa haxe); debugger nga adunay suporta sa gdb protocol; usa ka sistema sa profiling nga adunay memory analyzer ug usa ka garbage collector debugger; JIT compiler alang sa x86_64 system; tighubad alang sa ARM ug uban pang mga plataporma; mga himan alang sa pinili nga pagtipon sa C ++ ug Java sa labing kritikal nga performance nga mga bahin sa code; mga plugins alang sa panagsama sa mga editor sa code Visual Code, Sublime Text, Kate ug Emacs; generator sa parser (PEG).

Source: opennet.ru

Idugang sa usa ka comment