All Projects → zalando-incubator → Tessellate

zalando-incubator / Tessellate

Licence: mit
Server-side React render service.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Tessellate

Easywebpack Cli
A Powerful Cross-platform Webpack CLI Tool
Stars: ✭ 110 (-22.54%)
Mutual labels:  server-side-rendering
Universal Router
A simple middleware-style router for isomorphic JavaScript web apps
Stars: ✭ 1,598 (+1025.35%)
Mutual labels:  server-side-rendering
React Universally
This starter kit contains all the build tooling and configuration you need to kick off your next universal React project, whilst containing a minimal "project" set up allowing you to make your own architecture decisions (Redux/MobX etc).
Stars: ✭ 1,704 (+1100%)
Mutual labels:  server-side-rendering
React Async Bootstrapper
Execute a bootstrap method on your React/Preact components. Useful for data prefetching and other activities.
Stars: ✭ 113 (-20.42%)
Mutual labels:  server-side-rendering
Tailor
A streaming layout service for front-end microservices
Stars: ✭ 1,640 (+1054.93%)
Mutual labels:  mosaic
Universal Native Boilerplate
Build apps for every native platform with React and React Native
Stars: ✭ 131 (-7.75%)
Mutual labels:  server-side-rendering
Yet Another Yolov4 Pytorch
YOLOv4 Pytorch implementation with all freebies and specials and 15+ more exclusive improvements. Easy to use!
Stars: ✭ 105 (-26.06%)
Mutual labels:  mosaic
Vueport
Single file components for Rails with Vue JS and Webpack
Stars: ✭ 141 (-0.7%)
Mutual labels:  server-side-rendering
Mosaic Contracts
Mosaic-0: Gateways and anchors on top of Ethereum to scale DApps
Stars: ✭ 119 (-16.2%)
Mutual labels:  mosaic
163music
🎵163 music web app built with Vue 2.6, server side render, webpack 4
Stars: ✭ 139 (-2.11%)
Mutual labels:  server-side-rendering
React Emails
Create and render emails on the server with React
Stars: ✭ 115 (-19.01%)
Mutual labels:  server-side-rendering
Razzle Material Ui Styled Example
Razzle Material-UI example with Styled Components using Express with compression
Stars: ✭ 117 (-17.61%)
Mutual labels:  server-side-rendering
Golive
⚡ Live views for GoLang with reactive HTML over WebSockets 🔌
Stars: ✭ 130 (-8.45%)
Mutual labels:  server-side-rendering
Universal React Redux
🧐 A sensible universal starter kit for React + Redux
Stars: ✭ 112 (-21.13%)
Mutual labels:  server-side-rendering
Fast React Server
[DEPRECATED] Use last versions of React and Node.js for better performance
Stars: ✭ 139 (-2.11%)
Mutual labels:  server-side-rendering
Uav Mapper
UAV-Mapper is a lightweight UAV Image Processing System, Visual SFM reconstruction or Aerial Triangulation, Fast Ortho-Mosaic, Plannar Mosaic, Fast Digital Surface Map (DSM) and 3d reconstruction for UAVs.
Stars: ✭ 106 (-25.35%)
Mutual labels:  mosaic
Surmon.me
🆒 My personal website and blog, powered by @vuejs (3)
Stars: ✭ 1,767 (+1144.37%)
Mutual labels:  server-side-rendering
Project Webcube
Continuously updated JS infrastructure for modern web dev
Stars: ✭ 141 (-0.7%)
Mutual labels:  server-side-rendering
Redux React Session
🔑 Simple Session API storage for Redux and React
Stars: ✭ 140 (-1.41%)
Mutual labels:  server-side-rendering
React Render Server
A node.js server for server-side rendering anything!
Stars: ✭ 138 (-2.82%)
Mutual labels:  server-side-rendering

Tessellate

Server-side React render service.    Build Status Coverage Status Code Climate Commitizen friendly license

What is Tessellate?

Tessellate is a server-side React service that creates static HTML and a JavaScript bundle from abstract JSON definitions. It is meant to be used as a Fragment as part of the Mosaic stack for micro services in the frontend but can be used independently as well.

Package Description Version
tessellate-bundler Builds universal React bundles from JSON. npm version
tessellate-fragment Dynamic server-side React render service. npm version
tessellate-server Common service foundation for editor and bundler. npm version
tessellate-editor Experimental editor for composing reusable components. npm version
tessellate-viewer Experimental layout service for composing Mosaic fragments. npm version
tessellate-transform Experimental JSON transformation tool. npm version

Articles and videos about Tessellate

Tessellate v2

The next version of tessellate is under development in the next branch of this repository.

Dynamic fragments

A Mosaic Fragment is a web service that provides some partial HTML, CSS and JavaScript. Multiple Fragments can be composed into a complete web page by the Tailor layout service. Tessellate is an opinionated implementation of such a Fragment.

tessellate-fragment responds to incoming requests based on a customizable* logic and uses React to render precompiled JavaScript bundles into static HTML. tessellate-bundler compiles those bundles ahead of time based on an abstract JSON document and with the help of webpack. We call this a dynamic Fragment because the bundles can be updated independetly from the Fragment and because they are selected dynamically for each request.

Tessellate offers a simple yet powerful solution to integrate content providers into a Mosaic stack for micro services in the frontend. Instead of implementing specialized Fragments to render different parts of a website, you can simply transform all your content into precompiled JavaScript bundles that Tessellate knows how to render. Please read the architecture overview to learn more.

* subject to ongoing development

Installation

The Tessellate micro services can easily be installed as Node modules:

npm i --save tessellate-bundler tessellate-fragment

Configuration

Each micro service reads configuration from environment variables, command line arguments or a file. See each subproject for details.

Development

Tessellate requires Node.js >= 7.6 and uses Lerna for managing packages. Run the following commands in the root directory to get started:

npm install   # Install dependencies and initialize packages.
npm run dist  # Compile all packages.

We recommend using Atom text editor together with the Nuclide plugin and Flow for static type checking.

Here's how to install Nuclide (requires Atom) and Flow:

apm install nuclide
npm install -g flow-bin

Contributing

For details on pull requests, commit messages and conditions for contributing please see CONTRIBUTING.md

Documentation

Go to zalando-incubator.github.io/tessellate for detailed documentation.

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].