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
I suspect you’ve already have Emscripten (https://emscripten.org/) installed.
Make sure, you’ve included the proper paths, so you can iss...
New
Why do we need static blocks in classes?
A more complicated example
Details
Support in engines for class static blocks
Conclusion
New
This is going to come across as a rant, so I’ll do my best to refrain from blaming any one project or source and just make a generalized ...
New
How JavaScript engines achieve great performance.
Ever wondered what browsers do to get JavaScript to execute quickly? Let’s take a look...
New
Announcing TypeScript 4.6.
Today we’re announcing the availability of TypeScript 4.6. If you’re not yet familiar with TypeScript, it’s a...
New
GitHub - phoboslab/q1k3: A tiny FPS for js13k.
A tiny FPS for js13k. Contribute to phoboslab/q1k3 development by creating an account on ...
New
View here:
https://chaotic.netlify.app/
This thread was posted by one of our members via one of our news source trackers.
New
All branches will diverge from the stem: from Elm to Derw.
Forgive the fancy title, but I felt it fit this month’s Derw improvements wel...
New
Minimal CSS Framework
for Semantic HTML
A minimalist and lightweight starter kit that prioritizes semantic syntax, making every HTML ele...
New
Other popular topics
Reading something? Working on something? Planning something? Changing jobs even!?
If you’re up for sharing, please let us know what you’...
New
New
No chair. I have a standing desk.
This post was split into a dedicated thread from our thread about chairs :slight_smile:
New
Bought the Moonlander mechanical keyboard. Cherry Brown MX switches. Arms and wrists have been hurting enough that it’s time I did someth...
New
Just done a fresh install of macOS Big Sur and on installing Erlang I am getting:
asdf install erlang 23.1.2
Configure failed.
checking ...
New
Hello everyone! This thread is to tell you about what authors from The Pragmatic Bookshelf are writing on Medium.
New
I have always used antique keyboards like Cherry MX 1800 or Cherry MX 8100 and almost always have modified the switches in some way, like...
New
Will Swifties’ war on AI fakes spark a deepfake porn reckoning?
New
Get the comprehensive, insider information you need for Rails 8 with the new edition of this award-winning classic.
Sam Ruby @rubys
...
New
Node.js v22.14.0 has been released.
Link: Release 2025-02-11, Version 22.14.0 'Jod' (LTS), @aduh95 · nodejs/node · GitHub
New
Categories:
Sub Categories:
Popular Portals
- /elixir
- /rust
- /wasm
- /ruby
- /erlang
- /phoenix
- /keyboards
- /python
- /js
- /rails
- /security
- /go
- /swift
- /vim
- /clojure
- /java
- /emacs
- /haskell
- /svelte
- /onivim
- /typescript
- /kotlin
- /c-plus-plus
- /crystal
- /tailwind
- /react
- /gleam
- /ocaml
- /elm
- /flutter
- /vscode
- /ash
- /html
- /deepseek
- /opensuse
- /zig
- /centos
- /php
- /scala
- /react-native
- /lisp
- /sublime-text
- /textmate
- /nixos
- /debian
- /agda
- /deno
- /django
- /kubuntu
- /arch-linux
- /nodejs
- /spring
- /ubuntu
- /revery
- /manjaro
- /julia
- /diversity
- /lua
- /markdown
- /slackware









