Why Use Ollie

These days, it seems JavaScript is everywhere. You can run your JavaScript on the server using node JS. You can use JavaScript to build mobile apps using NativeScript, PhoneGap, or React Native. And with great tools like NWJS and most recently, Electron, you can even create installable desktop apps that run on Mac and Windows.

In short if you're working in JavaScript, then Ollie can help rapidly scaffold your app, whether on the Web, the server, mobile, or desktop.

Many of the patterns, practices, and libraries are useful in all of these contexts. That said, Ollie is a traditional web-oriented development environment.

Node is relied on for our build tooling and API, along with GitHub for source control.

Ollie handles a lot of decisions for you when thinking about making a Javascript App. We'll cover these in the various sections that follow.

TL;DR - if your team is writing JavaScript without a starter kit, Oille-UI is for you!

Who isn't Ollie for

Maybe you're already working in a highly opinionated and comprehensive framework that provides a rich development environment baked-in.

Ember is an example of this. When you choose Ember, you're expected to use the Ember CLI, Ember's built-in tooling takes care of most of what Ollie does for you. See, Ember is comprehensive and notoriously opinionated. It already has opinions on file structure, testing, CLI, and much more.

Ember's like a religion, you accept it all or you won't fit in.

Ember is effectively a comprehensive starter kit because the full development environment comes baked-in. In comparison, Angular, React, node JS, Electron, Backbone, Vue, and many other libraries and frameworks are less opinionated. They solve specific problems so you can pose them with other libraries and patterns to build a real app. Many JavaScript technologies leave testing, builds, file-structures, deployments, validation, HTDP calls, and more up to you. This can be intimidating at first, but there's an obvious advantage: you're free to select the best of read technologies and patterns that suit you best.

And your final solution isn't weighed down by things that you don't need. Of course, there's no right answer on this continuum. But the less opinions that your current JavaScript framework or library offers, the more Ollie will be useful for you.

Of course, depending on the library or framework you're working with, there may already be a variety of starter kits or boilerplates available for you to use already.

What Ollie provides as a starter kit

You might be wondering what belongs in your team's JavaScript starter kit.

Here's just a few items that should belong in all JS starter kits - and as such are already taken care of in Ollie,

  • package management,
  • bundling,
  • minification,
  • sourcemaps,
  • transpiling,
  • dynamic HTML generation,
  • centralized HTTP requests,
  • a mock API framework,
  • your component libraries,
  • development webserver,
  • linting,
  • automated testing,
  • continuous integration,
  • automated build and automated deployment.
  • Solid documentation including a working example app to help convey how all these parts come together, including directory structure and file-naming practices.