Overview
The go-starter-kit is a project that provides a quick starter kit for building Facebook React Single Page Apps with server side rendering using the goja JavaScript engine. It is implemented in pure Golang and offers a range of features for efficient application development.
Features
- Server side rendering using goja JavaScript engine
- API requests between react application and server side application via fetch polyfill
- Rendering of title, Open Graph, and other meta tags for each page on the server and client side
- Server side redirect
- Embedding of static files into artifact via bindata
- High performance echo framework
- Advanced command-line interface (CLI) via cli.Makefile
- One terminal window process for development
- Routing via react-router
- ES6 & JSX support via babel-loader with minimal runtime dependency footprint
- Redux as a state container
- Redux devtools
- CSS styles without global namespace via PostCSS, css-loader, and css-modules
- Separate CSS file to avoid Flash of Unstyled Content (FOUC)
- Hot reloading via react-transform and HMR (Hot Module Replacement)
- Webpack bundle builder
- eslint and golint rules for Makefile
- Workflow dependencies: Golang, Node.js with yarn, GNU make
Installation
- Clone the repository.
- Install dependencies.
- To start development, run the dev server using the command
make run. - Open http://localhost:5001/ in your browser to begin coding.
Summary
The go-starter-kit is a useful tool for quickly setting up and developing efficient Facebook React Single Page Apps with server side rendering. It provides a range of features, including server side rendering, API requests, client-side rendering of meta tags, and hot reloading. The installation process is straightforward and the project structure is well-organized. Overall, the go-starter-kit is a valuable resource for developers looking to streamline their React app development process.