Fastboot 1.0 release is blocked on bad build performance and serving fastboot assets inconsistently. We want to fix this by changing the way fastboot builds its assets. Instead of creating seperate assets we want to create additive assets. This issue in ember-cli perfectly defines what we want to do.
This gist describes the work on how to unblock Fastboot 1.0 and how to run those PRs so that you can play with it.
-  Short Term RFC corresponding to the ember-cliwork needed to unblock FastBoot 1.0 is here. This needs immediate attention to unblock Fastboot 1.0.
- Long Term RFC that makes this generic that any platform can be built is here. This does not need immediate attention. This is a long term goal.
- Building Fastboot assets into ember-cli: PR. This PR needs immediate attention to unblock Fastboot 1.0.
-  We still to fix this issue. It basically means we need to expose an API from ember-cliand/orbroccoli-middleware
- Changing the fastboot addon in preparation to Fastboot 1.0 release: PR
- Changing the fastboot lib in preparation to Fastboot 1.0 release: PR
This section describes the various npm links you need to do to run ember build to create the fastboot assets and run ember fastboot --serve-assets to serve the files.
Note: ember fastboot will be killed eventually once this issue is fixed. I plan on working on that next week.
Steps to run ember fastboot --serve-assets:
- 
You need a fastboot dummy app to run this. Currently only ember-cli-fastbootaddon works with this. Other OSS addons need to be re-worked (the browser initializers need to be worked correctly).
- 
Create a folder in your workspace where you will download all the repos: mkdir fastboot-run
- 
cd fastboot-run
- 
Download the dummy fastboot addon: git clone https://github.com/kratiahuja/fastboot-build-spike.git
- 
Download the ember-cli branch containing the ember-cli changes: a. git clone https://github.com/kratiahuja/ember-cli.gitb. git checkout add-fastboot
- 
Download the ember-cli-fastboot branch containing the fastboot changes: a. git clone https://github.com/kratiahuja/ember-cli-fastboot.gitb. git checkout build-refactor
- 
Download the fastboot branch: a. git clone https://github.com/kratiahuja/fastboot.gitb. git checkout fastboot-refactor-for-ember-cli
- 
Download the fastboot-express-middleware repo a. git clone https://github.com/ember-fastboot/fastboot-express-middleware.git
- 
Run npm installandbower installin all the above repos
- 
cd ../fastboot-express-middleware
- 
npm link ../fastboot
- 
cd ../ember-cli-fastboot
- 
npm link ../fastboot-express-middleware
- 
cd ../fastboot-build-spike
- 
npm link ../ember-cli-fastboot
- 
npm link ../ember-cli
- 
rm -rf dist/ tmp/
- 
ember fastboot --serve-assets
- 
curl http://localhost:3000/foo
- 
Your rendered index.html will contain <p>Hello World!</p>which means fastboot is rendering the app on server side.