socialgekon.com
  • Glavni
  • Okretna
  • Porazdeljene Ekipe
  • Donosnost In Učinkovitost
  • Drugo
Tehnologija

Pregled Haxe: Haxe 4 Značilnosti in prednosti

Naš prejšnji pregled Haxe končal s pogledom na takrat prihajajoči Haxe 4. Z uradno izdajo Haxe 4 (in kmalu zatem dve izdaji napak - različici 4.0.1 in 4.0.2) je čas za nov pregled Haxeja. Kateri so najnovejši dodatki k temu rastočemu programskemu jeziku? Kam je usmerjena skupnost programskega jezika Haxe? So motorji za igre Haxe še vedno njen glavni nosilec?

Pregled Haxe: Nove funkcije Haxe 4

Z več kot tremi leti razvoja od zadnje večje izdaje različica 4 programskega jezika Haxe izboljša zmogljivost makra, izkušnjo razvijalcev in sintakso. Tri njegove izboljšave se še vedno štejejo za eksperimentalne, vendar jih je vredno izpostaviti: novi cilj bajtkode JVM, podpora za vstavljeno označevanje in ničelna preverjanja varnosti.

Eksperimentalni cilj zbiranja bajtkodov JVM v Haxe 4

Nov cilj bajtkode JVM Haxe 4 omogoča razvoj Jave prek Haxeja nekoliko učinkovitejši, tako da izreže pomemben korak prevajanja: Ni drugega koraka, če bi Javin lastni prevajalnik (javac) prevedel izhodno kodo Jave iz Haxejevega prevajalnika.



Primerjava novega neposrednega cilja JVM s prvotnim potekom dela pri razvoju za cilj Java. Izvirnik vzame nekaj vira .hx, ustvari izvor .java, ki pa ga je treba prevesti z Java-prevajalnikom (kar je odvisno od JDK), preden je končno izdelana zagnana datoteka .jar. Novi cilj razvijalcem omogoča neposredno prehod iz vira .hx v datoteko .jar, ki jo je mogoče zagnati.

Ta metoda prevajanja s programom Haxe 4 prav tako v celoti odpravlja odvisnost od Java developer kit (JDK) in odpira vrata za interaktivno odpravljanje napak, ki se bo izvajalo v prihodnosti.

Dokler glavna različica hxjava ni združljiva s Haxe 4, osnovna nastavitev vključuje namestitev Haxeja in Haxeliba, nato zagon haxelib install hxjava 4.0.0-alpha S tem je razvojni tok preprost:

# transpile directly to JVM bytecode with Haxe (-D jvm would also work): haxe --main HelloWorld --java jar_output --define jvm # run JVM bytecode with Java: java -jar jar_output/HelloWorld.jar

Glede na to, da ima neposredna kompilacija JVM še vedno poskusni status v Haxe 4, je na voljo nekaj opozoril:

  • Obstaja nekaj težav, značilnih za Android.
  • Izvedbena zmogljivost ni čisto tako dobro , tudi če bo sčasoma hitrejša od posredne metode.

Kljub temu je to pomemben korak v pravo smer za vse, ki uporabljajo tehnologije, ki temeljijo na Javi.

Podpora za eksperimentalno označevanje v vrstici Haxe 4

JSX, kdo? Haxe 4 omogoča vgrajeno označevanje, tako da lahko razvijalci na primer napišejo HTML neposredno v izvorno kodo Haxe:

var dom = jsx(

This is a paragraph.

);

Ker jsx() tukaj je lahko statična makro funkcija, ki projektu omogoča preverjanje časa prevajanja, ali je oznaka skladna s kakršnimi koli specifikacijami XML-ish, ki jih razvijalec želi implementirati. Ker je sama podpora za XML vgrajena v Haxe API, lahko preverjanje izkoristi Xml.parse(), vendar za osnovno »XML« razčlenljivost ni potrebna niti ta :

static macro function jsx(expr) { return switch expr.expr { case EMeta({name: ':markup'}, {expr: EConst(CString(s))}): macro $v{'XML MARKUP: ' + s}; case _: throw new haxe.macro.Expr.Error('not an xml literal', expr.pos); } }

Namen te funkcije je pomagati Haxeju potisniti mehurček za razvoj iger (čeprav tudi tam zagotovo uporablja). Dovolj splošno je, da je implementiran na ravni prevajalnika - zato ne potrebuje Haxe API-ja v zgornjem makru - toda preverjanje določenih DSL-jev je naslednje vprašanje za prevajalniško skupino in skupnost. ugotoviti .

Eksperimentalna ničelna varnost v Haxeju 4

Od izuma ničelne reference leta 1965 je vprašanje nične varnosti pogosto težava razvijalcev v nihljivih tipiziranih okoljih, kakršno je programski jezik Haxe. Aleksandr Kuzmenko ocenjuje da se GitHub zaveže, da bo odpravil napake referenčnih ničelnih kazalcev, več kot 10 milijonov.

Haxe 4 ima vgrajene ničelne varnostne makre za čas prevajanja, ki jih je mogoče omogočiti z vključitvijo @:nullSafety vrstica tik pred dano definicijo. Prihaja v @:nullSafety(Loose) (privzeto) in @:nullSafety(Strict) načini in jih po potrebi lahko onemogočite z @:nullSafety(Off). Strict način bo pregledoval klice funkcij za mutacije polja, ki bi lahko dodelile nič, tudi v ničelno varnostno onemogočenem kontekstu.

Razvijalci Ruby se morda sprašujejo, ali je priročen operater varne navigacije (?. v Rubyju) na radarju. Še ne, toda tako kot pri mnogih vidikih programiranja v Haxeju obstajajo makro za to (upoštevajte, da namesto tega uporablja !..)

Izkušnje za razvijalce (DX) s programom Haxe 4: dodatki skladnje, skladenjski sladkor in še več

Dodatki programskega jezika Haxe in podpora Haxe IDE, povezani z DX, omogočajo izkušnjo Haxe 4 vsaj na ravni drugih programskih jezikov na različnih področjih. Na nek način skuša Haxe biti vse za vsakogar, vendar se skupina prevajalcev premišljeno loti vključevanja najbolj uporabnih funkcij in konvencij iz drugih jezikov.

Rezultat tega je, da se programski jezik Haxe in standardni API razvijata, ne da bi ogrozili njihovo stabilnost, občutljivost in povezanost. V tem pregledu Haxe se ne bo vse zdelo hype vredno, in ravno to je bistvo: DX se izboljšuje in to je v prid preprostemu lovljenju bleščečih »funkcij dneva . '

Vendar je treba najti ravnovesje: spremembe Haxeja se izvedejo z zavedanjem vzorcev, ki jih upoštevajo drugi jeziki, in Haxe 4 se vsekakor trudi, da bi pritegnil novince iz bolj priljubljenih jezikov.

Nova sintaksa »Function Type«

Ob tej opombi Haxe zdaj podpira dva glavna načina predstavitve vrst funkcij. Stara sintaksa 'nakazuje, da sta podprta samodejno kuriranje in delna uporaba, vendar ne,' pravi prvotni predlog funkcije :

Int -> String -> Void

Nova sintaksa omogoča imenovane argumente, ki izboljšujejo DX:

(id:Int, name:String) -> Void

Toda poleg DX je uporaba nove sintakse Haxe 4 za tipe funkcij dobra navada, saj lahko staro, slabšo sintakso v prihodnji večji različici odstranimo.

Skladenjski sladkor ... nekako

Morda ni prelomno, vendar bodo sintaksične izboljšave Haxe 4 dobrodošle novice tako za obstoječe razvijalce Haxeja z določenim razvojnim ozadjem (ES6, na primer) kot tiste, ki bodo morda prvič prišli iz njih v Haxe.

Sintaksa funkcije puščice (»kratka lambda«) je zdaj podprta, kar je v Haxejevem primeru bolj ali manj zgolj bližnjica za tipkanje function in return. Sintakse ponovitve ključ-vrednost in indeks-vrednost (za zemljevide oziroma polja) sta zdaj tudi podprti. Izjave o tipih z uporabo statičnih razširitev lahko uporabijo samo eno using izjavo globalno, namesto da bi jih povsod potrebovali, se uporabljajo ustrezne metode statične razširitve.

Enum in enum abstracts imajo nekatere druge izboljšave, med katerimi je ena ta, da so slednji prešli iz področja uporabe makrov na neposredno podporo prevajalniku. Druge funkcije, ki se premikajo podobno, vključujejo končne razrede, končne vmesnike in zunanja polja .

Nekatere funkcije, ki se zanašajo na makre, so ostale odvisne od makrov, vendar so se kljub temu izboljšale. Preobremenitev operaterja je bila izravnana tako, da je vključevala nastavitve polja in metapodatki je zdaj mogoče razdeliti imena z . ločila kot v @:prefix.subprefix.name.

Klicanje zgornjih sprememb skladenjski sladkor je sicer preveč poenostavljeno, toda bralci so dobrodošli, da se poglobijo v prvotne predloge, povezane s Opombe ob izdaji Haxe 4 kjer potrebujejo več podrobnosti.

Več ojačevalnikov Haxe 4 DX

Medtem ko je bilo interaktivno odpravljanje napak že mogoče v Haxeju za različne sestavljene cilje , novo eval target omogoča interaktivno odpravljanje napak za interpretirano kodo. Za preprost primer lahko vzamete kateri koli imenik projektov vadnice Haxe 'Hello, World', dodate datoteko z imenom whatever-you-want.hxml videti tako:

--main HelloWorld --interp

… In dobite interaktivno odpravljanje napak v ID-ju VSCode preprosto tako:

  1. Odpiranje projekta imenik v VSCode;
  2. Dodajanje točke preloma nekje; in
  3. Pritisnite F5 in v spustnem meniju izberite »Haxe Interpreter«.

Ta funkcija vam omogoča tudi interaktivno razhroščevanje kode makra na enak način, tudi če dejansko prevajate za določen cilj, na primer java (namesto da bi uporabili --interp). Edina zahteva namestitve poleg Haxeja in VSCode same je Razširitev Haxe VSCode .

IDE storitve

Če govorimo o IDE-jih, Haxe 4 uvaja nov protokol storitev IDE, ki je že uporabljen v najnovejši razširitvi VSCode Haxe, vshaxe. Poleg pomembnega povečanja zmogljivosti to omogoča vshaxe, da nudi nekaj izjemno koristnih izboljšav DX, med drugim:

  • (Dolgo pričakovani) samodejni uvoz
  • Namigi lebdenja samodejnega dokončanja kažejo več podrobnosti, na primer odgovor na vprašanje: »Od kod je to polje?«
  • Zelo temeljito samodejno dokončanje na več novih načinov, na primer pričakovano dokončanje tipa, dokončanje postfix in preglasitev dokončanja
  • Optimizacije pritiska tipke med vnašanjem kode

Veliko lažje je videti njihovo vrednost prek odlične vizualne predstavitve iz ustreznega dnevnika sprememb vshaxe . vshaxe z VSCode ni edini Haxe IDE v okolici - HaxeDevelop in Kode Studio sta specifična za Haxe, obstajajo pa tudi vtičniki Haxe IDE za IntelliJ IDEA, Sublime Text, Atom itd., toda zdi se, da je pred vsemi v smislu uporabo novega protokola storitev IDE Haxe 4, ki mu sledi tesno IntelliJ-Haxe .

Unicode Literals

Razvijalci, ki želijo uporabiti prave Unicode nizne literale, bodo to našli v Haxe 4, vendar obstajajo nekaj odtenkov zavedati se.

Nizki samo za branje

Standardni Haxe API ima zdaj matrike samo za branje. Uporaba je tako enostavna kot razglasitev spremenljivke za tip, na primer haxe.ds.ReadOnlyArray, po katerem poskuša nastavitev, potiskanje ali pojavljanje vrednosti povzroči različne napake prevajalnika. Dodajte final ključna beseda za deklaracijo in tudi prerazporeditev same matrike ne bo dovoljena.

Vključitev klicnega mesta

Vstavljanje klicnih mest je nova funkcija jezika Haxe, ki razvijalcem omogoča natančen nadzor nad tem, kje so funkcije vstavljene, kar je koristno pri optimizaciji pogosto klicanih funkcij, pri katerih bi lahko bil splošni kompromis glede velikosti in zmogljivosti sicer odločitev z izgubo.


To so vredni dodatki že tako odličnemu programskemu jeziku Haxe. Kaj so razvijalci v stavbi skupnosti Haxe zdaj, ko Haxe 4 ni več?

Beyond Haxe Game Engines: Spletni razvoj s Haxe 4

V bazi uporabnikov Haxe so v preteklosti prevladovali programerji iger. Vendar obstajajo veliko primerov uporabe Haxeja - v obsegu - v drugih segmentih, na primer v poslovnih sklopih, mobilnih aplikacijah in spletu, za prednji in zadnji razvoj.

V ta namen Haxe 4 dobavi regenerirane HTML eksterne, kar pomeni, da Haxe's js.html standardni API je bil posodobljen s širšim spletnim API-jem, kot ga opredeljuje MDN, pa tudi odpravljanje napak in dodajanje manjkajočih API-jev. (Na primer, Haxe 4 zdaj vključuje potisni API .)

V govoru Jurja Kirchheima, Tkanje boljšega spleta s Haxejem opozarja na primere spletnih rešitev, ki temeljijo na Haxeju, ki so v podjetniškem okolju veliko bolj učinkovite, hkrati pa tudi bolj robustne.

Trdi tudi proti arhitekturnemu pristopu Rails (v smislu hierarhije map), vendar lahko razvijalci, ki podpirajo popoln spletni okvir a la Rails, še vedno lahko najti enega . Včasih lahko razvijalcem koristi, če pregledajo vir celotnega spletnega projekta, v tem primeru si ga je vredno ogledati javni repo za Giffon , platforma za množično obdarovanje, ki podpira Haxe 4. Prav tako spletne osredotočene odprtokodne knjižnice Haxe, kot je delitev JavaScript Haxe Modular , generično thx.core in njene sestrske knjižnice in častitljivi spletni priročnik Haxe Zvončica vsi že podpirajo Haxe 4. Podpira tudi rešitev za uporabniški vmesnik med različnimi platformami HaxeUI , ki podpira spletni kontekst, vendar je usmerjen v veliko širši obseg, vključno z razvojem poslovnih in namiznih aplikacij; še posebej vztrajno je dozorevala do izdaje novega jezika Haxe.

Splet, igre, podjetja ... ne glede na okus platforme in aplikacije, na katero cilja razvojna skupina - tudi ena ekipa - se bodo razvijalci Haxe sčasoma morali spoprijeti z upravljanjem odvisnosti. V ta namen so koristen vir za razvijalce Haxeja diapozitivi iz govora Adama Breecea, Dobro skaliranje z drugimi .

Haxe kot najboljši programski jezik za igre

Ali sploh obstaja en sam 'najboljši' jezik za razvoj iger? To je subjektivno vprašanje, o katerem je enostavno najti burne razprave. Večji, kot bi lahko pričakovali samo od velikosti njegove skupnosti, uspeh Haxeja na področju razvoja iger zagotovo ni naključen. Joe Williamson ponuja nekaj vpogleda v to, zakaj bi to lahko bilo intervju o zmagi na igrišču Ludum Dare 45 v letu 2019 , in zdi se, da se bo to nadaljevalo s Haxe 4.

Prvotni ustvarjalec Haxeja, Nicolas Cannasse, že uporablja Haxe 4 v produkciji s Shiro Games ' Northgard . Motion Twin v produkciji uporablja tudi Haxe 4 Mrtve celice . Obe igri imata na desettisoče pozitivnih ocen v Steamu in sta na voljo tako za osebne računalnike (Win, Mac in Linux) kot za konzole - res mogočen rezultat, saj imata obe igri manj razvojnih skupin, uporabniške baze pa milijonske. Dead Cells ima celo različico iOS, na radarju pa je tudi različica Android.

V knjižničnem pogledu več glavnih igralnih mehanizmov Haxe zagotovo sledi spremembam Haxe 4. Vključujejo motorje, združljive s Haxe 4 Kha (in del številnih motorjev, zgrajenih na njej - npr. Orožarna ), HaxeFlixel in njegova glavna odvisnost OpenFL , NME , in Kupe —Naravno, saj to uporabljajo Northgard in Dead Cells. HaxePunk dela tudi na združljivosti Haxe 4; v enem primeru knjižnica, Nape, je bil razcepljen za delo s Haxejem 4.

Nekateri razvijalci izdelujejo tudi lastne motorje, namesto da bi uporabili enega izmed mnogih, ki so že na voljo. Na primer Kirill Poletaev, ki podrobno opisuje kako in zakaj napisal je svoj lastni stroj za igre 3D Haxe. Ker je omenjeni motor interni, je smiselno, da gre za en primer projekta, ki še ni migriral na Haxe 4.

Haxe 4: Nadaljevanje nemotenega napredovanja odlične orodjarne

S Haxe s tako široko uporabnostjo se najpomembnejše funkcije Haxe 4 razlikujejo glede na razvijalce, zato ta pregled Haxeja nikakor ni izčrpen. Zgoraj manjkajo nekatere spremembe v programu Haxe 4, med drugim:

  • Dodatek izhoda ES6 za cilj JavaScript
  • Odstranitev funkcij (nekatere so še vedno na voljo v knjižnici hx3compat) in ciljev (PHP5 in kmalu AS3 )
  • Zastave CLI so bolj usklajene s običajnimi orodji (-lib -uporaba .hxml datoteke bodo na primer treba spremeniti v -L ali --library).
  • Poleg final zdaj je ključna beseda (ki je zato ni mogoče uporabiti kot ime spremenljivke), operator in overload so tudi na novo rezervirane ključne besede.

Prišlo je tudi do nekaj lomljivih sprememb, vendar jih je tako malo, da se številne aktivno vzdrževane knjižnice niti ne trudijo, da bi izrecno objavile združljivost Haxe 4 - na splošno naj bi bila selitev s Haxe 3 dokaj enostavna. Navsezadnje je eden od ciljev Haxeja stabilnost sredi žongliranja podpore velikemu številu ciljnih platform in Haxe 4 tukaj ne razočara.

Kaj pa novi uporabniki? Na koncu je na bralcu, da se odloči, ali je Haxe najboljši kodni jezik za igre, ali ekosistem Haxe ponuja najbolj robustne knjižnice za spletni razvoj ali orodje, specifično za Haxe, daje najbolj smiseln DX za določen potek dela. Haxe je še vedno uspešen kandidat v mnogih prostorih in ponuja nekaj skrivne prednosti za skoraj vsakega razvijalca.

Nadaljnje branje: Razvijalce, ki so novi v Haxeju, lahko zanima dokaj nova vadnica za Haxe avtorja John Gabriele in tudi opombe ob izdaji Haxe 4.1.0 in Haxe 4.1.1 .

Razumevanje osnov

Kateri okvir se lahko uporablja za razvoj večplatformnih aplikacij?

Obstaja več okvirov za več platform, kot sta React Native in Xamarin, vendar lahko Haxe uporabljamo za razvoj aplikacij za več platform iz ene kode z ali brez ogrodja. Predvsem React Native ima na voljo zunanje primere Haxe, kar pomeni, da ga je mogoče razviti z uporabo Haxeja.

Kateri programski jezik je najboljši za razvoj več platform?

Medtem ko je Java pogosto prvi jezik, o katerem se razpravlja v kontekstu več platform, ima Haxe še širši nabor ciljev: zmožen je preslikati na Javo, pa tudi na C #, C ++, JavaScript, PHP in številne druge. Ker je Haxeju uspelo obdržati toliko tarč, medtem ko je izpopolnil njegovo uporabnost, je tu nedvomen kandidat.

Kateri programski jezik je najboljši za igre?

Razvoj iger obsega velik spekter, zato je najboljši programski jezik za igre odvisen tako od programerja kot od projekta. Primer za Haxe je, da ponuja edinstveno izpopolnjen jezik, hkrati pa lahko hkrati cilja na sisteme Win / Mac / Linux, iOS / Android, HTML5 in konzole iz ene kode.

Kaj je motor za razvoj iger?

Stroji za razvoj iger so knjižnice programske opreme, ki zagotavljajo običajne (ali včasih popolne) funkcionalnosti igralnih mehanizmov. Igralni mehanizem je sestavljen iz osnovne kode, ki je potrebna za obdelavo sredstev, uporabniških vtičnikov itd. Za zagotavljanje izkušnje z igrami. Stroj za razvoj iger lahko vključuje svoj IDE in druga posebna orodja.

Kako izvesti sprint na daljavo

Orodja In Vaje

Kako izvesti sprint na daljavo
Raziskovanje geštaltskih načel oblikovanja

Raziskovanje geštaltskih načel oblikovanja

Ux Oblikovanje

Priljubljene Objave
Predvidevanje: Kako ustvariti čarobne uporabniške izkušnje
Predvidevanje: Kako ustvariti čarobne uporabniške izkušnje
Navdihnite se s temi vizualizacijami podatkov
Navdihnite se s temi vizualizacijami podatkov
Legalne športne stave: novo gospodarstvo, zgrajeno na podlagi vice
Legalne športne stave: novo gospodarstvo, zgrajeno na podlagi vice
10 pristnih načinov, kako pridobiti več všečkov na Instagramu
10 pristnih načinov, kako pridobiti več všečkov na Instagramu
Kako izdelati uspešno tržno strategijo
Kako izdelati uspešno tržno strategijo
 
Kako preklicati naročnine na iPhone
Kako preklicati naročnine na iPhone
Globoko poglobitev v uspešnost entitetnega okvira pri uporabi 'Contains'
Globoko poglobitev v uspešnost entitetnega okvira pri uporabi 'Contains'
Siva zadeva - kaj je miselni zemljevid v procesu oblikovanja?
Siva zadeva - kaj je miselni zemljevid v procesu oblikovanja?
Showdown Design Tool - Adobe XD vs. Sketch (2019)
Showdown Design Tool - Adobe XD vs. Sketch (2019)
Obvladajte vroče trende oblikovanja s temi vajami za Photoshop
Obvladajte vroče trende oblikovanja s temi vajami za Photoshop
Kategorije
Ljudje In EkipeIzdelki In EkipeNamigi In OrodjaUx OblikovanjeOdpravljanje težavPrihodnost DelaUi DesignSpletno MestoProces In OrodjaPostopek Oblikovanja

© 2023 | Vse Pravice Pridržane

socialgekon.com