Client

Browser support

Ever green browsers

  • Google Chrome | Microsoft Edge | Mozilla Firefox | Apple Safari* | Opera

Must drop IE11

  • New Edge available in older operating system too (Win 7,8, 8.1 & 10) & Microsoft is pushing towards it. So IE11 support will end in near future.
  • Extra polyfill for ES modules (bundle size increases)
  • Lack of new features like css variables support (theming) ..etc (as it's not auto updated & no more patch releases)
  • Unified automation tools & other libraries support for ever green browsers only

Core Browser Technologies

MVVM Framework

FrameworkTypeWHYComments
Aurelia (detached google)MVVMModern JavaScript (high standards compliance), Commercially Backed, get out of your waySelected
Angular (google)MVVMPopular, framework controlled code
React (facebook)ViewPopular, JSX files + Virtual DOM (non standard compliance)

Note: Migration plan for Aurelia2 with typescript (Mid 2020)

Tools

NameChoicesSelectedComments
package managerbower, jspm, npmnpmSame for front & backend with huge community (may change after deno adoption)
TranspilerBabelBabelconverting Modern javascript to old
Bundlergrunt, gulp, WebpackWebpackconfiguration over code
css processorsass (pre), post css*allstructured css (pre), vendor specific & modern css (post)
Version controlsvn, GITGITdistributed & powerful CLI
Code editorvisual studio, visual studio codevisual studio codeopen source & multi OS support
LintersCSSlint/stylelinit, eslint, webhint*CSSlint/stylelinit*error identification during development/ build management (JS errors handled by typescript)

Note : * denotes to be explored

Standards & Others

  • Web components* (use & publish our components too)
  • Responsive design
  • Material design
    • components by wrapper interface (later can add multi frameworks)
  • also check government https://designsystem.digital.gov/
  • Accessibility*
  • Theming (colour blindness..etc)
    • Single colour (Primary/ Secondary)
    • Gradients (Primary/ Secondary)
    • Default Dark & Light theme
    • Refs :
  • Internationalization (i18n)
  • Localization*
  • PWA (offline apps)* //POC shown (Now even Modi Site)
  • Animation framework*
  • Application State management (fb-Redux / aureliaStore*)
  • Server side rendering
  • Grafana charts //can give JSON data source
  • Alternate to email/sms : open source app notifications like slack or other chat app

Note : * denotes to be explored

caching

Note : * denotes to be explored

Auto Build management

  • Build with versioning & auto release notes (GIT) //future devops*
  • build time eslint

Third party libs/ tools used

Temp developer references