63 lines
2.1 KiB
Markdown
63 lines
2.1 KiB
Markdown
# KnockoutJS APP Starter
|
|
> Build Single-Page apps with KnockoutJS
|
|
|
|
Rapidly prototype your next single-page application, with a `zero-build` out-of-the-box web-component solution. Need to go beyond the prototype stage, fret ~~not, the tools are in-place to take you to production.~~
|
|
|
|
This is as simple as possible, but no simpler
|
|
|
|
*Designed for web componets in both legacy and modern browsers*
|
|
|
|
## Features
|
|
|
|
- `KnockoutJS` 3.4.x
|
|
- `Web Components` for reuseable UI
|
|
- `Bootstrap` 3.x for design
|
|
- `JQuery` 1.11.x to support bootstrap, and provide ajax
|
|
- Based on `HTML5Boilerplate` 6.x
|
|
- `ESLint` for coding style
|
|
- `Relay` a simple pub/sub utility for component communication, using knockout itself
|
|
|
|
## Requirements
|
|
|
|
[NodeJS](https://nodejs.org/) is used to install `vendor/` dependencies and in the *future* provide a method to `build` your project for production via `gulp`
|
|
|
|
## Getting Started
|
|
|
|
Lets bootstrap our app with
|
|
|
|
```
|
|
npm install
|
|
```
|
|
|
|
And move the `src/` folder where ever you want it
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
src/ <-- your public app directory
|
|
app/ <-- knockoutjs config & startup
|
|
assets/ <-- your js, css, and images
|
|
components/ <-- web components
|
|
pages/ <-- html views that use web components
|
|
vendor/ <-- extenal dependencies, ie. things you did not write
|
|
index.html <-- start here
|
|
```
|
|
|
|
## Documentation
|
|
|
|
You can find extra documentation in the `docs/` directly, such as
|
|
|
|
- [Relay]('docs/relay.md')
|
|
|
|
## Polyfills
|
|
|
|
While todays "Evergreens" browsers support 99% of `ES6` and provide a pethra of capabilities, such as `import`, `class`, `fetch`, and `promise` depending on your desired browser support, you may find a polyfill to suit your needs...
|
|
|
|
...**HOWEVER** this projects uses libraries designed to work with IE8 (mayben even IE6?!), but testing that is beyond the scope of this project
|
|
|
|
## TODO
|
|
|
|
- add a simple router (riot-route)
|
|
- add gulp build process for production builds
|
|
- add Jasmine for testing
|