Technologies that are going to change the Web
By Tanmay Kachroo
--
The Web is continuously evolving with the rise of OSS (Open-Source Software) and the publishing of new libraries on a daily basis. Let’s take a look at a few of the new technologies that are most probably going to have a major impact on the web, whether it be improving developer experience (DX) or complex featured web applications.
- Web assembly (WASM)
When we write C++ code, we then compile it into machine code which is fast and optimized as it directly runs on the device’s hardware.
We might be thinking that there is no easy way to make this native code run on browsers, but this is where WASM comes into play. With the help of WASM technology and a compiler such as Emscripten, we can compile native code written in languages like C/C++, Rust, etc into WASM, which will magically be able to run on browsers too, whether it be a client-side web application or a web server.
The native code gets compiled into a binary format inside .WASM files and this binary code in the .WASM file can then be converted into the low level code for that particular device that the browser is currently running on, which is the reason behind increased speed.
One of the benefits of WASM is that now we can easily integrate libraries or packages written in some language like C++, Rust etc in the browser by compiling them into WASM. Therefore, we no longer need to code separate libraries for the web.
Use of WASM can also give much better performance in complex web applications as WASM files are in low-level binary format with smaller sizes and will make development a lot easier and make them work like native apps.
Some popular web applications that use WASM are Figma, Stackblitz etc. Stackblitz is an online IDE, even faster than the local development environment only because of WASM.
2. Rust
Rust is a systems programming language by Mozilla. According to the Stack Overflow Developer Survey 2021, Rust has also been voted the most beloved programming language. Its performance and syntax is very comparable to C/C++, which is really fast when compared to Javascript. It is a low-level language and gives the developer full control over memory management and safety.
With Rust’s fast speed and good compatibility to be compiled to WASM, we can use their integration to make Rust run on browsers too!
Rust is a static typed language, unlike Javascript which protects the application from runtime errors and makes development easier and maintainable.
In Next.js 12, Vercel introduced their new Rust compiler. This made the local development refreshes 3 times faster and generated builds 5 times faster! Compilation using Rust is 17 times faster than Babel (a Javascript compiler)!
Rust can be especially useful for developing developer tools like CLI apps, compilers etc.
3. Go
Golang was created by Google. It provides the efficiency of C++, but is easier to learn, write, read, and deploy. Go is one of the most popular languages for DevOps, cloud-based and backend application development because of its fast speed and its being statically typed. Go is even more strongly typed than Java as Go has no implicit type conversions!
These technologies are still being used in very important libraries and frameworks and their integrations into the web are still under rapid development. Knowing the principles behind these can really help us to make better developer decisions and create software or DevTools that follow better practices and performance standards.