Book Image

Opa Application Development

By : Li Wenbo
Book Image

Opa Application Development

By: Li Wenbo

Overview of this book

Opa is a full-stack Open Source web development framework for JavaScript that lets you write secure and scalable web applications. It generates standard Node.js/MongoDB applications, natively supports HTML5 and CSS and automates many aspects of modern web application programming. It handles all aspects of web programming written in one consistent language and compiled to web standards.Opa Application Development is a practical,hands-on guide that provides you with a number of step-by-step exercises. It covers almost all aspects of developing a web application with Opa, which will help you take advantage of the real power of Opa, as well as building a secure, powerful web application rapidly.Opa Application Development dives into all concepts and components required to build a web application with Opa. The first half of this book shows you all of the basic building blocks that you will need to develop an Opa application, including the syntax of Opa, web development aspects, client and server communication and slicing, plugin, database, and so on. By the end of the book you will have yourself created a complete web application along with a game: Pacman!
Table of Contents (18 chapters)
Opa Application Development
About the Author
About the Reviewers

Preparing pages

We have discussed how to launch the server and dispatch users' requests. Now it is time for the frontend issue, namely, the web page. Web pages are what users see and interact with. There are numerous technologies that can be used for building excellent web pages, such as PHP, Perl, and Python. But the basic way is using HTML and CSS.


In Opa, both HTML and CSS are first class citizens, and are understood and checked by the compiler without you having to wrap them as strings. Having XHTML as a native type implies near-perfect XSS (cross-site scripting) protection. It also means we can easily compose elements, that is, we can write <div>{foo()}</div>. HTML values have a predefined xhtml type, and there is a built-in syntax for constructing XHTML values. Here is an overview of the syntax for XHTML:

// XHTML is a data-type with built-in syntax
xhtml span = <span class="test">Hello Opa!</span>
//named closing tag is optional,
// so are the quotes around...