Skip to content
This repository was archived by the owner on Apr 8, 2023. It is now read-only.

Architectural Considerations

Ryan Barr edited this page Jun 26, 2022 · 4 revisions

❓ Why Electron and not another platform, such as Tauri?

The original prototype of HarvestMonster was built on Tauri, due to it being significantly better at memory management and that its bundles were smaller by an order of magnitude. Unfortunately, Tauri does not have the sophisticated IPC layer that Electron offers nor does it have a robust API. These reasons among a few others, including that Electron has more community support, led to the migration to Electron.

❓ Why Svelte and not another framework, such as React or Vue?

While React and Vue are both incredibly powerful, Svelte was chosen for two basic reasons:

  1. Svelte focuses on compiled source, where React and Vue are rendered on the client by default. Compilation allows the interface to feel more native and quick.
  2. The Svelte framework is very lightweight and isn't encumbered by a complex API or development patterns. This lends itself to be easily picked up by any developer that may not already be familiar with it.