boulder js meet up presentation for april 16
DESCRIPTION
Boulder JS Meetup presentation for beginner track Meetup was cancelled, but I would like to make this available to any who want to see it anyway. The links to everything in the presentation and more reside at https://github.com/m-schrepel/BoulderJS_Presentation_links/blob/master/Links.rtfTRANSCRIPT
What’s Hot and Now
The cool stuff I’ve learned about since graduating
Media Queries in JSwindow.matchMediaIE9 and up support
Javascript Media Queries• Also allows for checking pixel density
• Screen orientation
• And what type of screen (tv or not)
• @media all and (orientation: portrait) { ... }
• @media screen and (min-resolution: 2dppx) { ... }
• @media tv and (scan: progressive) { ... }
FLEXBOXSome day this will be well-supported
Current iOS and Android browsers are fully supportedDisplay:flex
Flexbox• No hacky padding fixes!
• No clearfix needed!
• Vertically center something? Done!
• No floats
• No inline-block
• Sticky Footer with an unknown height?
• Flexbox solves it.
Disclaimer!Float, clear and vertical-alignhave no effect on flex items
<- Desktop Browser code
Responsive Mobile code ->
MeteorFront end, minimally opinionated, MVC, package-based framework
SIMD
• Single Instruction, Multiple Data
• Performs one operation on many items in parallel
• Huge speed increases for heavy computational processes
• Works anywhere javascript runs
On our other SIMD benchmarks, we get even more dramatic speedups of up to 10x. Google, Intel, and Mozilla are working on a TC39 ECMAScript proposal to include this JavaScript SIMD API in the future ES7 version of the
JavaScript standard.
Form Styling
• Supports IE10+
• Moz
• Chrome
Real Time APIs
• Beacon Push uses Websockets and Comet to bypass traditional HTTP requests
• BrightContext uses real time feeds to process data on the fly, then outputs the processed data however you like (visualization, store, alerts, another API etc)
• Fanout manages push notifications to every type of client that accepts them. It keeps up the persistent connections and you just tell it what to do and when, then it does it for you.
• Pusher is similar to Beacon Push. They claim a 5ms routing time from your app to the client.
• PushWoosh is similar to Fanout, but offers more web-based analytics about what their API is doing for you.
• Realtime does a few things: Pub/sub messaging system and abstracts amazon’s AWS services through their simple REST API. It also allows you to migrate from pusher and pub nub without changing your code.
Papers We LoveComputer Science Research Papers
Browserify/Gulp• Browserify uses the same module.exports syntax as Node (AMD vs.
CommonJS)
• — debug builds in source maps for console debugging
• Gulp alleviates i/o pain by going through memory (no .tmp dir)
• Gulp tasks take milliseconds while grunt tasks take seconds
• Both are so much less ugly, syntactically
• Uses NPM packages like a boss
• Exports Node core modules for use in browser (url, path, events, stream, http)