At Digital Frontiers we all have our favourite languages. The other day we were arguing about advantages and shortcomings of some specific ones and decided to have a closer look at them, using a Sudoku verifier as common example. If you are also interested in other programming languages, here is a collection of links to the other blog posts in our series:

Microservices don’t always have to speak HTTP. Another common approach is using asynchronous communication via events. A well known middleware, Apache Kafka, despite the fact being at home in the Java eco-system, provides adapters for many platforms. How well can a Rust application be integrated into a mostly foreign environment? In this post we will find out by building another microservice.

Photo by pine watt on Unsplash

This is the second part of a series of articles on how you can create, deploy, monitor and scale a microservice-based application. The Other parts in this series are (so far):

As mentioned in…

Photo by Atik sulianami on Unsplash

Should you write your new microservices in Rust? In this post you will learn how you can develop such an application with Rust and you will be able to answer the question, if you should.

This is the first part of a series of articles on how you can create, deploy, monitor and scale a microservice-based application. You can find the sourcecode at GitHub. Stay tuned for the next parts to be published, they will be linked here.

Why even consider Rust?

To be honest, I think it would be faster to create the application we will develop using Java instead of Rust, at…

A hands-on walk-trough on how to create a REST-API with Rust, Rocket and Diesel

Rocket, ready to launch. Photo by Felipe Simo on Unsplash

What and why

If you are comfortable writing web-services in Java, why should you try writing a web-service in Rust?

Microservices enable us to quickly scale our application according to consumer needs, requiring reasonable start-up times to achieve elasticity. When considering a serverless scenario, this aspect is even more important. But is it worth learning a new language and several frameworks just for a few milliseconds? Obviously not. But Rust has more in store than brisk startup times and raw performance. …

Rust is a systems programming language, that describes itself as a ‘safe, concurrent, practical language’.

Because Rust supports cross compilation since its early stages and provides a platform agnostic standard library, it seems to be a perfect fit to develop native, high-performant graphical desktop applications.

I therefore set out to explore the realms of GUI development with Rust to gain an increased understanding of its quirks and evaluate its readiness for being used in our projects.

Getting a feeling for Rust

So, before I go over how to build a GUI with Rust, let’s quickly iterate over some aspects of the language, that make it…

Rust praises itself as being capable of creating some of the fastest executables, while at the same time supporting high-level abstractions. In most cases, the abstractions are resolved at compile-time, leading to ‘zero-cost abstractions’ without any runtime-overhead. In most cases function calls are implemented using fast static dispatching. But what about the other cases? This is where dynamic dispatching comes into play. In this post I am going to present you with a thorough introduction to this concept, leading far deeper into the rabbit hole than initially anticipated.

Static vs dynamic dispatch

Photo by Patryk Grądys on Unsplash

I will start with an example: Imagine we have some common functionality…

Marco Amann

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store