Giter Club home page Giter Club logo

universal's Introduction

Build Status Join the chat at https://gitter.im/angular/universal

Angular Universal

Angular Universal

Table of Contents


Introduction

The Angular Universal project is a community driven project to expand on the core APIs from Angular (platform-server) to enable developers to do server side rendering of Angular applications in a variety of scenarios.

This repository will host the various tools like engines to integrate with various backends(NodeJS, ASP.NET etc.) and also extra modules and examples to help you started with server side rendering.

The Universal project is driven by community contributions. Please send us your Pull Requests!

Getting Started

* NodeJS :: Example repo

  • Minimal universal example

* ASP.NET Core :: Universal Starter repo

  • Installation: Clone the above repo, npm i && dotnet restore (VStudio will run these automatically when opening the project)
  • Launch files included for both VSCode & VStudio to run/debug automatically (press F5).

Packages

The packages from this repo are published as scoped packages under @nguniversal

Universal "Gotchas"

Moved to /docs/gotchas.md

Roadmap

Completed

  • Integrate the platform API into core
  • Support Title and Meta services on the server
  • Develop Express, ASP.NET Core, Hapi engines
  • Angular CLI support for Universal
  • Provide a DOM implementation on the server
  • Hooks in renderModule* to do stuff just before rendering to string
  • Generic state transfer API in the platform
  • Http Transfer State Module that uses HTTP interceptors and state transfer API
  • Material 2 works on Universal
  • Write documentation for core API
  • Support AppShell use cases

In Progress

  • Better internal performance and stress tests
  • Make it easier to write unit tests for Universal components
  • Make it easier to support other 3rd part libraries like jQuery/d3 that aren't Universal aware
  • Node.js bridge protocol to communicate with different language backends - Django, Go, PHP etc.

Planning

  • Full client rehydration strategy that reuses DOM elements/CSS rendered on the server

Upgrading from Angular2-Universal

If you're coming from the original angular2-universal (2.x) here are some helpful steps for porting your application to Angular 4 & platform-server.

Go here to find the guide

Preboot

Control server-rendered page and transfer state before client-side web app loads to the client-side-app. Repo

What's in a name?

We believe that using the word "universal" is correct when referring to a JavaScript Application that runs in more environments than the browser. (inspired by Universal JavaScript)

Universal Team

License

MIT License

universal's People

Contributors

ashsidhu avatar caeruskaru avatar dbabaioff avatar frozenpandaz avatar gitter-badger avatar jeffbcross avatar jeffwhelpley avatar johngorter avatar krijger avatar laskoviymishka avatar manekinekko avatar markpieszak avatar notvitaliy avatar ovidiucaba avatar paolomainardi avatar patrickjs avatar patrickmichalina avatar paullryan avatar playground avatar quinntynebrown avatar stephenlautier avatar steve8708 avatar tamascsaba avatar tbosch avatar tecnocat avatar valorkin avatar vangorden avatar vikerman avatar vvakame avatar wesleycho avatar

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.