All Projects β†’ ProticM β†’ plazar-js

ProticM / plazar-js

Licence: MIT license
Modular framework built with enterprise in mind - http://www.plazarjs.com

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to plazar-js

Mimic
mimic: Define your Deployments, Infrastructure and Configuration as a Go Code πŸš€
Stars: ✭ 145 (+480%)
Mutual labels:  mixins, templating
ekzo
πŸ’« Functional Sass framework for rapid and painless development
Stars: ✭ 32 (+28%)
Mutual labels:  modular, mixins
Mag.js
MagJS - Modular Application Glue
Stars: ✭ 157 (+528%)
Mutual labels:  modular, templating
go-traits
A concept package that helps implement mixin behavior using embedded structs and hook interfaces.
Stars: ✭ 21 (-16%)
Mutual labels:  mixins
django-hamlpy
Haml like templates for Django!
Stars: ✭ 59 (+136%)
Mutual labels:  templating
SelectTransform
This project is based upon https://github.com/SelectTransform/st.js but differs in implementation, functionality and robustness.
Stars: ✭ 17 (-32%)
Mutual labels:  modular
modis
A highly modular Discord bot designed for anyone to customise and self-host.
Stars: ✭ 16 (-36%)
Mutual labels:  modular
FAVITES
FAVITES (FrAmework for VIral Transmission and Evolution Simulation)
Stars: ✭ 33 (+32%)
Mutual labels:  modular
sass-boilerplate
A collection of common use Sass stylesheets, mixins and functions.
Stars: ✭ 60 (+140%)
Mutual labels:  mixins
ariyana
Ariyana is an ECS work in progress game engine written in Orthodox C++ and Beef with a focus on cross-platform and multiplayer games
Stars: ✭ 73 (+192%)
Mutual labels:  modular
CodeIgniter-HMVC
CodeIgniter 3.1.10 with Modular Extensions - HMVC and Whoops Error Handling Framework 2.5.0
Stars: ✭ 30 (+20%)
Mutual labels:  modular
fylgja
The modular highly customisable CSS framework. Powered by CSS Components, Utilities and Props for building your Web UI.
Stars: ✭ 65 (+160%)
Mutual labels:  modular
Sledgehammer
Smashes the stupid out of the client & server.
Stars: ✭ 13 (-48%)
Mutual labels:  mixins
just-responsive-images
WordPress Plugin to support better responsive images with <picture> tag, backgrounds, retina support etc.
Stars: ✭ 47 (+88%)
Mutual labels:  oop-principles
docker-template
🚒 Encapsulated extensible Docker repositories, and images... with metadata.
Stars: ✭ 22 (-12%)
Mutual labels:  templating
AutoInterface
C# interface-to-member source generator
Stars: ✭ 47 (+88%)
Mutual labels:  templating
Modular2Recycler
ModularΒ²Recycler is a RecyclerView.Adapter that is modular squared.
Stars: ✭ 72 (+188%)
Mutual labels:  modular
mutter-x11-scaling
Mutter build with Ubuntu patch for Xorg fractional scaling on Manjaro / Arch Linux
Stars: ✭ 77 (+208%)
Mutual labels:  scaling
StartupModules
Startup modules for ASP.NET Core.
Stars: ✭ 33 (+32%)
Mutual labels:  modular
vade-mecum-shelf
Collection of vade mecum-like utilities wrapped into one single app, built with Electron.
Stars: ✭ 33 (+32%)
Mutual labels:  modular

PlazarJS
lerna license-mit version downloads jsdelivr travis

A versatile framework built to enrich the developer experience in terms of simplicity and speed of application development.

Table of Contents

Installation

Run the following npm command:

$ npm install @plazarjs/core

Or, place the script tag on your page:

<script src="https://cdn.jsdelivr.net/npm/@plazarjs/core"></script>

Check out the list of available dependant packages.

Introduction

PlazarJS is a un-opinionated framework for JavaScript. It has no dependencies and by leaning on Object-Oriented-Principles (OOP) it can easily be used to create a large Single-Page Application or it can be integrated to a portion of a web page where dynamic workflow is required. It's built to be flexible and designed to help you build the application the way you want it without forcing you to follow a path you don't think is suitable for the application you are developing. The main focus is on good old trio, HTML, CSS and JavaScript.

TL;DR
  1. Can define components, mixins or classes by invoking pz.define, pz.component.extend or pz.class.extend. Mixins are not extendable.
  2. Reuse each type later in the app as much as needed. One type, multiple instances.
  3. Extend each type with another by setting the ownerType. Note that this config is not required when using the extend approach. The ownerType is automatically recognized.
  4. Override parent method implementation.
  5. Each method overridden in a child type can call its parent by invoking this.base(arguments).
Core Features
  1. Modularity
  2. Components
  3. Mixins
  4. Classes
  5. Inheritance
  6. Bindings and Templating (inline, pre-rendered, async templates)

Getting Started and Documentation

A quick example:

// define the component
import pz from '@plazarjs/core';

const helloWorld = {
  ownerType: 'component',
  template: '<div>Hello from {fw}</div>',
  renderTo: 'body',
  autoLoad: true,
  viewModel: {
    fw: 'plazarjs'
  }
};

export default pz.define('hello-world', helloWorld);

// create the component where required
import helloWorld from 'my-path/helloWorld';
helloWorld.create();

The equivalent of the code above written with the extend API looks like this:

// define the component
import pz from '@plazarjs/core';

const helloWorld = {
  type: 'hello-world',
  template: '<div>Hello from {fw}</div>',
  renderTo: 'body',
  autoLoad: true,
  viewModel: {
    fw: 'plazarjs'
  }
};

export default pz.component.extend(helloWorld);

// create the component where required
import helloWorld from 'my-path/helloWorld';
helloWorld.create();

Detailed documentation can be found here.

Live demo can be found here.

Bootstrap Integration

Checkout the module integration here.

Contribution

Please read the Contributing Guide before making a pull request.

Browser Support

PlazarJS supports all ECMAScript 5 compliant browsers. Check out the compatibility table.

IE Browser Support

Every implementation/change is done in a way to ignore IE version 9 and lower.

Plans

Some of the next major releases will contain:

  1. TypeScript support.
  2. Core plazar-ui (set of controls out of the box). This will eliminate the need for any external CSS framework integration. Of course, you would still be able to integrate any of them if you choose so.

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].