
CommunityNews
Why we chose Typescript for the Hasura Console
At Hasura, we wanted to introduce a statically typed frontend language for quite some time now. We discussed which one we should choose and evaluated options such as PureScript, TypeScript, ReasonML, and Elm. Following aspects were most crucial to us:
- Hasura Console is a pretty large codebase for a small team, so we can’t rewrite it all to the new language. We need something that works well with the existing JavaScript code. A language that we can inject into our codebase and gradually migrate.
- We use React extensively. Thus we need something that goes with React well and improves React components development.
- We want to enhance developer experience for the external contributors and us. By adopting a statically typed programming language, we aim to make things easier, and the development process way faster. We don’t want to introduce high adoption cost nor force developers to learn a new and completely different language.
After all of the discussions, we decided to choose TypeScript. In this article, I’m going to tell you how we made the decision and why we wanted a statically typed language in the first place. I will also walk you through all of the four languages by a brief overview of each of them.
This thread was posted by one of our members via one of our news source trackers.
Popular Frontend topics

New

10 bad TypeScript habits to break this year.
TypeScript and JavaScript have steadily evolved over the last years, and some of the habits...
New

3 TypeScript Tricks I wish I knew when I learned TypeScript.
TypeScript is a big Superset of JavaScript which has many features which mi...
New

State of the Web: Deno.
What is Deno, why does it matter, and how is it currently used for server-side JavaScript?
New

A Proposal For Type Syntax in JavaScript.
Today we’re excited to announce our support and collaboration on a new Stage 0 proposal to bri...
New

WebAssembly in my Browser Desktop Environment.
For over a year now I’ve been working on daedalOS, my desktop environment in the browser....
New

pzuraq | Four Eras of JavaScript Frameworks.
A blog about (mostly) computery things
New

The new wave of Javascript web frameworks.
Make sense of the proliferation of new Javascript web frameworks. A deep dive into the proble...
New

A Game Engine in the Elm Style!.
A ‘Nu’ way to make games! The Nu Game Engine was the world’s first practical, purely-functional game en...
New

Speeding up the JavaScript ecosystem - one library at a time.
Most popular libraries can be sped up by avoiding unnecessary type convers...
New
Other popular topics

What chair do you have while working… and why?
Is there a ‘best’ type of chair or working position for developers?
New
New

We have a thread about the keyboards we have, but what about nice keyboards we come across that we want? If you have seen any that look n...
New

Small essay with thoughts on macOS vs. Linux:
I know @Exadra37 is just waiting around the corner to scream at me “I TOLD YOU SO!!!” but I...
New

Learn different ways of writing concurrent code in Elixir and increase your application's performance, without sacrificing scalability or...
New

Seems like a lot of people caught it - just wondered whether any of you did?
As far as I know I didn’t, but it wouldn’t surprise me if I...
New

Hi folks,
I don’t know if I saw this here but, here’s a new programming language, called Roc
Reminds me a bit of Elm and thus Haskell. ...
New

If you get Can't find emacs in your PATH when trying to install Doom Emacs on your Mac you… just… need to install Emacs first! :lol:
bre...
New

Build efficient applications that exploit the unique benefits of a pure functional language, learning from an engineer who uses Haskell t...
New

Background
Lately I am in a quest to find a good quality TTS ai generation tool to run locally in order to create audio for some videos I...
New
Categories:
Sub Categories:
Popular Portals
- /elixir
- /rust
- /wasm
- /ruby
- /erlang
- /phoenix
- /keyboards
- /rails
- /python
- /js
- /security
- /go
- /swift
- /vim
- /clojure
- /emacs
- /haskell
- /java
- /onivim
- /typescript
- /svelte
- /kotlin
- /crystal
- /c-plus-plus
- /tailwind
- /react
- /gleam
- /ocaml
- /flutter
- /elm
- /vscode
- /ash
- /html
- /opensuse
- /centos
- /php
- /deepseek
- /zig
- /scala
- /sublime-text
- /lisp
- /textmate
- /nixos
- /debian
- /react-native
- /agda
- /kubuntu
- /arch-linux
- /django
- /revery
- /ubuntu
- /spring
- /manjaro
- /nodejs
- /diversity
- /deno
- /lua
- /julia
- /c
- /slackware