Finally, we're ready to put into practice what we've learned until now. In this chapter, we're going to develop a full, working NW.js desktop application from scratch. We will do it step by step, starting from some styling advice, proceeding by implementing the basic functionalities, and eventually integrating them to create a proper desktop GUI thanks to Native UI APIs. Here's how our application will look like:

I apologize for the lack of imagination, but I thought that the most suitable example was the classic ToDO list application. However, in order to make it interesting, I added the ability to synchronize the database remotely via PouchDB and a simple option panel to better understand how to work with multiple windows. Moreover, the application will be ready to run on Mac OS X, Microsoft Windows, and Linux.