node.js 101

47
Rami Sayar - @ramisayar Technical Evangelist Microsoft Canada

Upload: fitc

Post on 02-Dec-2014

210 views

Category:

Internet


0 download

DESCRIPTION

Node.js 101 with Rami Sayar Presented by FITC at Web Unleashed 2014 in Toronto on September 18 2014, 10:30 - 11:15am Node.js is a runtime environment and library for running JavaScript applications outside the browser. Node.js is mostly used to run real-time server applications and shines through its performance using non-blocking I/O and asynchronous events. This talk will introduce you to Node.js by showcasing the environment and its two most popular libraries: express and socket.io. TARGET AUDIENCE Beginner web developers ASSUMED AUDIENCE KNOWLEDGE Working knowledge of JavaScript and HTML5. OBJECTIVE Learn how to build a chat engine using Node.js and WebSockets. FIVE THINGS AUDIENCE MEMBERS WILL LEARN Node.js environment and basics Node Package Manager overview Web Framework, express, basics WebSockets and Socket.io basics Building a chat engine using Node.js

TRANSCRIPT

Page 1: Node.js 101

Rami Sayar - @ramisayar

Technical Evangelist

Microsoft Canada

Page 2: Node.js 101

• Bootstrap Layout and CSS Basics

• Responsive Web Design and Bootstrap

• Bootstrap Components, Themes

• Favorite Addons

• LOTS OF DEMOS!

Page 3: Node.js 101

• Working knowledge of HTML5 and CSS3.

Note: Slides and code will be made available on @ramisayar.

Page 4: Node.js 101
Page 5: Node.js 101
Page 6: Node.js 101

• Bootstrap is the most popular HTML, CSS, and JS framework for developing responsive, mobile first projects on the web.

• Designed for everyone, everywhere.

• Open Source!

• It's made for folks of all skill levels, SUPER EASY TO GET STARTED.

• Developed by Mark Otto and Jacob Thornton at Twitter.

Page 7: Node.js 101

• Currently v3.2.0

• Supports Internet Explorer 8-11, Chrome, Firefox, Opera, Safari.

• Designed for the mobile-first, responsive Web

Page 8: Node.js 101

• Building new websites and mobile web apps

• Need a quick and easy way to prettify your website/tool

• Looking to develop over a stable CSS framework with a large community. -> Bootstrap is for you.

• Do not use Bootstrap if you want a truly unique design and style.

Page 9: Node.js 101
Page 10: Node.js 101

• Huge community!

• Most popular project on GitHub

• 71,893 stars

• 26,883 forks

• 581 contributors

Page 11: Node.js 101

HTML5 doctype

<!DOCTYPE html><html lang="en">...

</html>

Page 12: Node.js 101

Bootstrap is mobile first.

<meta name="viewport" content="width=device-width, initial-scale=1">

Disabling mobile zoom (don’t do it).

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">

Page 13: Node.js 101

• Bootstrap sets basic global display, typography and link styles. (You can see this in scaffolding.less)

• Bootstrap also normalizes basic browser rendering using Normalize.css

Page 14: Node.js 101
Page 15: Node.js 101

• Responsive web design is a design approach aimed at crafting sites to provide an optimal viewing experience—easy reading and navigation with a minimum of resizing, panning, and scrolling—across a wide range of devices (from mobile phones to desktop computer monitors). Wikipedia

Page 16: Node.js 101

• Thinking of the user’s needs instead of ours.

• Adapt to various device capabilities instead of configurations.

• Help future-proof our sites.

Page 17: Node.js 101
Page 18: Node.js 101

• A flexible, grid-based layout,

• Flexible images and media, and

• CSS3 media queries.

Page 19: Node.js 101

• Bootstrap includes a responsive, mobile first fluid grid system that scales 12 column units to the device width size.

• The MOST IMPORTANT part of this presentation.

• Grids must be placed within a container. The container type changes behavior and sizing.

Page 20: Node.js 101

Reference: http://getbootstrap.com/css

Page 21: Node.js 101
Page 22: Node.js 101
Page 23: Node.js 101
Page 24: Node.js 101
Page 25: Node.js 101
Page 26: Node.js 101
Page 27: Node.js 101
Page 28: Node.js 101
Page 29: Node.js 101
Page 30: Node.js 101
Page 31: Node.js 101
Page 32: Node.js 101
Page 33: Node.js 101

• Includes 200 glyphs from Glyphicon Halflings.

• Don’t mix with other components.

• Only for use on empty elements that have no child elements.

<span class="glyphicon glyphicon-search"></span>

Page 34: Node.js 101
Page 35: Node.js 101
Page 36: Node.js 101

<ul class="nav nav-tabs" role="tablist"><li class="active"><a href="#">Home</a></li><li><a href="#">Profile</a></li><li><a href="#">Messages</a></li>

</ul>

Page 37: Node.js 101

<ul class="nav nav-pills"><li class="active"><a href="#">Home</a></li><li><a href="#">Profile</a></li><li><a href="#">Messages</a></li>

</ul>

Page 38: Node.js 101
Page 39: Node.js 101

<span class="label label-default">Default</span><span class="label label-primary">Primary</span><span class="label label-success">Success</span><span class="label label-info">Info</span><span class="label label-warning">Warning</span><span class="label label-danger">Danger</span>

Page 40: Node.js 101

• To customize Bootstrap, you can customize Less.

• Bootstrap uses Grunt for its build system.

• grunt dist - compile CSS and JavaScript

• grunt watch - watch directory

• grunt test – run tests

• grunt – build everything and run tests

Page 41: Node.js 101

• Lots of themes are available for free.

• Take a look: bootswatch.com or wrapbootstrap.com

Page 42: Node.js 101
Page 43: Node.js 101

• Fuel UX: http://exacttarget.github.io/fuelux/

• Bootstrap Growl: https://github.com/ifightcrime/bootstrap-growl

• Bootstrap Modal: http://jschr.github.io/bootstrap-modal/

• Bootstrap Markdown: http://toopay.github.io/bootstrap-markdown/

Page 44: Node.js 101

• I was using Visual Studio 2013, you can get it for free here:• http://www.visualstudio.com/en-us/products/visual-studio-express-

vs.aspx

• And Visual Studio Web Essentials: http://vswebessentials.com/

• Includes Bootstrap Support:• Intellisense and Code Completion

• Error Detection

Page 45: Node.js 101

• Bootstrap Layout Basics

• CSS Basics

• Using Bootstrap for Responsive Web Design

• Bootstrap Components

• My favorite plugins

Page 46: Node.js 101

Follow @ramisayar

Tweet at me for slides/code.

Page 47: Node.js 101

©2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.