ICS 491 Fall 2018: Desktop App Development with Electron
Electron is a technology for building cross-platform desktop apps using Javascript, HTML, CSS, Node, and Chromium. The idea is to take web application technologies (HTML, CSS, Javascript, Node) and use them instead of other cross-platform frameworks (such as Qt) or native frameworks (Swift for OSX, C#/Win32 for Windows, GTK for Linux).
Electron has been used to build the desktop clients for Skype, GitHub Desktop, GitKraken, Discord, Slack, Atom, and many others.
In this project-based special topics class, you will gain experience using Electron to build desktop applications in two parts:
-
Part 1: TechFolio Designer Enhancements. For the first half of the class, you will get comfortable with Electron by writing enhancements to TechFolio Designer, a desktop app I built this summer to support TechFolio portfolio development for students in ICS 314. I have already identified quite a few potential enhancements that you can peruse on the TechFolios Project Page; I am sure you will discover others as you start to use the system. The goal of this part of the course is to come up to speed with Electron, React, Redux, Node, and the other technologies used to build TechFolio Designer.
-
Part 2: Continue with TechFolio Designer, or design and build your own desktop app. In the second half of the course, you can either continue to work on TechFolio Designer, or start work on your a desktop application of your own design.
Prerequisites: ICS 314, or equivalent experience with Javascript, GitHub, HTML, CSS, React.
Meeting location/times: We will meet in POST 307, once a week, sometime between 10am - 4pm. We will use Doodle to find a time that everyone can meet. It is OK if different groups meet with me at different times during the week.
Structure: You will be able to work alone or in groups for this class. There will be weekly meetings to discuss issues and coordinate tasks, but there will be no lectures; you will learn via doing.
Grading: Your grade will be based upon attendance at weekly meetings and the code you’ve developed by the end of the semester to demonstrate your ability to build desktop applications using Electron.
Questions: If you have any questions, please contact Philip Johnson (johnson@hawaii.edu). If you decide to sign up, please let me know via email.