On Github cbrooker / JQueryTO-WebPresentation
by Arash, Bora, Chris B., Eden, Emil, Ernesto, Ivan, Lester, Jon W, and Maciek
700 attendees
2 days
With speakers from:
10 presenters
5 minutes each
with a Count down clock!
10 Presenters, 5 mins each, How?... with a countdown clock.BY Hakim El Hattab / hakim.se
https://github.com/hakimel/reveal.jsHTML, JS, CSS Framework for creating beautiful cross platform presentations
with support for CSS 3D transformations
Degrades gracefully to support almost any browser desktop or mobile
Markdown is a way to write things in a natural way that gets marked down to HTML.
## Markdown support For those of you who like that sort of thing. Instructions and a bit more info available [here](https://github.com/hakimel/reveal.js#markdown).
Just press add ?print-pdf to the URL
It
does
fragmented
views!
Just add class="fragment" to your element
function linkify( selector ) {
if( supports3DTransforms ) {
var nodes = document.querySelectorAll( selector );
for( var i = 0, len = nodes.length; i < len; i++ ) {
var node = nodes[i];
if( !node.className ) {
node.className += ' roll';
}
}
}
}
Courtesy of highlight.js.
Press b or period on your keyboard to enter the 'paused' mode. This mode is helpful when you want to take distracting slides off the screen during a presentation.
<section>
<h2>Pause Mode</h2>
<img src="http://musicandeverything.files.wordpress.com/2013/09/download.jpg" />
<p>
Press b or period on your keyboard to enter the 'paused' mode. This mode is helpful when you want to take distracting slides off the screen
during a presentation.
</p>
</section>
With Microsoft no longer supporting Windows XP, jQuery 1.x drops supports for IE6 and 7
Don't worry, not happening until early 2015 You can continue to use jQuery 1.12 Make sure you include a specific version. No jquery-latest.js!
Button, Slider, Flipswitch, Textinput from Mobile merge into UI All widgets from jQuery Mobile will eventually be merged into jQuery UI
High contrast mode
Along with jQuery, jQuery UI drops support for IE6 and 7
Supports the pointer events to unify mouse, touch, and pointer support Pointer events created by Microsoft will be supported by Firefox and Chrome... but not by Safari!
Rewrite of Globalize to use Unicode CLDR "The Unicode CLDR provides key building blocks for software to support the world's languages,with the largest and most extensive standard repository of locale data available"
WebRTC is a free, open project that enables web browsers with Real-Time Communications (RTC) capabilities via simple JavaScript APIs. The WebRTC components have been optimized to best serve this purpose.
[Source: webrtc.org]I made a real time 'live coding' tool using webRTC in under an hour - with audio chat
Questions?
Frustrating, slow, cluttered, too many options, too few options, no clear direction, confusing
Pleasing UI, inviting, right balance of options, clear direction, uncluttered, clean.
Scroll down to follow Usability Principles.
Javascript is no longer limited to just Web development platforms.
Most households have multiple TVs and other digial devices.
Javascript is becoming a new interoperability standard.
As Web developers we have more options today then yesterday.
Serve one big image and let the browser scale it?
Serve an appropriate image to each user/device
The srcset attribute is an extension to the img and source elements that provides a concice method for delivering high-res assets to high-density displays only, while allowing the user to override requests based on a preference or available bandwidth.
<img src="fallback.jpg" alt="" srcset="photo.jpg 1x, photo-hd.jpg 2x">
The picture element is a markup pattern that allows developers to declare multiple sources for an image. By using media queries, it gives developers control as to when and if those images are presented to the user.
<picture> <source type="image/webp" srcset="dogs-1.webp, dogs-2.webp 2x"> <source media="(min-width: 40em)" srcset="big.jpg 1x, big-hd.jpg 2x"> <source srcset="small.jpg 1x, small-hd.jpg 2x"> <img src="fallback.jpg" alt=""> </picture>
Why we should use it? What is it's benefit in web development?
you can bind the HTML elements and tags with your model variables and the updates/refresh of UI happens bi-directionally. If model value change UI gets updated and the other way around.
<html ng-app="myApp">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.4/angular.min.js"></script>
<script src="controller.js"></script>
</head>
<body>
<div ng-controller="GreetingController">
<ul>
<li ng-repeat="friend in friends">
name: {{ friend.name }}
nickname: {{friend.nickname}}
</li>
</ul>
<div ng-click="add()">Add</div>
</div>
</body>
</html>
var myApp = angular.module('myApp',[]);
myApp.controller('GreetingController', ['$scope', function($scope) {
$scope.friends = [
{
id: 1, name: "Tricia", nickname: "Nickname1"
},
{
id: 2, name: "Joanna", nickname: "Nickname2"
},
{
id: 3, name: "Kit", nickname: "Sparky"
}
];
$scope.add = function() {
$scope.friends.push({id:4,name:'arash',nickname:'arashnickname'});
};
}]);
<html ng-app="docsSimpleDirective">
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.12/angular.min.js"></script>
<script type="text/javascript" src="controller.js"></script>
</head>
<body>
<div ng-controller="Ctrl">
<div my-customer></div>
<div my-customer></div>
<div my-customer></div>
</div>
</body>
</html>
angular.module('docsSimpleDirective', [])
.controller('Ctrl', function($scope) {
$scope.customer = {
name: 'Naomi',
address: '1600 Amphitheatre'
};
})
.directive('myCustomer', function() {
return {
template: 'Name: {{customer.name}} Address: {{customer.address}}'
};
});
Dependency Injection is the design patter where the objects do not instantiate their dependencies, Instead the framework passes their dependencies to them.
<html ng-app="myModule">
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.12/angular.min.js"></script>
<script type="text/javascript" src="DI.js"></script>
</head>
<body>
<div ng-controller="MyController">
<button ng-click="sayHello()">Hello</button>
</div>
</body>
</html>
Using Angular OOTB injector implicitly. Angular default injector subsystem takes care of dependency injection when controller is created
angular.module('myModule', [])
.factory('greeter', function($window) {
return {
greet: function(text) {
$window.alert(text);
}
};
})
.controller('MyController', function($scope, greeter) {
$scope.sayHello = function() {
greeter.greet('Hello World');
};
});
Dynamically inject a service to controller
angular.module('myModule', []).factory('greeter', function($window) {
return {
greet: function(text) {
$window.alert(text);
}
};
})
.controller('MyController', function($scope, $injector) {
$scope.sayHello = function() {
$injector.get('greeter').greet('hello worldcc');
};
});
Using the HTML5 Application Cache
An interface to specify resources that the browser should cache and make available to offline users
<html manifest="index.appcache"> ... </html>
CACHE MANIFEST # 2014-04-01 CACHE: index.html scripts/main.js NETWORK: * FALLBACK: images/large images/offline.jpg