はじめに
概要
Anki の UI は、主に Python/PyQt で記述されています。レビューや編集用の画面など、多くの画面は Python/PyQt で書かれています。 画面やエディターには、TypeScript や Svelte も使われています。アドオンを書くには基本的なプログラミングの経験と、Pythonに精通していることが必要です。Python チュートリアル が参考になります。
Anki のアドオンは Python モジュールとして実装され、Anki は起動時にこれを読み込みます。 アドオンは、特定のアクションが発生したときに通知されるように登録することができます。例えば、ブラウズ画面がロードされたときに実行されるフックを登録したり、特定アクションが実行された際に UI に変化を加えることができます(例: 新しいメニューの UI を追加等)。
Anki のアーキテクチャの概要はこちら を参照してください。
普通のテキストエディタで Anki のアドオンを開発することも可能ですが、コードエディターや IDE を使えば、開発がより楽になります。 詳しくは下記の「IDE と 型ヒント」のセクションをご覧ください。