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.
With V2, we wanted to have many new principles while developing it. some of them include
Following Code Guidelines (opens new window)
- 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
- Use sass/scss to generate all css
7-1Pattern i.e. modular
- 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.
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.