Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Space City JS — Using Electron & React to Build N1

Space City JS — Using Electron & React to Build N1

Using Electron & React to Build N1: The Open Source Email Client

Nylas

May 14, 2016
Tweet

More Decks by Nylas

Other Decks in Programming

Transcript

  1. Using Electron & React to Build N1: The Open Source

    Email Client Evan Morikawa | @e0m | [email protected] | May 14 2016 Nylas
  2. How do we: Deliver to the desktop Support 3rd party

    plugins Keep data & view in sync Work offline Keep it performant Pay it forward
  3. How do we: Deliver to the desktop Support 3rd party

    plugins Keep data & view in sync Work offline Keep it performant Pay it forward
  4. Chromium Browser aka Backend aka Main Process C++ Renderer Renderer

    Renderer HTML / JS (DOM) HTML / JS (DOM) HTML / JS (DOM)
  5. Chromium Browser aka Backend aka Main Process C++ Renderer Renderer

    Renderer HTML / JS (DOM) HTML / JS (DOM) HTML / JS (DOM) ipc
  6. Browser aka Backend aka Main Process Renderer Renderer Renderer HTML

    / JS (DOM) HTML / JS (DOM) HTML / JS (DOM) ipc
  7. How do we: Deliver to the desktop Support 3rd party

    plugins Keep data & view in sync Work offline Keep it performant Pay it forward
  8. How do we: Deliver to the desktop Support 3rd party

    plugins Keep data & view in sync Work offline Keep it performant Pay it forward
  9. const q = `SELECT * FROM threads WHERE …` Rx.Observable.fromQuery(q)

    .filter(myFn).subscribe((threads) => { this.setState({threads}) })
  10. const q = `SELECT * FROM threads WHERE …` Rx.Observable.fromQuery(q)

    .filter(myFn) .map(mapFn).subscribe((threads) => { this.setState({threads}) })
  11. How do we: Deliver to the desktop Support 3rd party

    plugins Keep data & view in sync Work offline Keep it performant Pay it forward
  12. How do we: Deliver to the desktop Support 3rd party

    plugins Keep data & view in sync Work offline Keep it performant Pay it forward
  13. How do we: Deliver to the desktop Support 3rd party

    plugins Keep data & view in sync Work offline Keep it performant Pay it forward
  14. How do we: Deliver to the desktop Support 3rd party

    plugins Keep data & view in sync Work offline Keep it performant Pay it forward