TypeScript is an open source language which first appeared in 2012, and has been gaining popularity ever since. It was voted 2017’s third most loved language in StackOverflow’s 2017 survey and was chosen by Google to build Angular 2.0 with.
This presents a problem of unpredictability in terms of how exactly an application will behave to varying types of input. If developers do not maintain a constant awareness of possible scenarios while writing code, this can lead to a type error occuring at runtime. Such failures should never occur when running mission critical Lisk applications.
When coding TypeScript in such an environment, type checking will occur when the code is transpiled, for example when you save, rather than when the application is run. This constant feedback allows developers to pick up on type errors earlier on and deal with them immediately, removing any chance of a type error occuring at runtime.
Lisk Elements, which is a collection of modules that will be used extensively by developers as part of our SDK, is a good candidate for TypeScript and ultimately will bring the aforementioned improvements to the developer experience, therefore helping us with our mission to build an accessible and secure blockchain application platform.
During the Network Economics stage of our roadmap and after all modules have been extracted and migrated to Lisk Elements, we will also migrate the remaining Lisk Core application to TypeScript.