SlideShare a Scribd company logo
1 of 26
Meteor
Rock your world

Bob Davies
IndieSpring / Imba Software
What is Meteor?
Principles
What it actually does
How it works (101)
http://docs.meteor.com/
Key Principles
Data on the Wire. Don't send HTML over the network.
Send data and let the client decide how to render it.
Full Stack Reactivity. Make realtime the default.
All layers event-driven.
Simple and Open

http://docs.meteor.com/#sevenprinciples
Single Page
Focus is on intuitive UX
Clean, single page
Simple interactions

Highly interconnected
Socially networked
Mashup paradise
Simple collaboration platform
Reactive
• Templated views
• Application reacts to
– User actions
– Data actions
– Remote actions

• „Synchronisation‟ is automatic
– No transport code needed
David Glasser in Chicago - Meteor: Past, Present, & Future:
http://youtu.be/r996yhHNs5k?t=11m27s
Realtime
• Fetches from MongoDB after every
operation
– Pushes relevant updates to any subscribed
client
• Uses fairly sophisticated algorithm to determine
what to fetch and for whom.

– Also polls every 10 seconds

• Mongo oplog when >= Meteor 0.7.0
Session
• Session is per-tab
– sticky session

• Session is retained on hot-code reload,
but not on manual refresh (can cause
testing issues)
• Session stays open for ~15 minutes
(memory on server) after socket closes
Comparison

Several Thousand lines of code (php + jQuery)
Hard to build AND to use
TENs of lines of code
Very EASY to build AND use
Application Structure
• Simple structure
• Client/server separate files
– but share most functional code

• Publish on server and Subscribe on client
• Templated views
• MongoDB backend
– Can access others via packages
– Flexible nosql data source

• Backend is very efficient with Fibers
Quickstart
// install
$ curl https://install.meteor.com/ | sh
// create project
$ meteor create TestApp
// run
$ cd TestApp
$ meteor
=> Meteor server running on:
localhost:3000

//deploy
$ meteor deploy TestApp.meteor.com
Highly Recommended
// create project
$ meteor create TestApp
$ cd TestApp
// secure the project
meteor remove insecure
meteor remove autopublish
// run
$ meteor
=> Meteor server running………
Suggested
$ mkdir server //Only loads on
$ mkdir client //Only loads on
$ mkdir public //Static assets
$ mkdir shared //Loads on both
anything else not in server or
folder)

server
client
(as will
client

• Move (or remove) the premade files
– They sort of suck
– maybe want templates/views folder too
Publish/Subscribe
Templating
Binding Events

Chris Mather: Understanding the Event Loop, Async and Fibers:
http://www.youtube.com/watch?v=AWJ8LIzQMHY
http://stackoverflow.com/a/20794175/1358220
Allow / Deny
What to build?
• Slick UI/UX
• Socially Integrated
• Collaborative
Meteor meets Phonegap with Verso:
http://youtu.be/eeY1mZhvDy4?t=6m30s

http://madewith.meteor.com/
https://www.meteor.com/blog/2014/01/03/6-must-see-meteor-talks-from-2013
Useful built in packages
Package Management
• Meteorite
– Smart packages manager
– Several router choices
– Installs from atmosphere.meteor.com

• Can use NPM packages
– But may require some custom wrappers

• Much better towards 1.0
Challenges
• Good habits in old models, sometimes fail
you under Meteor
– Centralised data model
– Flow is different

• Some developers prefer the old model
– Break out!
– Don‟t force MVC or „tack on‟ an extra DAL, let
the engine to do the work for you
Into Production
•
•
•
•
•

Setup an appropriate file structure
Check your Allow/Deny rules
Check what code is shared/private
Expect change
Optimise Performance
– Essentially Node under the hood, though
some caveats apply (sticky sessions)

Ritik Malhotra: Building a Production-Ready Meteor App:
http://www.youtube.com/watch?v=gfFGjmiKfnA
Performance
• Not great with static assets, use a CDN and/or static cache if
scaling big
• Wrap source/subscriptions for logged-in and anonymous
users differently
– Each subscription requires resources

• Use {{#constant}}...{{/constant}} in templates around static
content
• {“_id”: “abc123”} is very fast when query/update Collection

http://meteorhacks.com/does-meteor-scale.html

http://projectricochet.com/blog/
Coming Up
• 1.0 expected soon (any day)
• Newer, faster render engine
• Many more packages appearing
• Students/kids are learning with Meteor
• Lots of startups use it for simple products
So, what is Meteor?
• Highly interactive and interconnected
• Realtime, reactive
• Templated simple user
interface/experience
• Accessible and manageable code
– no callback soup

• Scalable and performant
• Getting more awesome every day :)
Thank You :)

How can you benefit
from Meteor?
Bob Davies
IndieSpring / Imba Software
Twitter/Skype @bobbigmac
Facebook /bobdavies
Blog: http://bobbigmac.com

More Related Content

What's hot

Where We're Headed and Where NSX Fits In
Where We're Headed and Where NSX Fits InWhere We're Headed and Where NSX Fits In
Where We're Headed and Where NSX Fits InScott Lowe
 
Slaying Sacred Cows: Deconstructing Dependency Injection
Slaying Sacred Cows: Deconstructing Dependency InjectionSlaying Sacred Cows: Deconstructing Dependency Injection
Slaying Sacred Cows: Deconstructing Dependency InjectionTomer Gabel
 
Event Driven Automation Meetup May 14/2015
Event Driven Automation Meetup May 14/2015Event Driven Automation Meetup May 14/2015
Event Driven Automation Meetup May 14/2015Dmitri Zimine
 
OpenNebulaConf2019 - Building Virtual Environments for Security Analyses of C...
OpenNebulaConf2019 - Building Virtual Environments for Security Analyses of C...OpenNebulaConf2019 - Building Virtual Environments for Security Analyses of C...
OpenNebulaConf2019 - Building Virtual Environments for Security Analyses of C...OpenNebula Project
 
Codemotion Amsterdam 2016 - Building microservices with Vert.x
Codemotion Amsterdam 2016 - Building microservices with Vert.xCodemotion Amsterdam 2016 - Building microservices with Vert.x
Codemotion Amsterdam 2016 - Building microservices with Vert.xBert Jan Schrijver
 
Buzzwords: Microservices, containers and serverless - real life applications ...
Buzzwords: Microservices, containers and serverless - real life applications ...Buzzwords: Microservices, containers and serverless - real life applications ...
Buzzwords: Microservices, containers and serverless - real life applications ...drnugent
 
Meteor intro-2015
Meteor intro-2015Meteor intro-2015
Meteor intro-2015MeteorJS
 
OSDC 2017 - Florian Heigl - Experiences with rudder, is it really for everyone
OSDC 2017 - Florian Heigl - Experiences with rudder, is it really for everyoneOSDC 2017 - Florian Heigl - Experiences with rudder, is it really for everyone
OSDC 2017 - Florian Heigl - Experiences with rudder, is it really for everyoneNETWAYS
 
About Microservices, Containers and their Underestimated Impact on Network Pe...
About Microservices, Containers and their Underestimated Impact on Network Pe...About Microservices, Containers and their Underestimated Impact on Network Pe...
About Microservices, Containers and their Underestimated Impact on Network Pe...Nane Kratzke
 
VDB16 - DIY Java & Kubernetes
VDB16 - DIY Java & KubernetesVDB16 - DIY Java & Kubernetes
VDB16 - DIY Java & KubernetesPance Cavkovski
 
ASP.NET 5 on the Raspberry PI 2
ASP.NET 5 on the Raspberry PI 2ASP.NET 5 on the Raspberry PI 2
ASP.NET 5 on the Raspberry PI 2Jürgen Gutsch
 
Microservices and the future on Infrastructure
Microservices and the future on InfrastructureMicroservices and the future on Infrastructure
Microservices and the future on InfrastructurePini Reznik
 
JBCNConf 2017 - Building microservices with Vert.x
JBCNConf 2017 - Building microservices with Vert.xJBCNConf 2017 - Building microservices with Vert.x
JBCNConf 2017 - Building microservices with Vert.xBert Jan Schrijver
 
Meteor js - TechPeaks Developers Meeting
Meteor js - TechPeaks Developers MeetingMeteor js - TechPeaks Developers Meeting
Meteor js - TechPeaks Developers MeetingFrancesco Corazza
 

What's hot (17)

Where We're Headed and Where NSX Fits In
Where We're Headed and Where NSX Fits InWhere We're Headed and Where NSX Fits In
Where We're Headed and Where NSX Fits In
 
Elastic build environment
Elastic build environmentElastic build environment
Elastic build environment
 
Slaying Sacred Cows: Deconstructing Dependency Injection
Slaying Sacred Cows: Deconstructing Dependency InjectionSlaying Sacred Cows: Deconstructing Dependency Injection
Slaying Sacred Cows: Deconstructing Dependency Injection
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Event Driven Automation Meetup May 14/2015
Event Driven Automation Meetup May 14/2015Event Driven Automation Meetup May 14/2015
Event Driven Automation Meetup May 14/2015
 
OpenNebulaConf2019 - Building Virtual Environments for Security Analyses of C...
OpenNebulaConf2019 - Building Virtual Environments for Security Analyses of C...OpenNebulaConf2019 - Building Virtual Environments for Security Analyses of C...
OpenNebulaConf2019 - Building Virtual Environments for Security Analyses of C...
 
Codemotion Amsterdam 2016 - Building microservices with Vert.x
Codemotion Amsterdam 2016 - Building microservices with Vert.xCodemotion Amsterdam 2016 - Building microservices with Vert.x
Codemotion Amsterdam 2016 - Building microservices with Vert.x
 
Buzzwords: Microservices, containers and serverless - real life applications ...
Buzzwords: Microservices, containers and serverless - real life applications ...Buzzwords: Microservices, containers and serverless - real life applications ...
Buzzwords: Microservices, containers and serverless - real life applications ...
 
Meteor intro-2015
Meteor intro-2015Meteor intro-2015
Meteor intro-2015
 
OSDC 2017 - Florian Heigl - Experiences with rudder, is it really for everyone
OSDC 2017 - Florian Heigl - Experiences with rudder, is it really for everyoneOSDC 2017 - Florian Heigl - Experiences with rudder, is it really for everyone
OSDC 2017 - Florian Heigl - Experiences with rudder, is it really for everyone
 
About Microservices, Containers and their Underestimated Impact on Network Pe...
About Microservices, Containers and their Underestimated Impact on Network Pe...About Microservices, Containers and their Underestimated Impact on Network Pe...
About Microservices, Containers and their Underestimated Impact on Network Pe...
 
VDB16 - DIY Java & Kubernetes
VDB16 - DIY Java & KubernetesVDB16 - DIY Java & Kubernetes
VDB16 - DIY Java & Kubernetes
 
ASP.NET 5 on the Raspberry PI 2
ASP.NET 5 on the Raspberry PI 2ASP.NET 5 on the Raspberry PI 2
ASP.NET 5 on the Raspberry PI 2
 
Microservices and the future on Infrastructure
Microservices and the future on InfrastructureMicroservices and the future on Infrastructure
Microservices and the future on Infrastructure
 
JBCNConf 2017 - Building microservices with Vert.x
JBCNConf 2017 - Building microservices with Vert.xJBCNConf 2017 - Building microservices with Vert.x
JBCNConf 2017 - Building microservices with Vert.x
 
Cloud computing components
Cloud computing componentsCloud computing components
Cloud computing components
 
Meteor js - TechPeaks Developers Meeting
Meteor js - TechPeaks Developers MeetingMeteor js - TechPeaks Developers Meeting
Meteor js - TechPeaks Developers Meeting
 

Viewers also liked

Meteor Deployment Planning
Meteor Deployment PlanningMeteor Deployment Planning
Meteor Deployment PlanningRandell Hynes
 
Next generation web development with node.js and meteor
Next generation web development with node.js and meteorNext generation web development with node.js and meteor
Next generation web development with node.js and meteorMartin Naumann
 
Deploy meteor in production
Deploy meteor in productionDeploy meteor in production
Deploy meteor in productionMiro Radenovic
 
Offience's Node showcase
Offience's Node showcaseOffience's Node showcase
Offience's Node showcasecloud4le
 
Meteor presentation
Meteor presentationMeteor presentation
Meteor presentationAndy Bute
 
Intro To Meteor (Las Vegas Ruby User Group Talk)
Intro To Meteor (Las Vegas Ruby User Group Talk)Intro To Meteor (Las Vegas Ruby User Group Talk)
Intro To Meteor (Las Vegas Ruby User Group Talk)Almog Koren
 
The End of Dinosaurs happened because of [a] Meteor
The End of Dinosaurs happened because of [a] MeteorThe End of Dinosaurs happened because of [a] Meteor
The End of Dinosaurs happened because of [a] MeteorAbderrazak BOUADMA
 

Viewers also liked (11)

Meteor Deployment Planning
Meteor Deployment PlanningMeteor Deployment Planning
Meteor Deployment Planning
 
Meteor js
Meteor jsMeteor js
Meteor js
 
Next generation web development with node.js and meteor
Next generation web development with node.js and meteorNext generation web development with node.js and meteor
Next generation web development with node.js and meteor
 
Deploy meteor in production
Deploy meteor in productionDeploy meteor in production
Deploy meteor in production
 
Offience's Node showcase
Offience's Node showcaseOffience's Node showcase
Offience's Node showcase
 
Meteor presentation
Meteor presentationMeteor presentation
Meteor presentation
 
Why meteor
Why meteorWhy meteor
Why meteor
 
Intro To Meteor (Las Vegas Ruby User Group Talk)
Intro To Meteor (Las Vegas Ruby User Group Talk)Intro To Meteor (Las Vegas Ruby User Group Talk)
Intro To Meteor (Las Vegas Ruby User Group Talk)
 
Meteor
MeteorMeteor
Meteor
 
The End of Dinosaurs happened because of [a] Meteor
The End of Dinosaurs happened because of [a] MeteorThe End of Dinosaurs happened because of [a] Meteor
The End of Dinosaurs happened because of [a] Meteor
 
Meteor JS News
Meteor JS NewsMeteor JS News
Meteor JS News
 

Similar to Meteor node upnorth-bobdavies

Plone FSR
Plone FSRPlone FSR
Plone FSRfulv
 
All about that reactive ui
All about that reactive uiAll about that reactive ui
All about that reactive uiPaul van Zyl
 
Getting Started with Docker - Nick Stinemates
Getting Started with Docker - Nick StinematesGetting Started with Docker - Nick Stinemates
Getting Started with Docker - Nick StinematesAtlassian
 
Integrating Things and the smart mobile phone capabilities
Integrating Things and the smart mobile phone capabilitiesIntegrating Things and the smart mobile phone capabilities
Integrating Things and the smart mobile phone capabilitiesMarino Linaje Trigueros
 
Automatic deployment on .NET web stack (Minsk .NET meetup 12.02.14)
Automatic deployment on .NET web stack (Minsk .NET meetup 12.02.14)Automatic deployment on .NET web stack (Minsk .NET meetup 12.02.14)
Automatic deployment on .NET web stack (Minsk .NET meetup 12.02.14)Is Antipov
 
Cloud Native Dünyada CI/CD
Cloud Native Dünyada CI/CDCloud Native Dünyada CI/CD
Cloud Native Dünyada CI/CDMustafa AKIN
 
Docker:- Application Delivery Platform Towards Edge Computing
Docker:- Application Delivery Platform Towards Edge ComputingDocker:- Application Delivery Platform Towards Edge Computing
Docker:- Application Delivery Platform Towards Edge ComputingBukhary Ikhwan Ismail
 
Journey to Containerized Application / Google Container Engine
Journey to Containerized Application / Google Container EngineJourney to Containerized Application / Google Container Engine
Journey to Containerized Application / Google Container EngineGoogle Cloud Platform - Japan
 
From monolith to microservice with containers.
From monolith to microservice with containers.From monolith to microservice with containers.
From monolith to microservice with containers.Marcel Dempers
 
Demystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data ScientistsDemystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data ScientistsDr Ganesh Iyer
 
Application Delivery Platform Towards Edge Computing - Bukhary Ikhwan
Application Delivery Platform Towards Edge Computing - Bukhary IkhwanApplication Delivery Platform Towards Edge Computing - Bukhary Ikhwan
Application Delivery Platform Towards Edge Computing - Bukhary IkhwanOpenNebula Project
 
Apache Mesos Overview and Integration
Apache Mesos Overview and IntegrationApache Mesos Overview and Integration
Apache Mesos Overview and IntegrationAlex Baretto
 
JavaOne 2016 "Java, Microservices, Cloud and Containers"
JavaOne 2016 "Java, Microservices, Cloud and Containers"JavaOne 2016 "Java, Microservices, Cloud and Containers"
JavaOne 2016 "Java, Microservices, Cloud and Containers"Daniel Bryant
 
Meteor - Codemotion Rome 2015
Meteor - Codemotion Rome 2015Meteor - Codemotion Rome 2015
Meteor - Codemotion Rome 2015Codemotion
 
Meteor + Polymer
Meteor + PolymerMeteor + Polymer
Meteor + Polymerwolf4ood
 
The Meteor Framework
The Meteor FrameworkThe Meteor Framework
The Meteor FrameworkDamien Magoni
 
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them allEclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them allMarc Dutoo
 

Similar to Meteor node upnorth-bobdavies (20)

Plone FSR
Plone FSRPlone FSR
Plone FSR
 
All about that reactive ui
All about that reactive uiAll about that reactive ui
All about that reactive ui
 
Docker
DockerDocker
Docker
 
E2E Services using Cloud Visitation Platforms
E2E Services using Cloud Visitation PlatformsE2E Services using Cloud Visitation Platforms
E2E Services using Cloud Visitation Platforms
 
Getting Started with Docker - Nick Stinemates
Getting Started with Docker - Nick StinematesGetting Started with Docker - Nick Stinemates
Getting Started with Docker - Nick Stinemates
 
Integrating Things and the smart mobile phone capabilities
Integrating Things and the smart mobile phone capabilitiesIntegrating Things and the smart mobile phone capabilities
Integrating Things and the smart mobile phone capabilities
 
Automatic deployment on .NET web stack (Minsk .NET meetup 12.02.14)
Automatic deployment on .NET web stack (Minsk .NET meetup 12.02.14)Automatic deployment on .NET web stack (Minsk .NET meetup 12.02.14)
Automatic deployment on .NET web stack (Minsk .NET meetup 12.02.14)
 
Cloud Native Dünyada CI/CD
Cloud Native Dünyada CI/CDCloud Native Dünyada CI/CD
Cloud Native Dünyada CI/CD
 
Docker:- Application Delivery Platform Towards Edge Computing
Docker:- Application Delivery Platform Towards Edge ComputingDocker:- Application Delivery Platform Towards Edge Computing
Docker:- Application Delivery Platform Towards Edge Computing
 
Journey to Containerized Application / Google Container Engine
Journey to Containerized Application / Google Container EngineJourney to Containerized Application / Google Container Engine
Journey to Containerized Application / Google Container Engine
 
From monolith to microservice with containers.
From monolith to microservice with containers.From monolith to microservice with containers.
From monolith to microservice with containers.
 
Demystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data ScientistsDemystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data Scientists
 
Application Delivery Platform Towards Edge Computing - Bukhary Ikhwan
Application Delivery Platform Towards Edge Computing - Bukhary IkhwanApplication Delivery Platform Towards Edge Computing - Bukhary Ikhwan
Application Delivery Platform Towards Edge Computing - Bukhary Ikhwan
 
Apache Mesos Overview and Integration
Apache Mesos Overview and IntegrationApache Mesos Overview and Integration
Apache Mesos Overview and Integration
 
JavaOne 2016 "Java, Microservices, Cloud and Containers"
JavaOne 2016 "Java, Microservices, Cloud and Containers"JavaOne 2016 "Java, Microservices, Cloud and Containers"
JavaOne 2016 "Java, Microservices, Cloud and Containers"
 
Meteor meetup
Meteor meetupMeteor meetup
Meteor meetup
 
Meteor - Codemotion Rome 2015
Meteor - Codemotion Rome 2015Meteor - Codemotion Rome 2015
Meteor - Codemotion Rome 2015
 
Meteor + Polymer
Meteor + PolymerMeteor + Polymer
Meteor + Polymer
 
The Meteor Framework
The Meteor FrameworkThe Meteor Framework
The Meteor Framework
 
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them allEclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
 

Recently uploaded

Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Skynet Technologies
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...FIDO Alliance
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxFIDO Alliance
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch TuesdayIvanti
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024Stephen Perrenod
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxFIDO Alliance
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Hiroshi SHIBATA
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxFIDO Alliance
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe中 央社
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfFIDO Alliance
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024Lorenzo Miniero
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfFIDO Alliance
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...ScyllaDB
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform EngineeringMarcus Vechiato
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfFIDO Alliance
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...marcuskenyatta275
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...FIDO Alliance
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxFIDO Alliance
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentationyogeshlabana357357
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...FIDO Alliance
 

Recently uploaded (20)

Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 

Meteor node upnorth-bobdavies

  • 1. Meteor Rock your world Bob Davies IndieSpring / Imba Software
  • 2. What is Meteor? Principles What it actually does How it works (101) http://docs.meteor.com/
  • 3. Key Principles Data on the Wire. Don't send HTML over the network. Send data and let the client decide how to render it. Full Stack Reactivity. Make realtime the default. All layers event-driven. Simple and Open http://docs.meteor.com/#sevenprinciples
  • 4. Single Page Focus is on intuitive UX Clean, single page Simple interactions Highly interconnected Socially networked Mashup paradise Simple collaboration platform
  • 5. Reactive • Templated views • Application reacts to – User actions – Data actions – Remote actions • „Synchronisation‟ is automatic – No transport code needed David Glasser in Chicago - Meteor: Past, Present, & Future: http://youtu.be/r996yhHNs5k?t=11m27s
  • 6. Realtime • Fetches from MongoDB after every operation – Pushes relevant updates to any subscribed client • Uses fairly sophisticated algorithm to determine what to fetch and for whom. – Also polls every 10 seconds • Mongo oplog when >= Meteor 0.7.0
  • 7. Session • Session is per-tab – sticky session • Session is retained on hot-code reload, but not on manual refresh (can cause testing issues) • Session stays open for ~15 minutes (memory on server) after socket closes
  • 8. Comparison Several Thousand lines of code (php + jQuery) Hard to build AND to use
  • 9. TENs of lines of code Very EASY to build AND use
  • 10. Application Structure • Simple structure • Client/server separate files – but share most functional code • Publish on server and Subscribe on client • Templated views • MongoDB backend – Can access others via packages – Flexible nosql data source • Backend is very efficient with Fibers
  • 11. Quickstart // install $ curl https://install.meteor.com/ | sh // create project $ meteor create TestApp // run $ cd TestApp $ meteor => Meteor server running on: localhost:3000 //deploy $ meteor deploy TestApp.meteor.com
  • 12. Highly Recommended // create project $ meteor create TestApp $ cd TestApp // secure the project meteor remove insecure meteor remove autopublish // run $ meteor => Meteor server running………
  • 13. Suggested $ mkdir server //Only loads on $ mkdir client //Only loads on $ mkdir public //Static assets $ mkdir shared //Loads on both anything else not in server or folder) server client (as will client • Move (or remove) the premade files – They sort of suck – maybe want templates/views folder too
  • 16. Binding Events Chris Mather: Understanding the Event Loop, Async and Fibers: http://www.youtube.com/watch?v=AWJ8LIzQMHY http://stackoverflow.com/a/20794175/1358220
  • 18. What to build? • Slick UI/UX • Socially Integrated • Collaborative Meteor meets Phonegap with Verso: http://youtu.be/eeY1mZhvDy4?t=6m30s http://madewith.meteor.com/ https://www.meteor.com/blog/2014/01/03/6-must-see-meteor-talks-from-2013
  • 19. Useful built in packages
  • 20. Package Management • Meteorite – Smart packages manager – Several router choices – Installs from atmosphere.meteor.com • Can use NPM packages – But may require some custom wrappers • Much better towards 1.0
  • 21. Challenges • Good habits in old models, sometimes fail you under Meteor – Centralised data model – Flow is different • Some developers prefer the old model – Break out! – Don‟t force MVC or „tack on‟ an extra DAL, let the engine to do the work for you
  • 22. Into Production • • • • • Setup an appropriate file structure Check your Allow/Deny rules Check what code is shared/private Expect change Optimise Performance – Essentially Node under the hood, though some caveats apply (sticky sessions) Ritik Malhotra: Building a Production-Ready Meteor App: http://www.youtube.com/watch?v=gfFGjmiKfnA
  • 23. Performance • Not great with static assets, use a CDN and/or static cache if scaling big • Wrap source/subscriptions for logged-in and anonymous users differently – Each subscription requires resources • Use {{#constant}}...{{/constant}} in templates around static content • {“_id”: “abc123”} is very fast when query/update Collection http://meteorhacks.com/does-meteor-scale.html http://projectricochet.com/blog/
  • 24. Coming Up • 1.0 expected soon (any day) • Newer, faster render engine • Many more packages appearing • Students/kids are learning with Meteor • Lots of startups use it for simple products
  • 25. So, what is Meteor? • Highly interactive and interconnected • Realtime, reactive • Templated simple user interface/experience • Accessible and manageable code – no callback soup • Scalable and performant • Getting more awesome every day :)
  • 26. Thank You :) How can you benefit from Meteor? Bob Davies IndieSpring / Imba Software Twitter/Skype @bobbigmac Facebook /bobdavies Blog: http://bobbigmac.com

Editor's Notes

  1. A surprising amount of people don’t know to do this. Mad.
  2. A surprising amount of people don’t know to do this. Mad.
  3. A surprising amount of people don’t know to do this. Mad.
  4. A surprising amount of people don’t know to do this. Mad.
  5. A surprising amount of people don’t know to do this. Mad.
  6. A surprising amount of people don’t know to do this. Mad.
  7. A surprising amount of people don’t know to do this. Mad.