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
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Project structure


First, let's have a look at the project structure. It's a classical Opa project structure; we can create a similar structure with the following command line:

opa create liveroom
  • liveroom.opa: The entry point of the application. It declares the database, dispatches the requests, and starts the web server.

  • login.opa: The login module. It shows the login page, handles the UserContext when the user logs in and logs out, and connects to Facebook when the user tries to sign in with Facebook.

  • model.opa: The data model of the application. It defines data models and deals with database reading and writing.

  • view.opa: The UI (user interface). It shows the pages, maps what we fetch from the database into XHTML, and then shows them on the page. And moreover, it gets the user's input and tries to insert data into the database through the Model module.

  • style.css: The external style sheet. It's registered when the web server starts, so we can use styles in this file application scope...