/electron-samples

breaking down the electron-api-demos sample app into bite-sized pieces

Primary LanguageJavaScriptMIT LicenseMIT

What you'll find here

To learn Electron, I'm breaking down the electron-api-demos app into bite-sized indiviudal apps

Why create individual apps

This is a personal call to action pet project. As an industry, we need to standardize on an "After Hello World" format. We're great at Hello World getting started apps, but then leave the developer hanging afterwards.

I call it the "get into Art School for free" challenge from those old TV commercial ads. You draw two circles then you're expected to draw the rest of the turtle pirate. As an industry, we can do better.

After Hello World Template

Part 1 - Installing your developer environment + Hello World

Available examples:

  • Hello World - baseline app for all other apps in this repo

Suggested examples:

  • Install / FAQ
  • Hello World as console.log output
  • Hello World as a separate Window
  • Hello World as a system dialog

Part 2 - Window Management

Available examples:

Part 3 - Input and output

Suggested examples:

  • Adding a button and listening for the click event.
  • Adding a label and having it respond to the click event.
  • Adding a textbox and doing something with user input
    • Example apps:
      • Stopwatch

Part 4 - Debugging

Suggested examples:

  • Crashes and hangs
  • Tips and tricks for debugging (and avoiding bugs :)
  • Other things to know re debugging x-platform?

Part 5 - Native UI

Available examples:

Suggested examples:

  • Put your app in the tray

Part 6 - UI Frameworks

Available examples:

Suggested examples:

  • React.js?
  • others?

Part 7 -System info, clipboard, protocol handler, etc.

Available examples:

Suggested examples:

  • system info
  • clipboard
  • protocol handler

Part 8 - working with external content

Suggested examples:

  • Open external links
  • Pulling in RSS feed
  • Calling various APIs to make app
  • Example apps:
    • GitHub Zen app

Part 9 - Talk between two processes

Suggested examples:

  • what's in the electron demo app right now

Part 10 - Navigation

Suggested examples:

  • Opening different windows
  • Adding a navigation bar
  • Example apps
    • Weather app (similar to iOS weather app)

Part 11 - Storage

Suggested examples:

  • How to save content
  • How to save user settings
  • Example app
    • Todo list

Part 12 - Media

Suggested examples:

  • How to handle media (audio, video, etc)
  • e.g. Pinterest app

Part 13 - Popular App Clones - How to

Suggested examples:

  • Create an instagram clone, snapchat clone.

Part 14 - Misc

Suggested examples:

  • Packaging and deploying
  • How to test across different platforms
  • Choosing a license / open sourcing on GitHub / aka ChooseALicense.com
  • Choose your own software adventure