Comment by pityJuke

2 months ago

This feels as if it deserves a write up, did not know that they migrated from Python to a primarily Rust backend. Would love to know the why/what from the team.

(Anecdotally, Anki has seen a huge quality increase in the past couple of years.)

The Rust backend code is shared between all platforms (Desktop, Android, iOS and Web). This wasn't feasible with the Python code.

From an Android (AnkiDroid) perspective, it's allowed us to remove most of our code which was manually ported from the Python backend, with guaranteed 1:1 compatibility with upstream.

We've moved from being years behind upstream to being able to release in tandem with the Desktop app.

We also migrated to common screens written in Svelte, to reduce the maintenance burden of UI changes for screens with high churn (Deck Options being the primary example).

Most def. It's ALL Rust underneath, the PyQT gui (on desktop) is basically a legacy compat layer, mostly because they need to support vast amount of add-ons, and the editor is quite complicated piece of UI.