
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

Extend existing APIs
This project is useful in any environment where Lua code is accepted, with the powerful option of simply declaring a...
New

**Run any code on any client.**With WebAssembly and Wasmer.
It’s been almost 6-months since we released Wasmer 1.0, and the community ...
New

Etsy’s Journey to TypeScript.
Over the past few years, Etsy’s Web Platform team has spent a lot of time bringing our frontend code up to...
New

Starting a blank Jekyll site with Tailwind CSS in 2022.
Most websites I build start off as a blank Jekyll site with Tailwind CSS on top.
New

JavaScript Containers.
The majority of server programs are Linux programs. They consist of a file system, some executable files, maybe s...
New

Monorepos in JavaScript & TypeScript.
A tutorial how to use a monorepo architecture in frontend JavaScript and TypeScript with tools...
New

Enarx 0.6.0: Fushimi Castle.
This release is a developer-only, preview release. It is not production ready. We hope that you will experi...
New

GitHub - astrodon/astrodon: Make Desktop apps with Deno :sauropod:.
Make Desktop apps with Deno :sauropod:. Contribute to astrodon/astro...
New

TIL: You Can Access A User’s Camera with Just HTML.
So that’s the HTML capture attribute. It’s a pretty cool way to add a nicer user exp...
New

Will Serving Real HTML Content Make A Website Faster? Let’s Experiment! - WebPageTest Blog.
In this post, Scott runs WebPageTest Pro Exp...
New
Other popular topics

I am thinking in building or buy a desktop computer for programing, both professionally and on my free time, and my choice of OS is Linux...
New

New

My first contact with Erlang was about 2 years ago when I used RabbitMQ, which is written in Erlang, for my job. This made me curious and...
New

Oh just spent so much time on this to discover now that RancherOS is in end of life but Rancher is refusing to mark the Github repo as su...
New

Crystal recently reached version 1. I had been following it for awhile but never got to really learn it. Most languages I picked up out o...
New

We’ve talked about his book briefly here but it is quickly becoming obsolete - so he’s decided to create a series of 7 podcasts, the firs...
New

The File System Access API with Origin Private File System.
WebKit supports new API that makes it possible for web apps to create, open,...
New
New

Author Spotlight:
VM Brasseur
@vmbrasseur
We have a treat for you today! We turn the spotlight onto Open Source as we sit down with V...
New

Develop, deploy, and debug BEAM applications using BEAMOps: a new paradigm that focuses on scalability, fault tolerance, and owning each ...
New
Categories:
Sub Categories:
Popular Portals
- /elixir
- /rust
- /ruby
- /wasm
- /erlang
- /phoenix
- /keyboards
- /rails
- /python
- /js
- /security
- /go
- /swift
- /vim
- /clojure
- /emacs
- /haskell
- /java
- /svelte
- /onivim
- /typescript
- /kotlin
- /c-plus-plus
- /crystal
- /tailwind
- /react
- /gleam
- /ocaml
- /elm
- /flutter
- /vscode
- /ash
- /opensuse
- /html
- /centos
- /php
- /deepseek
- /zig
- /scala
- /sublime-text
- /textmate
- /lisp
- /nixos
- /debian
- /react-native
- /agda
- /kubuntu
- /arch-linux
- /django
- /ubuntu
- /revery
- /spring
- /manjaro
- /deno
- /nodejs
- /diversity
- /lua
- /julia
- /slackware
- /c