Kotlin + npm + webpack + React = WAAT?

Gabor Orosz
AppCraft
Published in
2 min readApr 19, 2017

Március elején, amikor megérkezett a Kotlin 1.1, egyértelműen azt a benyomást keltették, hogy a JavaScript támogatást szánták a legnagyobb dobásnak.

Bevallom meglehetősen kétkedve fogadtam az egészet. Ezt le is írtam a budapest.mobile csoportban. Igazából abban voltam bizonytalan, hogy lesz-e ebből valami, és egyáltalán kell-e még egy JavaScript alternatíva.

Ma ebédeltem egy jót Flakival 🦊, és azért egy kis szakmázásra is sort kerítettünk. Egy tök érdekes gondolat merült fel. Igazából web haladási irányáról ment a filozofálgatás. Mert ugye már a küszöbön toporog a Web Assembly, ami sok más mellett azt hozza majd, hogy simán bármelyik nyelvből lehet a webre fordítani.

Egy gondolat rendesen beragadt:

“A web a platform, ennyi a lényeg, a többi másodlagos, igazából a Java Script, mint nyelv is.”

Furcsa egybeesés, meglehet összebeszéltek, viszont a ma esti böngészés során a JetBrains blogjáról éppen ez az egyébként tegnapi post jött szembe.

Konkrétan arról van szó egy teljes alkalmazást vittek végig és osztottak meg, backenddel, webes felülettel. Viszont, és ez a lényeg, full stack módon Kotlinnal vittek végig.

Backenden a Ktor webes alkalmazás keretrendszerrel, frontenden pedig a már jól megszokott webes toolingot hozták össze Gradleval. De tényleg, npm, webpack, React.

Minden van csak a nyelv más, a megszokott JS, TypeScript vagy esetleg Dart helyett Kotlinnal.

Még mindig van bennem némi kétkedés. Akármennyire is szeretem a nyelvet Android fejlesztésnél, alapvetően nem ez lenne a természetes választásom egy hasonló alkalmazás architektúra tervezésénél.

Azonban számos olyan scenariot el tudok képzelni, amikor ez igenis jó, hasznos, és nagyon passzol. Tegyük fel ezzel van stabil tudás, és tapasztalat, így gyorsabban lehet haladni, nem kell külsőst bevonni, és a költségeket is jobban lehet kontrollálni.

Valamint végső soron jó dolog, amit Flaki mond, a web, mint platform megadja majd a választás szabadságát.

Ha rögtön a lényegre térnél a forráskód erre található.

--

--