JSPM

  • Created
  • Published
  • Downloads 318
  • Score
    100M100P100Q95705F
  • License GPL-3.0

Lightweight native JavaScript and ECMAScript 6 library (package of small stand-alone components like routing, templating, validation, ajax, datatables, calendar, datepicker, autocomplete, pagination, url) and next generation front-end framework.

Package Exports

  • bunnyjs/src/Validation

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (bunnyjs) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

BunnyJS Logo

BunnyJS v 0.10.7 (Alpha)

Website NPM downloads/month NPM version

ES6 browser framework

"Powerful like React, simple like jQuery"

BunnyJS is a modern Vanilla JS and ES6 library and next-generation front-end framework, package of small stand-alone components without dependencies.

  • No dependencies - can be used in any project anywhere anytime
  • 0 learning curve - you can start right now, just plain JavaScript with simple architecture easy to maintain and extend
  • Designed in mind to build modern, complicated, real world business apps
  • Faster, simpler, enjoyable than any frontend framework
  • Large set of ready components, custom UI elements and utils
  • LTS

For help & ideas - DM me on Twitter

Contributors wanted

  • Become a contributor of a fast growing open source project
  • Share your ideas to the world
  • Help yourself and millions of developers around the world solving JavaScript fatigue and modern overendineered problem
  • Help building a tool which will provide a best user experience, performance, security, durability and load time for billions of the Internet users with smart usage of Computer's and Mobile device's resources

Browser support

IE9+, last 2 versions of Chrome, Firefox, Safari, Android 4.4+, iOS 9+

Installation

  1. Install via npm install bunnyjs --save
  2. Rollup.js with babel and npm plugins is recommended for transpiling and bundling.
  3. Or just include into HTML JS scripts from dists folder or any CDN.
  4. Probably some polyfills might be required depending on Component. They all available in bunnyjs/src/bunny

Extending BunnyJS and Vanilla JS objects

Recommended way to use any of BunnyJS component is - "do not change the code you do not own". That means do not modify native prototypes or any 3rd party code.

  1. Create some base or core folder in your app,
  2. Extend BunnyJS objects with Object.assign() or Object.create
  3. Now everywhere in your project import custom file and not directly BunnyJS's file.
import { Component as BunnyComponent } from 'bunnyjs/src/...';

export const Component = Object.assign({}, BunnyComponent, {

    init(arg) {
        // do whatever you want
        console.log(arg);
        
        // call default (parent)
        return BunnyComponent.init(arg);
    }
    
});

Components

  1. Form processing with native API, AJAX submit, file upload, image preview, data binding and more
  2. Native HTML5 form validation (View example)
  3. Facebook-like Messenger
  4. Custom selects, spinners,
  5. DOM utils, ready(), events
  6. Libraries for Date, URL, File, Image
  7. Ajax, APIs
  8. Routing
  9. Template engine
  10. DataTable and Pagination (View example)
  11. Calendar and DatePicker
  12. Autocomplete, Dropdown
  13. Element, positions, coordinates, smooth scrolling
  14. Dependency Injection, Inversion of control

Architecture

  1. Separation of concerns, loose coupling, modularity
  2. Functional programming
  3. ES6 import/exports, Promises
  4. Native Browser API, polyfills were needed
  5. Object literal notation, no prototypes, "classes" , "new"
  6. Object composition over inheritance
  7. Dependency injection

© Mev-Rael

GPL 3.0