# V2

Original Josh is being developed from 2014 with bootstrap 2 and it has lots of backwards compatible code.

A lot has changed in these years, including browsers compatibility, better support for modern CSS and JS.

so We decided to re-imagine Josh with modern code and standards.

Thus, V2 is Born.

# Principles

With V2, we wanted to have many new principles while developing it. some of them include

Following Code Guidelines (opens new window)

# JavaScript

  • Use only one plugin for each type (ex: select, dropdowns, date pickers) except for charts
  • Prefer JS plugins over jQuery plugins
  • Use plugins which are in active development
  • Avoid jQuery as much possible
  • Use ES6 wherever possible
  • Optimize code for faster page loading

# CSS

  • Use sass/scss to generate all css
  • Follow 7-1 Pattern i.e. modular scss files
  • Proper bootstrap over-riding
  • Let npm packages take care of vendor prefixes
  • Compress/minify all output css files.

So at the end, you will find v2 not only faster on browsers but code is also well organized!

# Browser Support

We Support all modern browsers also including IE 11, as of 01-2020, it supports 93.88% of Total browsers.

You can find all browsers list here (opens new window)

that % may increase in future.

Note: If you want to support other browsers, you can use polyfills but since bootstrap 4 also doesn't support many older browsers, you need to think your strategy as it can add extra load of work.

# Customization

Since Josh is a developer product, we want to make it easy onboarding for new developers, so we will be adding extensive documentation, how to videos.

# Options options options

Yes, you read it right...we want to add many options for left menu, colors, breadcrumbs everywhere.

in a nutshell, simple product to master but you can provide different UI for each client so learning curve will be less yet each client gets different product.

# The release plan for v2

We will release alpha versions until we make it following modern standards and adding enough features.

And then 2 beta versions

And then the stable release.

We push one update every Saturday.

# Alpha Stage:

  • Can have drastic changes to structure ex: scss files
  • Can add/remove plugins

# Beta Stage:

  • Will try to make app more stable
  • Bug fixing if any

Then, we will push an update for every week or bi-weekly with more layouts, options, configurations.

Last Updated: 11/15/2024, 11:55:56 AM