v roce 2019 máme dvě možnosti pro spouštění skriptů ve webovém prohlížeči: JavaScript a WebAssembly.
ale představte si programátora pocházejícího z Java, Haskell nebo dokonce LISP … kde je čistě objektově orientované paradigma? A kde je ten funkční? A co slavná syntaxe LISP?
JavaScript samozřejmě poskytuje objektově orientovaná i funkční paradigmata, ale pokud jde o syntaxi, někteří vývojáři mají pouze preference. Statické psaní, porovnávání vzorů, rozhraní … JavaScript neodpovídá potřebám každého (zatím!).
jak jsme již řekli, v roce 2019 jsme dostali pouze dvě alternativy pro spouštění skriptů ve webovém prohlížeči. Ale počkejte… můžeme cílit JavaScript při kompilaci jiných jazyků!
nebudeme mluvit o historii každého jazyka, který se skládá do JavaScriptu. JS je tak důležitý jazyk, že do něj může zkompilovat každý jiný programovací jazyk.
místo toho uvidíme nějaký skutečný život nebo život měnící programovací jazyky, které můžete použít právě teď ve výrobě, nebo které byste měli dávat pozor na jeho budoucí vývoj.
takže začněme!
Kotlin
Kotlin je mladý a výkonný programovací jazyk, který se nativně zaměřuje na virtuální stroj Java i JavaScript.
největší věc, o Kotlin, je, že budete mít přístup ke všem velké a bitva testované Java knihovny venku!
pokud jste vývojář Java, měli byste se na to absolutně podívat!
Scala
další úžasný jazyk JVM, narozený v roce 2003 v Ženevě.
trvá dobré části obou objektově orientovaných a funkčních programovacích paradigmat a cílí jak Java bytecode a JavaScript nativně!
stejně jako Kotlin budete mít přístup ke každé knihovně Java, ale budete také schopni vyjádřit složité algoritmy využívající výhody funkčního programovacího jazyka!
Clojure
Ok, Poslední jazyk JVM, o kterém budeme mluvit.
Clojure je úžasný programovací jazyk LISP, který kompiluje Java bytecode.
to může kompilovat do JavaScriptu pomocí ClojureScript!
pokud přicházíte z běžného Lispu, rakety, schématu nebo jiného programovacího jazyka LISP, je to určitě řešení pro vás.
TypeScript
TypeScript nepotřebuje žádnou prezentaci. Je to zdaleka nejpoužívanější jazyk kompilace na JavaScript.
přidává typový podpis a další skvělé funkce do JavaScriptu.
lze jej také zkompilovat do WebAssembly pomocí WebAssemblyScript!
jen abyste věděli, jak široce se používá, mějte na paměti, že Úhlové.js, Vue.js (v3), Rx.js, Firebase SDK a VSCode jsou psány v TypeScript!
určitě byste se na to měli podívat!
OCaml
Objective Caml (OCaml) je solidní implementace programovacího jazyka Caml, pocházející z rodiny ML.
je známo, že je to neuvěřitelně rychlý programovací jazyk (některé benchmarky říkají stejně rychle jako C).
v dnešní době se intenzivně používá na Facebook (jen si vzpomeňte na Flow, který je napsán v OCaml) a je známý jako silný a bojem testovaný programovací jazyk.
to může být zkompilován do JavaScriptu pomocí BuckleScript, kompilátor, který překládá OCaml kód do JavaScriptu!
ReasonML
pokud je pro vás OCaml příliš mnoho, zde jste ReasonML!
je to jen nová syntaxe pro programovací jazyk OCaml, který se inspiruje JavaScriptem.
ReasonML byl vyvinut Facebook inženýr, který je také stejný člověk, který vynalezl React.js!
ve skutečnosti nejprve reagujte.js byl navržen tak, aby byl napsán ve StandardML (programovací jazyk ML), takže si dokážete představit, jak blízko jsou tyto dva projekty!
ReasonML používá BuckleScript pod kapotou transpilovat ReasonML kód do OCaml, pak do JavaScriptu. Zdá se, že budoucnost webového i nativního vývoje prochází odtud!
F #
F# je úžasný programovací jazyk pocházející z rodiny ML, který sestavuje Microsoft. NET bytecode.
největší výhodou F# je, že můžete mít přístup ke každé knihovně. Net, od C# po VB! Není to úžasné?
můžete zkompilovat F # kód do JavaScriptu pomocí Fable, „kompilátor, který vydává JavaScript, na který můžete být hrdí“!
Elm
Elm je populární programovací jazyk inspirovaný Haskell.
byl speciálně navržen pro vytváření vysoce výkonných webových aplikací a vysoce optimalizovaného kódu JavaScript.
také slibuje, že se vyhne jakékoli výjimce z běhu díky úžasnému systému silného typu(vysoce inspirovanému Haskell).
Věděli jste? Redux byl inspirován architekturou Elm, která je mimořádně skvělá pro reaktivní webové aplikace!
PureScript
PureScript je silný typovaný a čistě funkční programovací jazyk vysoce inspirovaný Haskell.
v PureScript můžete znovu použít jakoukoli existující knihovnu JavaScriptu, takže nemusíte znovu objevovat kolo pokaždé!
pokud přicházíte z funkčního programování, PureScript je úžasný způsob, jak vytvářet pevné a bez výjimky webové aplikace!
Dart
Dart je objektově orientovaný programovací jazyk vyvinutý společností Google, jehož cílem je být největší alternativou JavaScriptu pro webový a nativní vývoj.
Google nedávno vydal Flutter pro nativní vývoj aplikací, který je napsán v Dart.
pokud přicházíte z Javy, zjistíte, že je pohodlné psát v Dart!
C / C++
Ok, že je to vlastně neuvěřitelné: můžete převést stávající C / C++ kód do JavaScriptu pomocí Emscripten!
samozřejmě nikdy nedosáhnete c/c++ vystoupení s JavaScriptem, ale existují určité projekty, které by bylo opravdu těžké reimplemented od nuly. Tesseract.js je úžasný příklad projektu C++ Tesseract OCR! Osobně jsem to použil a nezjistíte, že zdrojový kód byl zkompilován z c++!
Clio
Clio je čistě funkční lazy hodnocený programovací jazyk zaměřený na decentralizované a distribuované systémy.
sestavuje vysoce kvalitní JavaScript kód, který může být spuštěn jak na prohlížeči a serveru (pomocí uzlu.js).
zatímco Clio je stále v aktivním vývoji, zavádí některé skvělé a inovativní nápady. Na tento projekt bych úplně vsadil!
LiveScript
LiveScript je úžasný programovací jazyk, který kompiluje do JavaScriptu. Vytvořil jej Jeremy Ashkenas, tvůrce CoffeeScript.
LiveScript je vlastně vývoj CoffeeScript, který zahrnuje funkční i objektově orientovaná programovací paradigmata.
pokud přicházíte z funkčního jazyka, jako je Elixir nebo OCaml, najdete to úžasné řešení pro psaní vysoce kvalitních aplikací JavaScript!
závěr
Dnes jsme viděli 13 jazyků, které se kompilují do JavaScriptu.
je jasné, že vývoj štěstí je hlavním zaměřením pro vývojáře v těchto dnech, ale je také jasné, že JavaScript je neuvěřitelně důležitý jazyk, a komunita neustále pracuje na zlepšení svého ekosystému.
JavaScript budoucnost je jasnější než kdy jindy!