{"id":17436175,"url":"https://github.com/vbilopav/vbjs","last_synced_at":"2025-04-16T03:35:51.377Z","repository":{"id":57391004,"uuid":"145538331","full_name":"vbilopav/vbjs","owner":"vbilopav","description":"JavaScript Library for rapid application development using modern JavaScript. Built for simplicity and speed. Minimal dependency (only one), minimal, almost none configuration, no special framework-specific syntax, minimal api, minimal learning curve, fast results delivery. No bullshit, just pure JavaScript","archived":false,"fork":false,"pushed_at":"2019-03-25T09:41:00.000Z","size":924,"stargazers_count":10,"open_issues_count":4,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-23T19:37:40.207Z","etag":null,"topics":["app","application","es6","framework","html","javascript","simple"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vbilopav.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-08-21T09:12:05.000Z","updated_at":"2024-04-11T09:53:27.000Z","dependencies_parsed_at":"2022-09-17T09:01:04.607Z","dependency_job_id":null,"html_url":"https://github.com/vbilopav/vbjs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vbilopav%2Fvbjs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vbilopav%2Fvbjs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vbilopav%2Fvbjs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vbilopav%2Fvbjs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vbilopav","download_url":"https://codeload.github.com/vbilopav/vbjs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241341381,"owners_count":19947097,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["app","application","es6","framework","html","javascript","simple"],"created_at":"2024-10-17T10:05:50.937Z","updated_at":"2025-03-01T08:32:47.135Z","avatar_url":"https://github.com/vbilopav.png","language":"JavaScript","funding_links":["https://www.patreon.com/vbilopav"],"categories":[],"sub_categories":[],"readme":"** Project moved to https://github.com/vbilopav/iHipsterJS **\n\n[![npm version](https://badge.fury.io/js/vbjs.svg)](https://badge.fury.io/js/vbjs)\n[![License](https://img.shields.io/badge/license-MIT%20License-brightgreen.svg)](https://github.com/vbilopav/vbjs/blob/master/src/vbjs/LICENSE.md)\n\n# vbjs javascript library\n\nBuilt 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. \n\n\u003e **WARNING:** it's a beta version, so, documentation may have mistakes, if you face any problems feel free to create [issues](https://github.com/vbilopav/vbjs/issues).\n\n## Table of Contents\n\n- [What is it?](#what-is-it)\n- [Motivation](#motivation)\n- [Installation](#installation)\n- [Examples](#examples)\n- [Roadmap](#roadmap)\n- [How to Contribute](#how-to-contribute)\n- [License](#license)\n\n## What is it?\n\nIt's a JavaScript library for rapid application development of modern JavaScript application - or - application framework - built for simplicity, speed, productivity and with minimal configuration.\n\n\nWant to display simple data from your back-end endpoint on your page?\n\n```html\n\u003c!DOCTYPE html\u003e\n\u003chtml lang=\"en\"\u003e\n  \u003chead\u003e\n    \u003cmeta charset=\"utf-8\"\u003e\n    \u003ctitle\u003eMy remote data\u003c/title\u003e\n  \u003c/head\u003e\n  \u003cbody\u003e\n\n    \u003ctemplate\u003e\n      \u003cul\u003e\n        ${async () =\u003e this.template.forEach(await(await fetch(\"/endpoint/\")).json(), value =\u003e `\n          \u003cli\u003e\n              ${value}\n          \u003c/li\u003e\n        `)}\n       \u003c/ul\u003e\n    \u003c/template\u003e\n\n    \u003cscript src=\"https://cdn.rawgit.com/vbilopav/vbjs/master/src/vbjs/dist/\u003cversion\u003e/bundle/vbjs.js\"\u003e\u003c/script\u003e\n\n  \u003c/body\u003e\n\u003c/html\u003e\n\n```\n\n... and that is it, only **one file** with **one dependency**. \n\nNo 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.\n\nYes, 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.\n\nWhat *is* in there, however:\n\n- Advanced templating engine and templating support with using just JavaScript template syntax\n- Views, view templates and view modules (module loader included by default)\n- Model bindings, dom extensions\n- Single-page-applications, client router, view engine, dependency injection and more\n- Async support from bottom up - everywhere\n\nFor current list of features and capabilities check out documentation or demos. Current minified bundle size is at **27.2KB** (**8.3KB** gzipped).\n\n## [Motivation](https://hackernoon.com/how-it-feels-to-learn-javascript-in-2016-d3a717dd577f)\n\nHonestly, world doesn't need yet another JavaScript framework. Or even library.\n\nThis is (or it least it was) - a weekend, experimental and educational pet project. I simply love to code.\n\n\nI 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. \n\nAfter 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.\n\nI tried really hard to keep it as simple and concise as possible and close to official JavaScript/HTML modern standards as possible. \n\nEverybody is already feeling framework and configuration fatigue. \n\nI'd like to consider this as simple library to boost your vanilla JavaScript development.\n\n## Installation\n\nThis library is hosted on [github](https://github.com/vbilopav/vbjs) and distributed via [npm](https://www.npmjs.com/package/vbjs).\n\nFor installation from github simply download and clone source code from github, distribution directory (dist) is included.\n\n\nFor installation from npm, just run:\n```\nnpm install -g vbjs\n```\n\nThat will install library globally, which is fine, but we actually recommend local installation:\n```\nnpm install --save-dev vbjs\n```\n\nNote that you have to have already npm initialized in directory and package.json created.\n\nAnd 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.\n\n## Examples\n\nThere is already ultra simple generic example in opening chapter [what is it?](#what-is-it).\n\nThere is also, entire [demo folder](https://github.com/vbilopav/vbjs/tree/master/demos) with (at this point) around 14 comprehensive examples (it keeps increasing) and demo applications that you can safely browse and experiment with.\n\nNote that one of those is [spa-demo](https://github.com/vbilopav/vbjs/tree/master/demos/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.\n\n\n\n## Roadmap\n\nYou can track progress for first stable release at [this milestone](https://github.com/vbilopav/vbjs/issues/1).\n\n\n## How to Contribute\n\nThis is open source project, everybody is welcome to contribute. Let's make something simple and powerful together.\n\nHowever, 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:\n\n[![Donate me](https://img.shields.io/badge/DONATE-ME-green.svg?longCache=true\u0026style=for-the-badge)](https://www.patreon.com/vbilopav)\n\n## License\n\nCopyright (c) Vedran Bilopavlović.  \nThis source code is licensed under the [MIT license](https://github.com/vbilopav/vbjs/blob/master/src/vbjs/LICENSE.md).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvbilopav%2Fvbjs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvbilopav%2Fvbjs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvbilopav%2Fvbjs/lists"}