Osman Goni Nahid

A Fundamental Go-through into Javascript World

PUBLISHED ON AUG 8, 2017 — JAVASCRIPT, NODEJS

JavaScript is a cross-platform, object-oriented scripting language. It is a small and lightweight language. Inside a host environment like a web browser.

JavaScript contains a standard library of objects like other languages, such as Array, Date, Math and a core set of language elements such as operators, control structures, and statements. Core JavaScript can be extended for a variety of purposes by supplementing it with additional objects.

This is a fundamental overview to introduce new developers to JavaScript and help experienced developers learn and explore more about its best practices.

JS Code Styles

  • Conventions
  • Linting

Good Parts of Javascript

  • Object Oriented
  • Anonymous Function
  • Functions as first class objects
  • Loose typing
  • Scoping and Hoisting
  • Function Binding
  • Closure Function
  • Strict mode
  • Immediately-invoked function expression

Patterns of Javascript

  • Design pattern {Factory, Prototype, Mixin, Singleton}
  • Creational Design Pattern {Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Module, Proxy, Revealing Module}
  • Structural Design Pattern {Chain of responsibility, Command, Mediator, Observer}
  • MV* Pattern {MVC , MVVM, MVP}

Frameworks & Libraries

  • jQuery
  • YUi
  • ZeptoJS
  • Dojo Tookit
  • UnderscroreJS
  • Lodash
  • BackboneJS
  • EmberJS
  • KnockoutJS
  • AngularJS
  • Cappuccino
  • JS MVC
  • 6to5
  • Babel
  • Leaflet
  • Meteor
  • SpiceJS
  • RiotJS
  • CanJS
  • React
  • Ionic
  • Redux
  • Vue
  • HandlebarJS
  • DustJS
  • GSAP
  • VelocityJS
  • BounceJS
  • TweenJS
  • MoveJS
  • Snap
  • Rekapi
  • FavicoJS
  • TexillateJS
  • Motio
  • Anima
  • FabricJS and more

Testing Tools

  • Mocha
  • QUnit
  • Jasmine
  • Karma
  • intern
  • Istanbul
  • Sinon
  • DexTer
  • AVA
  • Jest

Game Engines

  • MelonJS
  • ImpactJS
  • LimeJS
  • Crafty
  • Cocos-2D-HTML-5
  • Phaser
  • Goo
  • LycheeJS
  • Qunitus
  • KiwiJS
  • PandaJS
  • RotJS
  • Isogenic

Helpers

  • npm
  • bower
  • yarn
  • gulp
  • webpack
  • brunch
  • BCL
  • yeoman
  • grunt
  • Rollup
  • Browsify
  • todoMVC

PASS Providers

  • Heroku
  • Modulus
  • Nodejitsu
  • OpenShift
  • Getup
  • WindowAzure
comments powered by Disqus