Local Development
As Aeon is a desktop app, yout development happens locally as well. In this guide, we'll go step by step what you need to do, to get Aeon set up locally and get started on its development.
Working with the terminal
Aeon is built using command line tools (sometimes abbreviated as CLI). These are tools that don't use neat graphical interfaces, but a terminal interface: the old-school style text-based screen you usually only see in movies. To access the command line, you need to open up a terminal in your operating system. Either use one of your OS-provided terminals (Terminal for macOS and Ubuntu; Command Prompt for Windows), or find a cross-platform terminal app such as Hyper.
We actually recommend working with Visual Studio Code for this reason: it comes with a terminal built-in! You can open it up with Ctrl + Backtick on Windows/Linux and Cmd + Backtick on macOS. Do make sure you know how to operate your terminal before you start working on Aeon. To help you get along, find this guide on how to operate the Ubuntu terminal. You'll find that the macOS and Linux terminal are actually pretty similar once you get inside.
These guides will assume you are working on a UNIX terminal (e.g. bash, zsh, fish), as these work across macOS, FreeBSD and Linux distributions. If you are on a Windows machine and you cannot translate these to Command Prompt or Powershell commands yourself, consider installing the Windows Subsystem for Linux. This allows you to run a bash terminal on Windows, on which all commands in this guide should work flawlessly.
Prerequisites
Aeon is based on Electron, a tool that combines the Chromium browser (on which Chrome is built) with a NodeJS (best described as server-side Chromium again) back-end in a single, executable desktop package. It is no suprise that everything is written in Javascript. In order to get started, you're going to need a couple of tools so that we can actually compile and run the application. These are as follows:
Git
A version control tool for code: Git helps you make small changes to a large codebase such as Aeon's. Either install the binary directly, or use one of your favorite package managers:
Windows (Chocolatey)
macOS (Homebrew)
Ubuntu (apt)
NodeJS
A server runtime for JavaScript: helps you build powerful Javascript-based applications that can run on the desktop rather than the web! Either install the binary directly or use one of your favorite package managers:
Windows (Chocolatey)
macOS (Homebrew)
For Linux installs, find the relevant package manager of your choice in the NodeJS install guide.
Cloning the repository
Now that you have installed all prerequisites, you need the source code that compiles to the Aeon application. Fortunately, this is accessible from GitHub and you can copy it to your computer very easily. First, make sure you navigate to the folder that will hold the folder containing all the Aeon code. Make sure you navigate to a particular folder on your own system.
Now that we're in the directory, we're going to copy the entire codebase to a folder within this directory. This operation is called cloning in Git terminology. You do it as follows:
When the command finishes, the Aeon codebase should be found in a folder called aeon
. Navigate into this folder to get started on installing dependencies.
Installing dependencies
Aeon builds upon lots of tools and libraries that make working with data, interfaces and other stuff a lot easier. These dependencies must be installed first, before we can start compiling the application. You do this as follows:
Development Mode
In order to make development really easy, Aeon has a development mode that incrementally compiles Aeon and runs it immediately. This means that when you change a file, the application is re-compiled and reloaded. To start development mode, run the following command:
Using the Visual Studio Code Debugger
The repository also includes a basic setup for integrating the VSCode debugger. This allows you to inspect objects that are logged, set breakpoints and do object inspection while you are developing. To use it, either press F5
or run Electron Main
from the debugger tab.
Compiling
If you want to generate an application package for distribution, you can run a build command as follows:
When the command finishes (note: this may take a while), you can find a build for your specific platform in the out/make
folder.
What's next?
Now that you know how that make local development work, have a look at the architecture diagram, and how specific core concepts work. If you feel adventurous, you can get to work and start creating pull requests with new features.
Last updated