3. Session
powered by
3
Kris van der Mast @KvdM
www.krisvandermast.com
>> Platinum sponsor
Microsoft Azure
Visual Studio and Development Technologies
4. Session
powered by
What we’ll see today
• How I got here
• What
• Hello world
• Architectural insights
• Let’s make something
• Resources
4
5. Session
powered by
What is Meteor.js
100% Full stack JavaScript framework for
developing modern web and mobile applications
One code base – all platforms
Open and extensible
5
9. Session
powered by
ES2015
• arrow functions
(arg) => { return result; }
• method shorthands
render() {}
• const and let instead of var.
9
10. Session
powered by
Same Code
10
Todos = new Mongo.Collection('Todos');
Todos.insert({_id: 'my-todo'});
const todo = Todos.findOne({_id: 'my-todo'});
console.log(todo);
- Different outcome
Todos = new Mongo.Collection('Todos');
Todos.insert({_id: 'my-todo'});
const todo = Todos.findOne({_id: 'my-todo'});
console.log(todo);
Todos = new Mongo.Collection('Todos');
// This line won't complete until the insert is done
Todos.insert({_id: 'my-todo'});
// So this line will return something
const todo = Todos.findOne({_id: 'my-todo'});
// Look ma, no callbacks!
console.log(todo);
Todos = new Mongo.Collection('Todos');
// This line is changing an in-memory
// Minimongo data structure
Todos.insert({_id: 'my-todo'});
// And this line is querying it
const todo = Todos.findOne({_id: 'my-todo'});
// So this happens right away!
console.log(todo);
Server side Client side