Go to file
Geoff Doty cc6ec17c64 update documentation 2018-11-30 02:26:25 -05:00
docs update documentation 2018-11-30 02:26:25 -05:00
src manage frontend-dependencies via npm, and remove them locally 2018-11-30 02:26:07 -05:00
.editorconfig Initial Commit 2018-11-29 21:42:47 -05:00
.eslintrc.json Initial Commit 2018-11-29 21:42:47 -05:00
.gitignore Initial Commit 2018-11-29 21:42:47 -05:00
LICENSE Initial Commit 2018-11-29 21:42:47 -05:00
README.md update documentation 2018-11-30 02:26:25 -05:00
package-lock.json manage frontend-dependencies via npm, and remove them locally 2018-11-30 02:26:07 -05:00
package.json manage frontend-dependencies via npm, and remove them locally 2018-11-30 02:26:07 -05:00

README.md

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 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

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 build projects uses libraries designed to work with IE8+, 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