35.1 F
Columbus
Friday, March 5, 2021

Case Study: How Wasabi Wallet is Built Using .NET, Avalonia and JetBrains Rider

This post was originally published on this site

A few weeks back, we had a chat with Roland Soós, one of the Software Developers working on Wasabi Wallet.

They shared with us how they use JetBrains Rider to build their application that works on Windows, macOS and Linux thanks to the cross-platform Avalonia framework.

Hi Roland, can you tell us a bit more about yourself and Wasabi Wallet?

I graduated as a software engineer in 2019, and during my internship I was introduced to C# which also had an impact on my career. During my 3 years of experience, I have worked in automotive, healthcare informatics, and currently, I am in the world of Bitcoin on Wasabi Wallet’s UI team.

Wasabi Wallet is an open source, non-custodial, privacy-focused Bitcoin wallet for Windows, Linux, and Mac, with built-in Tor, CoinJoin, and coin control features. In November 2020, we announced Wasabi Wallet 2.0 with a complete UI redesign and significant UX improvements.

Wasabi Wallet - Application developed with .NET, Avalonia and JetBrains Rider

What’s the technology behind Wasabi Wallet? Why did you choose Avalonia to develop the product?

Our strategy is like the Bitcoin trust model: Don’t trust, verify. For security reasons, we only use open source, and as few dependencies as possible.

Since Wasabi Wallet is a cross-platform application, we need tools and frameworks that are cross-platform, too. When we started development back in 2018, Avalonia was the only C#, open-source solution for building user interfaces that work cross-platform.

We are using C# and .NET 5 as the main programming language and runtime, combined with Avalonia, ReactiveUI, and ASP.NET.

How did you start using JetBrains Rider for development? Is everyone on your team using it?

When I joined the UI team, I was still using Visual Studio, which crashed too many times. I asked Dan Walmsley from the Avalonia team about Rider and he suggested I try it.

Switching IDEs is stepping out of your comfort zone, so of course, there were some challenges. For the first three days, I spent a lot of time on the JetBrains forums, looking for settings to be able to customize Rider exactly the way I wanted. Thanks to the community, this went quickly.

Since making the switch, I haven’t opened any other IDEs. You can work with it much faster, which is very rewarding. In my UI team, everyone now uses Rider (and the Early Access Program), thanks to its great Avalonia support.

What are your favorite parts of Rider? Where and how does it help you on a daily basis?

I have three favorites. The built-in terminal is great, and Find in files (Ctrl+Shift+F) is excellent with its preview. But the best is that ReSharper is integrated. While coding, it monitors and improves code health, and you can learn new things with it much faster.

Using Rider to develop Avalonia cross-platform UI

What advice would you give to developers starting out with Avalonia and Rider?

They should install the AvaloniaRider plugin, which gives a live preview for Avalonia XAML files, and again, does this cross-platform! This makes it easy to see the result of any UI changes you make.


We’d like to thank Roland Soós, the Wasabi Wallet team, and the folks at Avalonia for taking part in this Q&A.

Are you also building applications with JetBrians Rider? Share your experience with us, please let us know by leaving a comment below or contacting us.

The post Case Study: How Wasabi Wallet is Built Using .NET, Avalonia and JetBrains Rider first appeared on JetBrains Blog.

Related Articles

PhpStorm 2021.1 EAP #6

In this build, we’re adding support for prefixed table names in SQL queries. Read on to learn more. The Early Access Program is coming to...

The Overflow #63: What I wish I had known about single page applications

Welcome to ISSUE #63 of the Overflow! This newsletter is by developers, for developers, written and curated by the Stack Overflow team and Cassidy Williams at Netlify....

IntelliJ IDEA 2021.1 Goes Beta!

We’ve got great news to share with you today! After almost five weeks of the EAP, the Beta version of IntelliJ IDEA 2021.1 is...

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Stay Connected

21,619FansLike
0FollowersFollow
0SubscribersSubscribe
- Advertisement -

Latest Articles

PhpStorm 2021.1 EAP #6

In this build, we’re adding support for prefixed table names in SQL queries. Read on to learn more. The Early Access Program is coming to...

The Overflow #63: What I wish I had known about single page applications

Welcome to ISSUE #63 of the Overflow! This newsletter is by developers, for developers, written and curated by the Stack Overflow team and Cassidy Williams at Netlify....

IntelliJ IDEA 2021.1 Goes Beta!

We’ve got great news to share with you today! After almost five weeks of the EAP, the Beta version of IntelliJ IDEA 2021.1 is...

Webinar Recording: Getting Started With Svelte in WebStorm

The recording from the Getting Started with Svelte in WebStorm webinar is now available on the JetBrainsTV YouTube channel! In this webinar, Paul Everitt, JetBrains...

WebStorm 2021.1 Beta: Improvements for Stylelint, Vue, and Version Control

WebStorm 2021.1 has reached the Beta milestone! You can upgrade to the latest build using the Toolbox App or from our website. To catch...