Giter Club home page Giter Club logo

lazojs


Lazojs is a client-server web framework built on Node.js that allows front-end developers to easily create a 100% SEO compliant, component MVC structured web application with an optimized first page load using a familiar tool stack comprised of Backbone.js, RequireJS, and jQuery.

Have a question? Want to keep up-to-date on changes and releases? Post questions to the LazoJS Google Group and follow @lazojs on Twitter.

Looking for documentation? Check out our wiki.

Problem

The single page application (SPA) model is an excellent approach for separating application logic from data retrieval; consolidating UI code to a single language and run time; and delegating rendering to browsers. However, the SPA model fails to adequately address SEO concerns and time to first page render making it a major concern for any public facing website. As such, developers rely on work-arounds such as the hashbang hack or running the DOM on the server so they can realize the benefits of the SPA model and address SEO concerns. These work-arounds, however, have significant performance and maintenance drawbacks.

Solution

Lazo was created by WalmartLabs to address these issues and provide front-end engineers with a familiar environment for creating web applications. Pages are constructed via reusable, nestable components that have their own life cycles allowing developers to easily create complex views while providing excellent encapsulation and separation of concerns. These pages are mapped to fully qualified, SEO compliant URIs. Lazo renders the first page load on the server via a rendering engine that uses string concatenation. Subsequent page requests are rendered by browsers that support HTML5's pushstate capability. For those browsers that do not support pushstate, Lazo falls back to rendering views on the server. This approach allows developers to reap the SEO benefits of the traditional web application model, while still working in a context with which they are familiar, and realizing all SPA model benefits without coding for them.

Learn More

Getting Started

Lazo is a node module. Installing and creating a new Lazo application is as easy as uno, dos, tres.

Installation and Application Creation

To install Lazo execute the following command:

npm install -g --production lazo

Next clone Lazo TodoMVC example:

git clone [email protected]:lazojs/lazo-todomvc.git

Install dependencies (from local lazo-todomvc repo):

npm install

Finally start the new application (from local lazo-todomvc repo):

npm start

You are done.

Open http://localhost:8080 in a browser to verify that the application is running.

lazojs's Projects

alcazar icon alcazar

Bundler utility that creates a RequireJS optimizer configuration for optimizing a LazoJS application.

alphabot icon alphabot

Lazo node module templates for creating independent modules that can be combined to create an application.

crushinator icon crushinator

Resolves Lazo component dependencies based on component package.json meta data.

destructor icon destructor

Generates RequireJS configuration based on a Lazo application's app.json meta data.

fabricio icon fabricio

Resolves Lazo node module dependencies that are not Lazo entities based on package.json meta data.

gammabot icon gammabot

Traces Lazo node module dependencies based on package.json meta data.

gearshift icon gearshift

Traces route module dependencies based component package.json and/or route metadata.

hermes icon hermes

simple push state based client routing

lazo icon lazo

A client-server web framework built on Node.js that allows front-end developers to easily create a 100% SEO compliant, component MVC structured web application with an optimized first page load.

lazo-optimizer icon lazo-optimizer

Runs the RequireJS optimizer using Lazo configuration and loaders

roberto icon roberto

Merges application source configuration with dependency configuration.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.