1.3.5 • Published 6 years ago

vbjs v1.3.5

Weekly downloads
4
License
MIT
Repository
github
Last release
6 years ago

npm version License

vbjs javascript library

Built for simplicity and speed. Minimal dependency, minimal, almost no configuration, no special framework-specific syntax to be learned, minimal api, minimal learning curve, high productivity.

WARNING: it's a beta version, so, documentation may have mistakes, if you face any problems feel free to create issues.

Table of Contents

What is it?

It's a JavaScript library for rapid application development of modern JavaScript application - or - application framework - built for simplicity, speed, productivity and with minimal configuration.

Want to display simple data from your back-end endpoint on your page?

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>My remote data</title>
  </head>
  <body>

    <template>
      <ul>
        ${async () => this.template.forEach(await(await fetch("/endpoint/")).json(), value => `
          <li>
              ${value}
          </li>
        `)}
      </div>
    </template>

    <script src="https://cdn.rawgit.com/vbilopav/vbjs/master/src/vbjs/dist/<version>/bundle/vbjs.js"></script>

  </body>
</html>

... and that is it, only one file with one dependency.

No new tags or attributes or syntax. No huge configuration files. Nothing new to learn. Very simple and familiar API. No configuration. No transpilation. No parsing or preparsing. No pre-pars-trans-compilation. No special syntax, no magic strings or keywords whatsoever and no long and cryptic configuration files.

Yes, yes, I know, I forgot to include 100% test coverage via mocha, chai, chai-as-promised, supertest, sinon, istanbul, sonarqube, eslint, ... but I'm not so much into occultism either.

What is in there, however:

  • Advanced templating engine and templating support with using just JavaScript template syntax
  • Views, view templates and view modules (module loader included by default)
  • Model bindings, dom extensions
  • Single-page-applications, client router, view engine, dependency injection and more
  • Async support from bottom up - everywhere

For current list of features and capabilities check out documentation or demos. Current minified bundle size is at 27.2KB (8.3KB gzipped).

Motivation

Honestly, world doesn't need yet another JavaScript framework. Or even library.

This is (or it least it was) - a weekend, experimental and educational pet project. I simply love to code.

I started experimenting with and learning new JavaScript features and I was also bit curious how could I implement intelligently some of common JavaScript needs and concepts that I've been using for serious projects at that time.

After while as development and experimentation continued it became something really fun that I enjoyed working and it showed that it can be very useful, hopefully, so I decided to continue and press on.

I tried really hard to keep it as simple and concise as possible and close to official JavaScript/HTML modern standards as possible.

Everybody is already feeling framework and configuration fatigue.

I'd like to consider this as simple library to boost your vanilla JavaScript development.

Installation

This library is hosted on github and distributed via npm.

For installation from github simply download and clone source code from github, distribution directory (dist) is included.

For installation from npm, just run:

npm install -g vbjs

That will install library globally, which is fine, but we actually recommend local installation:

npm install --save-dev vbjs

Note that you have to have already npm initialized in directory and package.json created.

And after that, all you need to include script tag into your start page, usually index.html or similar with src attribute referencing one of vbjs.js scripts.

Examples

There is already ultra simple generic example in opening chapter what is it?.

There is also, entire demo folder with (at this point) around 14 comprehensive examples (it keeps increasing) and demo applications that you can safely browse and experiment with.

Note that one of those is spa-demo that is little bit bigger single-page-application with around 40 different views or pages implemented and each of those page is example fir itself, so if counting that single-page-application itself that would be 1+40+14=55 examples in total. Plus this one introductory example. That is around 52 examples and demos. Pretty solid for now, there will be more.

Roadmap

You can track progress for first stable release at this milestone.

How to Contribute

This is open source project, everybody is welcome to contribute. Let's make something simple and powerful together.

However, is you like what I'm doing and you find it useful, you can support me by buying me beer or pizza or dinner or trip around the world if you would:

Donate me

License

Copyright (c) Vedran Bilopavlović.
This source code is licensed under the MIT license.

1.3.5

6 years ago

1.3.4

6 years ago

1.3.3

6 years ago

1.3.2

6 years ago

1.3.1

6 years ago

1.3.0

6 years ago

1.2.9

6 years ago

1.2.8

6 years ago

1.2.7

6 years ago

1.2.6

6 years ago

1.2.5

6 years ago

1.2.4

6 years ago

1.2.31

6 years ago

1.2.3

6 years ago

1.2.2

6 years ago

1.2.11

6 years ago

1.2.1

6 years ago

1.2.0

6 years ago

1.1.9

6 years ago

1.1.8

6 years ago

1.1.7

6 years ago

1.1.6

6 years ago

1.1.5

6 years ago

1.1.4

6 years ago

1.1.3

6 years ago

1.1.2

6 years ago

1.1.1

6 years ago

1.1.0

6 years ago

1.0.52

6 years ago

1.0.51

6 years ago

1.0.50

6 years ago

1.0.45

6 years ago

1.0.40

6 years ago

1.0.30

6 years ago

1.0.27

6 years ago

1.0.26

6 years ago

1.0.25

6 years ago

1.0.23

6 years ago

1.0.22

6 years ago

1.0.21

6 years ago

1.0.20

6 years ago

1.0.13

6 years ago

1.0.12

6 years ago

1.0.11

6 years ago

1.0.10

6 years ago

1.0.9

6 years ago

1.0.8

6 years ago

1.0.7

6 years ago

1.0.6

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago