Fresh is a full stack web framework based on Deno and Preact. Fresh boosts over sending zero JavaScript to client by performing server-side rendering by default. This is wonderful news and great concept. Frameworks like React and Vue sends clients loads of unnecessary JavaScript who's task can be as simple as routing.

So what the hell is Deno and Preact?

If your like me, I have never heard of Preact or Deno till today. 

Deno is simply an alternative of Nodejs only improved. Deno was released on 13 May 2018 created by Ryan Dahl who is also the creator of Nodejs. Ryan regrets some decision made during the creation of node back in 2009. Also, technology changes, JavaScript has evolved. The 2009 JavaScript is not the same JavaScript as today.
Deno is defined as a simple, modern and secure runtime for JavaScript, TypeScript, and WebAssembly that uses V8 and is built in Rust. from deno documentation.

To install Deno follow the following documentation 

Preact is an alternative to Facebook react that ships with less kilobytes than react. It borrows most of its patterns such as classes, hooks, and functional components from react (its a mimic of react). You should consider preact if your looking for performance in your app. Preact is only 3.5kb and renders quickly.
NB: Uber shifted its PWA to Preact to make it high perfomant. It is also highly compatible with react.

Preact documentation

Getting started with Fresh


Then run the following:
deno run -A -r https://fresh.deno.dev fresh-app
This will create app a the folder fresh-app with fresh boilerplate codes.

Fresh will structure looks like below:
fresh-app/
├── README.md
├── deno.json
├── dev.ts
├── fresh.gen.ts
├── import_map.json
├── islands
│   └── Counter.tsx
├── main.ts
├── routes
│   ├── [name].tsx
│   ├── api
│   │   └── joke.ts
│   └── index.tsx
└── static
    ├── favicon.ico
    └── logo.svg

Start The App

Run:
deno task start

Summary of the structure

Routes is where you create different pages to be requested.
Islands is where you write isolated preact components to be rendered on client.

Feel free to learn more on fresh documentation