In this chapter, we learned how to create an application written in HTML5 that can also communicate with the GNOME platform underneath by utilizing JSCore. To display an HTML5 page, we use the WebKit's WebView
widget. When there is no communication with the main process, we can display any HTML5 page only by using this widget.
Then we added a business process in our Vala code. We connected the objects created in the Vala code with the client-side JavaScript code, which is defined in the HTML5 page. Unfortunately, we need to use Boilerplate code to start with, and fill the code with our implementation. We need to wrap every function that we want to expose to the client-side code with the JSCore
function.
With this approach, we can create a full HTML5 application without a web server and do the business process inside our Vala code. This does not stop here as it is only limited by your imagination. For example, if you find that a certain HTML5 feature is not supported by GtkWebKit, you can create your own extension with the same API using Vala.
We will learn how to integrate our application with the GNOME desktop in the next chapter.