Overview

Welcome to EdgeSide Docs

This is the documentation site for EdgeSide, a framework for edge-side integration.

What is EdgeSide for?

EdgeSide provides a way for websites to integrate dynamic data from external services (think of a rich, content-managed eCommerce site, for example, which needs to pull in rapidly changing product data). The data is rendered and injected into the page at 'the edge', in other words no runtime processing takes place at your origin server nor in the site visitor's browser. At the origin, your site can be entirely static (perhaps generated by a static site generator, or delivered as completely cacheable pages from a traditional CMS). In the browser, there's no dependency on any JavaScript, you'll never expose any of the secret keys you might need to connect to external services and your page arrives at the browser fully rendered, keeping search engines happy and delivering very fast page load times.

What do you mean by 'the edge'?

When we talk about running at 'the edge', we mean that the processing takes place at the globally distributed 'points of presence' of a Content Delivery Network (CDN). For many integration use cases this is a sweet spot. We can independently cache the elements that make up our pages and deliver them to visitors with very low latency, wherever they are in the world. In the case of EdgeSide, at least for now, we're dedicated to the amazing Cloudflare CDN. Couldflare provides an awesome platform for edge-side processing called Cloudflare Workers.

So why wouldn't I just write my own Cloudflare Worker for my site?

You certainly could. Cloudflare Workers is an amazing platform. It's very powerful, well documented, the developer experience is excellent and it's based on the familiar Service Workers API. The niche for the EdgeSide framework is when you want to implement your integrations declaratively and have your origin site in control of what's going on, rather than maintaining a significant amount of code separately in your edge-side worker. EdgeSide is particularly suitable as the foundation for a building a set of CMS components that deliver "authorable integration".

We've built EdgeSide to be very open to customisation, but to work out of the box with minimal fuss. The idea is that if you want to you can just install an EdgeSide-based worker, have it up and running with close to zero configuration, and focus on building your site. If on the other hand you want your worker to do some other clever stuff then it's basically just a normal Cloudflare Worker, so you have the freedom to do whatever you want. Also, you can enrich the declarative 'language' available to your origin site by adding new custom 'elements'.

Show me an example site

You're looking at one.

This site is built with the excellent Eleventy static site generator. All the pages are pure HTML + CSS (served statically from github pages). Wherever you see example code on the site, we also show you "live results", injected into the page by our EdgeSide-based Cloudflare Worker.

You can also take a look at the EdgeSide site, which we built as part of the Cognifide hackathon. This is a fully content-managed site, built with a set of EdgeSide components we're developing for Adobe Experience Manager.

How can I get started with using it?

  1. Get yourself a Cloudflare account. No excuses -- it's free.
  2. Install Wrangler, the excellent command line tool provided by Cloudflare.
  3. Generate your worker project. Run wrangler generate http://xxxxnotreadyyetbutcomingsoonxxxxx
  4. Tell your worker where to find your origin site
  5. Start integrating stuff into your site for fun and profit.

See Getting Started