App flow

Ronen Amiel

Frustration

  • Not because of the complexity of our problems.
  • We waste a lot of time iterating: We change a file, save it, and wait for the build tool to finish so we can play with the results.

Trying to create better developer experience

  • The goal: Allow you to spend more time working on your app. We get frustrated when the build tool is taking too much of our time.
  • Development should be fun. Make development great again ™.

Demo time

Structure

  • Show existing project with its problems:
    • Changing a client file requires restarting the server which takes a long time and is redundant.
    • Logs are horrible and it makes it harder to detect errors and potential problems.
    • When we actually need to work on the server, restarting it takes a long time.
  • Show the same project with app flow enabled:
    • The output of the server is now piped to the terminal.
    • Errors are simple, show once and also appear in the browser.
    • Changing client files doesn't restart the server.
    • Changing the server restarts it, but we can try hot reloading it.
    • Changes to the server restart the browser.
    • Universal is going to get a lot easier.
    • Debugging is easy, try the --debug flag.​​
  • ​​Talk a bit about how everything works.
    • ​​3 different process with socket communication to/from Yoshi.

Help us test it and give us feedback

https://github.com/wix/yoshi

Questions?

ronami@github

App flow

By Ronen Amiel

App flow

  • 540