Iaith raglennu Flow9 ffynhonnell agored

Cwmni Ardal9 agorwyd codau ffynhonnell iaith rhaglennu swyddogaethol Llif9, yn canolbwyntio ar greu rhyngwynebau defnyddwyr. Gellir crynhoi cod yn yr iaith Flow9 yn ffeiliau gweithredadwy ar gyfer Linux, iOS, Android, Windows a macOS, a'u cyfieithu i gymwysiadau gwe yn HTML5/JavaScript (WebAssembly) neu destunau ffynhonnell yn Java, D, Lisp, ML a C++. Cod casglwr agored wedi'i thrwyddedu o dan GPLv2 ac mae'r llyfrgell safonol wedi'i thrwyddedu o dan drwydded MIT.

Mae'r iaith wedi bod yn datblygu ers 2010 fel dewis cyffredinol ac aml-lwyfan yn lle Adobe Flash. Mae Flow9 wedi'i leoli fel llwyfan ar gyfer creu rhyngwynebau graffigol modern y gellir eu defnyddio ar gyfer y We a chymwysiadau bwrdd gwaith a symudol. Defnyddir y prosiect mewn llawer o brosiectau Area9 mewnol ac fe'i gelwid yn wreiddiol yn Llif, ond cyn agor y cod penderfynwyd ei ailenwi i Flow9 er mwyn osgoi ymyrraeth Γ’'r dadansoddwr ystadegol Llif oddi ar Facebook.

Mae Flow9 yn cyfuno cystrawen gyfarwydd sy'n debyg i'r iaith C (gw cymhariaeth cod yn Flow9 a JavaScript), gydag offer rhaglennu swyddogaethol yn yr arddull ML ΠΈ cyfleoedd ieithoedd parth-benodol yn canolbwyntio ar ddatrys problemau penodol mor effeithlon Γ’ phosibl (ar gyfer Flow9 dyma ddatblygiad rhyngwyneb). Mae Flow9 wedi'i gynllunio i ddefnyddio teipio llym, ond os oes angen, mae'n bosibl defnyddio teipio deinamig gyda chanfod math awtomatig, yn ogystal Γ’ dolenni. Cefnogir polymorphism (gall un swyddogaeth brosesu data o wahanol fathau), y gallu i greu isdeipiau, modiwlau, araeau, hashes, mynegiadau lambda.

Gellir llunio'r un cod ar gyfer gwahanol lwyfannau, heb fod angen porthi ar wahΓ’n a newidiadau i'r cod. Gall yr un cymhwysiad redeg mewn porwr, ar ddyfeisiau symudol gyda sgriniau cyffwrdd, ac ar systemau bwrdd gwaith gyda bysellfwrdd a llygoden. Rydym yn cynnig casgliad parod o gydrannau gydag elfennau rhyngwyneb yn arddull React, wedi'u cynllunio yn unol Γ’ chysyniad Dylunio Deunydd Google. Gellir rheoli dyluniad i lawr i'r lefel picsel. I osod arddulliau all neb defnyddio cystrawen CSS safonol. Ar gyfer rendro ar Linux, macOS a Windows pan gΓ’nt eu llunio yn C ++ yn cael ei ddefnyddio backend yn seiliedig ar Qt gydag OpenGL, ac ar Γ΄l ei lunio yn Java - JavaFX.

Diolch i'r defnydd o dechnegau rhaglennu swyddogaethol, mae'n hawdd benthyca'r cod ysgrifenedig a'r cydrannau rhyngwyneb o brosiectau eraill. Mae'r iaith yn gryno iawn ac yn cynnwys dim ond 25 o eiriau allweddol, ac mae'r disgrifiad gramadeg yn ffitio i 255 llinell ynghyd Γ’ sylwadau. Er mwyn gweithredu swyddogaeth union yr un fath ar Flow9, mae angen 2-4 gwaith yn llai o god nag ar HTML+CSS+JavaScript, C#, Swift neu Java. Er enghraifft, os ar gyfer y cais prawf Tic-Tac-Toe o canllawiau ar gyfer React cymerodd ysgrifennu 200 llinell o god yn React/JavaScript/HTML/CSS, ar gyfer Flow9 llwyddwyd i'w wneud mewn 83 llinell. Ar ben hynny, nid yn unig y gellir lansio'r cais hwn yn y porwr, ond hefyd ei lunio ar ffurf cymwysiadau symudol ar gyfer iOS ac Android.

Mae'r platfform yn cynnwys y prif gasglwr flowc, sydd wedi'i ysgrifennu yn Flow9 ac sy'n gallu gweithio fel gweinydd crynhoi; crynhoydd cyfeirnod llif (wedi'i ysgrifennu yn hacs); dadfygiwr gyda chefnogaeth protocol gdb; system broffilio gyda dadansoddwr cof a dadfygiwr casglwr sbwriel; Casglwr JIT ar gyfer systemau x86_64; dehonglydd ar gyfer ARM a llwyfannau eraill; offer ar gyfer casglu detholiadol yn C++ a Java o'r rhannau o'r cod sy'n fwyaf allweddol o ran perfformiad; ategion i'w hintegreiddio Γ’ golygyddion cod Visual Code, Sublime Text, Kate ac Emacs; generadur parser (PEG).

Ffynhonnell: opennet.ru

Ychwanegu sylw