TypeScript vs KotlinJS • Eamonn Boyle & Garth Gilmour • GOTO 2022

preview_player
Показать описание
This presentation was recorded at GOTO Amsterdam 2022. #GOTOcon #GOTOams

Eamonn Boyle - Development Manager at Gearset
Garth Gilmour - Head Of Learning at Instil Software @garthgilmourni

ABSTRACT
Everyone is coding in JavaScript at the moment, and yet no one is. It’s increasingly rare to find modern developers working in plain old ES6 when there are a plethora of alternatives available. Every emerging language seems to offer compilation to JS and/or WebAssembly, whilst dedicated alternatives like Elm, Reason and PureScript are driving innovation.

TypeScript emerged on the client and is now conquering the server. Initially, it was a safer way to write your Angular or React UI, but these days it’s a respectable and fully supported language for serverless apps (e.g. via the AWS Cloud Development Kit). As the language has evolved its feature set has become remarkably powerful, to the extent where type driven development and meta-programming can be productively used by mere mortals.

Kotlin has grown from the other extreme. It began as a language for simplifying Java development in environments like Android and Spring Boot. But over the past two years, the language has outgrown the JVM and now also targets JS, WebAssembly and native binaries. Multi-platform projects enable teams to create a single consistent domain model that can be universal within a distributed application with web and mobile UI’s.

What will the audience learn from this talk?
• About in-depth coverage of new language features in Kotlin & TypeScript
• The future directions of Kotlin & TypeScript and their suitability for different kinds of distributed architectures [...]

TIMECODES
00:00 Intro
03:36 Experiment: Is KotlinJS worth it?
09:43 Round 1: Community
11:23 Round 2: Interop with JavaScript
15:28 Round 3: JSX vs DSL
24:59 Round 4: Async await vs coroutines
27:41 Round 5: Elegant syntax
31:33 Conclusion
34:42 Outro

Download slides and read the full abstract here:

RECOMMENDED BOOKS

#KotlinJS #TypeScript #Kotlin #JSX #DSL #Coroutines #AsyncAwait #Programming #ProgrammingLanguages #FunctionalProgramming #Fable #Scala #ScalaJS #React #Redux #Dukat #Ktor

CHANNEL MEMBERSHIP BONUS
Join this channel to get early access to videos & other perks:

Looking for a unique learning experience?

SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily.
Рекомендации по теме
Комментарии
Автор

The fun thing is that I built a complex application in vanilla JS because it gave me the most flexibility. 🤣
Also, it's "instant". F5 and the app are running the new code.
The project handles pdf forms, augments them with data from salesforce, extra validation, and even constraints (if checkbox A is checked, the field is a number less than 5; else, it's a string with a specified format) and formula field (a field that takes the value of user configured formula).

Javascript evolved a lot, and APIs, too. Just look at "fetch, " which starts to get old. You can also use modules without bundlers.

And with template strings, you can already do some templating, too.

As for destructuration, it's built-in JS. Arrays, objects, and even aliasing on the fly.
You also have generators, which cover the use case shown for coroutines. (So, available in TS too)

As for async-await, you can even NOT use them to be able to use "Promise.All", signaling to the browser that it is fine do do these in any order and in parallel.

As an example, if you have a loop with an await in its body, you can sometimes just put all your promises in an array, terminating the loop faster and allowing the browser to handle those as it see fit. Otherwise, you force serialization (one after the other).

And that's things that you could never learn if you start above JS.

programaths
Автор

Thank you for your intellectual honesty. It's greatly appreciated.

geraldodev
Автор

Kotlin doesn't have union types or structural typing, so that makes it a non-starter.

StylishHobo
Автор

Sounded interesting until Garth started digging through options in some GUI tool or other at which point my eyes glazed over and I lost interest.

edgeeffect
Автор

Webpack, JS is far away and ahead of old tech.

seanknowles