"//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.6.2/html5shiv.js"
"//s3.amazonaws.com/nwapi/nwmatcher/nwmatcher-1.2.5-min.js"
"//html5base.googlecode.com/svn-history/r38/trunk/js/selectivizr-1.0.3b.js"
"//cdnjs.cloudflare.com/ajax/libs/respond.js/1.1.0/respond.min.js"
http://foundation.zurb.com/forum/posts/241-foundation-5-and-ie8
http://cssguidelin.es/#support-the-guidelines
http://www.slideshare.net/dcneiner/jquery-nuts-bolts-and-bling
https://github.com/dcneiner/html5-site-template
- use namespace function to create object
- use ifee for autoaticly create api object
- use revealing module pattern
- use helper methods rather then the for loop
- add init function at the bottom of method, right before return statment
- add main variables at the top of the method
- use ES6 syntax with transpiler
- always check if variables are available (typeof checking, lngth checking)
- when iterating over array always use plural/singular naming convention e.g items.forEach(item)
- use Web APi https://developer.mozilla.org/pl/docs/Web/API
- use native js firtst
- use _underscore helper function then
- use jQuery when nothing other helps :)
- use comments to point out logic
- use const & let rather then var
- prefer adding/removing css classes to perform animation/transition rather then using .hide, .show, .fadeId etc.
- add callbacks to methods?
- use promises?
- most uses native version of jQuery => forum <<< pobranie kolekcji elementów z dom => podpięcie eventów => chodzenie po drzewie dom => pobieranie informacji z data atrybutów => iterowanie po kolekcjach => ajax requests (ok) => pobieranie informacji o stylach elementów / pozycjach
- use jasmine for unit tests
- use nightwatch for e2e test
- use _defaults to merge defaults object
- this → bind this, loosing this in function obj, this in fat arrows, this 4 ways to checkit
- prototypes
- browser bottlenecks
- ajax requests handling
- use devtools to inspect enp.APP
- vue.js
- react
- meteor.js
- electron
- jenkins
- es6
- mongodb
- redux
- Namespacing Pattern
- Dependency declaration pattern
- Constructor Pattern
- Module Pattern
- Revealing Module Pattern
- Singleton Pattern
- Observer Pattern (pub/sub)
- Mediator Pattern
- Prototype Pattern
- Command Pattern
- Facade Pattern
- Factory Pattern
- Mixin Pattern
- Decorator Pattern
- Flyweight Pattern
- Sandbox Pattern
- AMD
- Common JS
- jQuery Plugin Design Patterns
- Lazy Initialization Pattern
- Proxy Pattern
- Builder Pattern
- Composite Pattern
- Adapter Pattern
- Polluting the global namespace by defining a large number of variables in the global context
- Passing strings rather than functions to either setTimeout or setInterval as this triggers the use of eval() internally.
- Modifying the Object class prototype (this is a particularly bad anti-pattern)
- Using JavaScript in an inline form as this is inflexible
- The use of document.write where native DOM alternatives such as document.createElement are more appropriate. document.write has been grossly misused over the years and has quite a few disadvantages including that if it's executed after the page has been loaded it can actually overwrite the page we're on, whilst document.createElement does not. We can see here for a live example of this in action. It also doesn't work with XHTML which is another reason opting for more DOM-friendly methods such as document.createElement is favorable.
=== http://intridea.github.io/sketch.js/lib/sketch.js https://github.com/niklasvh/html2canvas http://www.kubilayerdogan.net/html2canvas-take-screenshot-of-web-page-and-save-it-to-server-javascript-and-php/
- editor
- freshman (employees manager)
- drawerr (errors drawer)
- camper (frontend framework)
- mazeboard (dashboard app)