Skip to content

Instantly share code, notes, and snippets.

@UselessMnemonic
Last active October 29, 2021 15:40
Show Gist options
  • Save UselessMnemonic/6b6904710063fd1f5534ffee453375cc to your computer and use it in GitHub Desktop.
Save UselessMnemonic/6b6904710063fd1f5534ffee453375cc to your computer and use it in GitHub Desktop.
Software Setup

Notes

macOS

Using brew is highly recommended. It is a package manager for macOS and Linux that makes search and installation a breeze.

Windows

Some software for Windows 10/11 is available through winget, a Microsoft-developed package manager.

Student Offers

GitHub and JetBrains offer licenses for various tools used by us. Check them out at:

SDKs and Development Tools

Java

Java is required for those interested in AWS/backend development and testing. It is recommended to have a Java 11 JDK available, regardless of wether you already have a newer version installed. If you already have a Java 11 JDK available, we still recommend to use a build from Eclipse Temurin (previously AdoptOpenJDK.)

Tomcat 8

Tomcat is a server software that hosts our backend, which is also used by AWS. This will allow you to test your server code on your computer.

Node.js

Node.js is a Javascript runtime, meaning it enables the user to run Javascript outside the context of a web browser. It is particularly important for developing reactive web pages. If you want to do Web/frontend, this is required.

IDEs and Editors

IntelliJ IDEA

IntelliJ is a popular alternative to some IDEs listed below. It is growing in use in the industry, so is worth using in our group. Two versions are available, Ultimate and Communitiy, which are paid and free respectively. You may aquire a license with your student email.

  • brew install intellij-ultimate or brew install intellij-community
  • winget install JetBrains.IntelliJIDEA.Ultimate or winget install JetBrains.IntelliJIDEA.Community
  • https://www.jetbrains.com/idea/

Eclipse

Eclipse is widely used by professionals in many industries. While it may not be super fancy, it is rich with features and, most amazingly, is open sourced! We will mostly use Eclipse for backend development in conjuction with AWS.

The Eclipse Tomcat and AWS Toolkit plug-ins will provide some tools to run the project locally and remotely. Follow the instructions on the links to install them.

Caveat

The AWS plug-in depends on a library that has been removed from Java after Java 11. Download the library here, then save it to your preferred location.

Navigate into the Eclipse root, where you will find a file called eclipse.ini.

  • macOS users will find it under /Applications/Eclipse\ JEE.app/Contents/Eclipse/
  • Windows users will find it in their Eclipse installation directory

Modify eclipse.ini to include the following lines at the very top:

-dev
<path-to-library>/jaxb-api-2.3.1.jar

Note that this is a dependency on part of the IDE, so importing the library into your project will not fix this issue.

MPLAB X

MPLAB is an IDE developed by Microchip, owner of the PIC arcitecture, and is required to develop firmware for their family of PIC microprocessors.

Instructions are a tiny bit more involved than most. You must install the IDE provided through this link: https://www.microchip.com/en-us/development-tools-tools-and-software/mplab-x-ide#

You will also need to install the MPLAB XC C Compiler for PIC24 devices. You may follow this link for a download, or install via the IDE.

VSCode

VSCode is particularly useful for developing on Arduino.

We use the PlatformIO IDE extension to assist with Arduino development.

WebStorm

WebStorm is suited well for Web/frontend design, developed by JetBrains. You will need a license for this, obtainable with student email.

Linux Instructions

Unfortunately, instructions for (Li/U)nix are not so clear cut. You will need to find packages through your package manager or through the developer. You can use brew on some Linux distributions better than others, and so you might be able to use brew instructions. Usually, anything availble through brew is available for installation through other common package managers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment