SlideShare a Scribd company logo
Intro to MeteorDavid Brear
@davidbrear04 - github.com/DavidBrear
Slides adapted from: http://www.slideshare.net/MeteorJS/meteor-intro2014
What We’ll Cover
• What is Meteor?
• Meteor App Structure & Basic Code Explanation
• Do a live coding example
• Show example apps
• Learning Resources
What is Meteor?
• Open source platform for building web and mobile apps
in Javascript
• Built on NodeJS (JS on the front and back)
• Rich user experiences (Reactivity)
• Collaborative multi-user applications
• Cross-platform apps (web, iOS, Android)
• Fast Development
How Modern Apps Look & Feel
• Focus on features instead of worrying about application setup
and configuration.
• Meteor’s Goal: Facebook-quality apps without
Facebook’s money.
Components
• LiveQuery - Live Database Connectors
• Realtime database queries. (Replication slave, DB triggers, pubsub, polling)
• DDP - Distributed Data Protocol (Websocket-based data protocol)
• Subscribe to changes in the database.
• MiniMongo - MongoDB in-memory Javascript
• Run database queries in the client.
• Tracker - Reactive Programming made simple.
• Rerun functions when data changes.
• Blaze - Reactive UI Templating
• Keep the view up-to-date with your data with simple HTML templates.
http://meteor.com/projects
App Structure
From
meteor create my_project
to
Full Meteor App Structure
Initial Project Files
• Create initial project files:
Basic App Template
Meteor only uses head, body, template tags
helper
Named template
Meteor Templates
• Uses HTML mixed with Spacebars
• {{> templateName }}
• {{ helper }}
• Has helpers and events for control flow.
How Helpers Work
Attribute of Template
*Note: Session provides getter/setter to store an arbitrary set of key-value pairs.
How Events Work
Event is a key of ‘Action Selector’
Putting It All Together
Basic way of controlling where code runs.
Meteor App
Structure
my_project
— /client
— /server
— /lib
— /public
• client - code only run
on the client.
• server - code only run
on the server.
• lib - code run before
any other code.
• public - assets
What We Are Missing?
• Pub/Sub to Collections (Shown in example)
• Routing (Not shown today; womp! womp!)
• Animation (Not shown today)
• Deployment (Not shown today)
• Mobile app deployment (This is really cool but sadly,
not shown today.)
Live Coding Example
We’ll do it LIVE!
Example Apps
• Todos - Full-featured todo list app
• LocalMarket - Mobile social engagement app
meteor create --example todos
meteor create --example localmarket
Learning Meteor
• Meteor Learn
• http://www.meteor.com/learn
• Official Meteor Tutorial
• http://meteor.com/install
• Discover Meteor (This is a great book)
• http://book.discovermeteor.com/
• EventedMind
• https://www.eventedmind.com/
• Official Meteor Docs
• http://docs.meteor.com
Special Thanks
• Center for Open Science
• http://centerforopenscience.org/
• Alice Yu, Robert Dickert, and the rest of the team
at Meteor.
• Everyone who came out to listen to this!
Ad

More Related Content

What's hot (20)

Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)
Vincent Biret
 
Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)
Vincent Biret
 
The Thick Front-End
The Thick Front-EndThe Thick Front-End
The Thick Front-End
Jeff Dickey
 
What’s new mvc 4
What’s new mvc 4What’s new mvc 4
What’s new mvc 4
MaslowB
 
Giant Swarm @Devhouse friday
Giant Swarm @Devhouse fridayGiant Swarm @Devhouse friday
Giant Swarm @Devhouse friday
Timo Derstappen
 
Angular4 kickstart
Angular4 kickstartAngular4 kickstart
Angular4 kickstart
Foyzul Karim
 
Pre-rendering single page app
Pre-rendering single page appPre-rendering single page app
Pre-rendering single page app
Michał Koźmiński
 
Who needs containers in a serverless world
Who needs containers in a serverless worldWho needs containers in a serverless world
Who needs containers in a serverless world
Matthias Luebken
 
Devoxx 2018 - Pivotal and AxonIQ - Quickstart your event driven architecture
Devoxx 2018 -  Pivotal and AxonIQ - Quickstart your event driven architectureDevoxx 2018 -  Pivotal and AxonIQ - Quickstart your event driven architecture
Devoxx 2018 - Pivotal and AxonIQ - Quickstart your event driven architecture
Ben Wilcock
 
SignalR with ASP.NET MVC 6
SignalR with ASP.NET MVC 6SignalR with ASP.NET MVC 6
SignalR with ASP.NET MVC 6
Tung Nguyen Thanh
 
Serverless architecture
Serverless architectureServerless architecture
Serverless architecture
vipin kumar
 
TallyJS #1 - Intro to AngularJS
TallyJS #1 - Intro to AngularJSTallyJS #1 - Intro to AngularJS
TallyJS #1 - Intro to AngularJS
Andrew Hart
 
Angular Introduction (RS)
Angular Introduction (RS)Angular Introduction (RS)
Angular Introduction (RS)
Rishikesh Shukla
 
TechTalk - Building Serverless Applications with IBM Bluemix
TechTalk - Building Serverless Applications with IBM BluemixTechTalk - Building Serverless Applications with IBM Bluemix
TechTalk - Building Serverless Applications with IBM Bluemix
Janakiram MSV
 
Building our App with React Native
Building our App with React NativeBuilding our App with React Native
Building our App with React Native
Nuxeo
 
MAppMechanic CodeLabs - PolymerJS Advanced Topics for Custom Elements
MAppMechanic CodeLabs - PolymerJS Advanced Topics for Custom ElementsMAppMechanic CodeLabs - PolymerJS Advanced Topics for Custom Elements
MAppMechanic CodeLabs - PolymerJS Advanced Topics for Custom Elements
Rahat Khanna a.k.a mAppMechanic
 
Contributing to OpenStack, A beginner's perspective
Contributing to OpenStack,  A beginner's perspectiveContributing to OpenStack,  A beginner's perspective
Contributing to OpenStack, A beginner's perspective
Akanksha Agrawal
 
Front End Applications Using One Stop JavaScript Library from Telerik
Front End Applications Using One Stop JavaScript Library from TelerikFront End Applications Using One Stop JavaScript Library from Telerik
Front End Applications Using One Stop JavaScript Library from Telerik
Lohith Goudagere Nagaraj
 
Serverless in Azure with Functions
Serverless in Azure with FunctionsServerless in Azure with Functions
Serverless in Azure with Functions
Christos Matskas
 
Servers? Where we're going we don't need servers.
Servers? Where we're going we don't need servers.Servers? Where we're going we don't need servers.
Servers? Where we're going we don't need servers.
drnugent
 
Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)
Vincent Biret
 
Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)
Vincent Biret
 
The Thick Front-End
The Thick Front-EndThe Thick Front-End
The Thick Front-End
Jeff Dickey
 
What’s new mvc 4
What’s new mvc 4What’s new mvc 4
What’s new mvc 4
MaslowB
 
Giant Swarm @Devhouse friday
Giant Swarm @Devhouse fridayGiant Swarm @Devhouse friday
Giant Swarm @Devhouse friday
Timo Derstappen
 
Angular4 kickstart
Angular4 kickstartAngular4 kickstart
Angular4 kickstart
Foyzul Karim
 
Who needs containers in a serverless world
Who needs containers in a serverless worldWho needs containers in a serverless world
Who needs containers in a serverless world
Matthias Luebken
 
Devoxx 2018 - Pivotal and AxonIQ - Quickstart your event driven architecture
Devoxx 2018 -  Pivotal and AxonIQ - Quickstart your event driven architectureDevoxx 2018 -  Pivotal and AxonIQ - Quickstart your event driven architecture
Devoxx 2018 - Pivotal and AxonIQ - Quickstart your event driven architecture
Ben Wilcock
 
Serverless architecture
Serverless architectureServerless architecture
Serverless architecture
vipin kumar
 
TallyJS #1 - Intro to AngularJS
TallyJS #1 - Intro to AngularJSTallyJS #1 - Intro to AngularJS
TallyJS #1 - Intro to AngularJS
Andrew Hart
 
TechTalk - Building Serverless Applications with IBM Bluemix
TechTalk - Building Serverless Applications with IBM BluemixTechTalk - Building Serverless Applications with IBM Bluemix
TechTalk - Building Serverless Applications with IBM Bluemix
Janakiram MSV
 
Building our App with React Native
Building our App with React NativeBuilding our App with React Native
Building our App with React Native
Nuxeo
 
MAppMechanic CodeLabs - PolymerJS Advanced Topics for Custom Elements
MAppMechanic CodeLabs - PolymerJS Advanced Topics for Custom ElementsMAppMechanic CodeLabs - PolymerJS Advanced Topics for Custom Elements
MAppMechanic CodeLabs - PolymerJS Advanced Topics for Custom Elements
Rahat Khanna a.k.a mAppMechanic
 
Contributing to OpenStack, A beginner's perspective
Contributing to OpenStack,  A beginner's perspectiveContributing to OpenStack,  A beginner's perspective
Contributing to OpenStack, A beginner's perspective
Akanksha Agrawal
 
Front End Applications Using One Stop JavaScript Library from Telerik
Front End Applications Using One Stop JavaScript Library from TelerikFront End Applications Using One Stop JavaScript Library from Telerik
Front End Applications Using One Stop JavaScript Library from Telerik
Lohith Goudagere Nagaraj
 
Serverless in Azure with Functions
Serverless in Azure with FunctionsServerless in Azure with Functions
Serverless in Azure with Functions
Christos Matskas
 
Servers? Where we're going we don't need servers.
Servers? Where we're going we don't need servers.Servers? Where we're going we don't need servers.
Servers? Where we're going we don't need servers.
drnugent
 

Similar to Meteor meetup (20)

Introduction to react native with redux
Introduction to react native with reduxIntroduction to react native with redux
Introduction to react native with redux
Mike Melusky
 
MeteorDay Copenhagen
MeteorDay CopenhagenMeteorDay Copenhagen
MeteorDay Copenhagen
Lars Buur
 
All about that reactive ui
All about that reactive uiAll about that reactive ui
All about that reactive ui
Paul van Zyl
 
Meteor Introduction - Ashish
Meteor Introduction - AshishMeteor Introduction - Ashish
Meteor Introduction - Ashish
Entrepreneur / Startup
 
Introduction to Meteor - Worldwide Meteor Day
Introduction to Meteor - Worldwide Meteor DayIntroduction to Meteor - Worldwide Meteor Day
Introduction to Meteor - Worldwide Meteor Day
M A Hossain Tonu
 
Plone FSR
Plone FSRPlone FSR
Plone FSR
fulv
 
From MEAN to the MERN Stack
From MEAN to the MERN StackFrom MEAN to the MERN Stack
From MEAN to the MERN Stack
Troy Miles
 
React state management with Redux and MobX
React state management with Redux and MobXReact state management with Redux and MobX
React state management with Redux and MobX
Darko Kukovec
 
Real-world Dojo Mobile
Real-world Dojo MobileReal-world Dojo Mobile
Real-world Dojo Mobile
Andrew Ferrier
 
Mobile native-hacks
Mobile native-hacksMobile native-hacks
Mobile native-hacks
DevelopmentArc LLC
 
JoTechies - Azure Functions Using c#
JoTechies - Azure Functions Using c#JoTechies - Azure Functions Using c#
JoTechies - Azure Functions Using c#
JoTechies
 
Meteor Intro @viennajs
Meteor Intro @viennajsMeteor Intro @viennajs
Meteor Intro @viennajs
Gerwin Brunner
 
Angular JS, A dive to concepts
Angular JS, A dive to conceptsAngular JS, A dive to concepts
Angular JS, A dive to concepts
Abhishek Sur
 
UCCSC 2016
UCCSC 2016UCCSC 2016
UCCSC 2016
Alex Wu
 
Meteor intro-2015
Meteor intro-2015Meteor intro-2015
Meteor intro-2015
MeteorJS
 
Angular JS - Introduction
Angular JS - IntroductionAngular JS - Introduction
Angular JS - Introduction
Sagar Acharya
 
Meteor Revolution: From DDP to Blaze Reactive Rendering
Meteor Revolution: From DDP to Blaze Reactive Rendering Meteor Revolution: From DDP to Blaze Reactive Rendering
Meteor Revolution: From DDP to Blaze Reactive Rendering
Massimo Sgrelli
 
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
Heiko Voigt
 
Tech io spa_angularjs_20130814_v0.9.5
Tech io spa_angularjs_20130814_v0.9.5Tech io spa_angularjs_20130814_v0.9.5
Tech io spa_angularjs_20130814_v0.9.5
Ganesh Kondal
 
An evening with React Native
An evening with React NativeAn evening with React Native
An evening with React Native
Mike Melusky
 
Introduction to react native with redux
Introduction to react native with reduxIntroduction to react native with redux
Introduction to react native with redux
Mike Melusky
 
MeteorDay Copenhagen
MeteorDay CopenhagenMeteorDay Copenhagen
MeteorDay Copenhagen
Lars Buur
 
All about that reactive ui
All about that reactive uiAll about that reactive ui
All about that reactive ui
Paul van Zyl
 
Introduction to Meteor - Worldwide Meteor Day
Introduction to Meteor - Worldwide Meteor DayIntroduction to Meteor - Worldwide Meteor Day
Introduction to Meteor - Worldwide Meteor Day
M A Hossain Tonu
 
Plone FSR
Plone FSRPlone FSR
Plone FSR
fulv
 
From MEAN to the MERN Stack
From MEAN to the MERN StackFrom MEAN to the MERN Stack
From MEAN to the MERN Stack
Troy Miles
 
React state management with Redux and MobX
React state management with Redux and MobXReact state management with Redux and MobX
React state management with Redux and MobX
Darko Kukovec
 
Real-world Dojo Mobile
Real-world Dojo MobileReal-world Dojo Mobile
Real-world Dojo Mobile
Andrew Ferrier
 
JoTechies - Azure Functions Using c#
JoTechies - Azure Functions Using c#JoTechies - Azure Functions Using c#
JoTechies - Azure Functions Using c#
JoTechies
 
Meteor Intro @viennajs
Meteor Intro @viennajsMeteor Intro @viennajs
Meteor Intro @viennajs
Gerwin Brunner
 
Angular JS, A dive to concepts
Angular JS, A dive to conceptsAngular JS, A dive to concepts
Angular JS, A dive to concepts
Abhishek Sur
 
UCCSC 2016
UCCSC 2016UCCSC 2016
UCCSC 2016
Alex Wu
 
Meteor intro-2015
Meteor intro-2015Meteor intro-2015
Meteor intro-2015
MeteorJS
 
Angular JS - Introduction
Angular JS - IntroductionAngular JS - Introduction
Angular JS - Introduction
Sagar Acharya
 
Meteor Revolution: From DDP to Blaze Reactive Rendering
Meteor Revolution: From DDP to Blaze Reactive Rendering Meteor Revolution: From DDP to Blaze Reactive Rendering
Meteor Revolution: From DDP to Blaze Reactive Rendering
Massimo Sgrelli
 
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
Heiko Voigt
 
Tech io spa_angularjs_20130814_v0.9.5
Tech io spa_angularjs_20130814_v0.9.5Tech io spa_angularjs_20130814_v0.9.5
Tech io spa_angularjs_20130814_v0.9.5
Ganesh Kondal
 
An evening with React Native
An evening with React NativeAn evening with React Native
An evening with React Native
Mike Melusky
 
Ad

Recently uploaded (20)

Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Library Association of Ireland
 
Introduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe EngineeringIntroduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe Engineering
Damian T. Gordon
 
Understanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s GuideUnderstanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s Guide
GS Virdi
 
One Hot encoding a revolution in Machine learning
One Hot encoding a revolution in Machine learningOne Hot encoding a revolution in Machine learning
One Hot encoding a revolution in Machine learning
momer9505
 
GDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptxGDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptx
azeenhodekar
 
K12 Tableau Tuesday - Algebra Equity and Access in Atlanta Public Schools
K12 Tableau Tuesday  - Algebra Equity and Access in Atlanta Public SchoolsK12 Tableau Tuesday  - Algebra Equity and Access in Atlanta Public Schools
K12 Tableau Tuesday - Algebra Equity and Access in Atlanta Public Schools
dogden2
 
Sinhala_Male_Names.pdf Sinhala_Male_Name
Sinhala_Male_Names.pdf Sinhala_Male_NameSinhala_Male_Names.pdf Sinhala_Male_Name
Sinhala_Male_Names.pdf Sinhala_Male_Name
keshanf79
 
Stein, Hunt, Green letter to Congress April 2025
Stein, Hunt, Green letter to Congress April 2025Stein, Hunt, Green letter to Congress April 2025
Stein, Hunt, Green letter to Congress April 2025
Mebane Rash
 
Quality Contril Analysis of Containers.pdf
Quality Contril Analysis of Containers.pdfQuality Contril Analysis of Containers.pdf
Quality Contril Analysis of Containers.pdf
Dr. Bindiya Chauhan
 
To study Digestive system of insect.pptx
To study Digestive system of insect.pptxTo study Digestive system of insect.pptx
To study Digestive system of insect.pptx
Arshad Shaikh
 
apa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdfapa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdf
Ishika Ghosh
 
Presentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem KayaPresentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem Kaya
MIPLM
 
Metamorphosis: Life's Transformative Journey
Metamorphosis: Life's Transformative JourneyMetamorphosis: Life's Transformative Journey
Metamorphosis: Life's Transformative Journey
Arshad Shaikh
 
To study the nervous system of insect.pptx
To study the nervous system of insect.pptxTo study the nervous system of insect.pptx
To study the nervous system of insect.pptx
Arshad Shaikh
 
Political History of Pala dynasty Pala Rulers NEP.pptx
Political History of Pala dynasty Pala Rulers NEP.pptxPolitical History of Pala dynasty Pala Rulers NEP.pptx
Political History of Pala dynasty Pala Rulers NEP.pptx
Arya Mahila P. G. College, Banaras Hindu University, Varanasi, India.
 
Geography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjectsGeography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjects
ProfDrShaikhImran
 
YSPH VMOC Special Report - Measles Outbreak Southwest US 5-3-2025.pptx
YSPH VMOC Special Report - Measles Outbreak  Southwest US 5-3-2025.pptxYSPH VMOC Special Report - Measles Outbreak  Southwest US 5-3-2025.pptx
YSPH VMOC Special Report - Measles Outbreak Southwest US 5-3-2025.pptx
Yale School of Public Health - The Virtual Medical Operations Center (VMOC)
 
Social Problem-Unemployment .pptx notes for Physiotherapy Students
Social Problem-Unemployment .pptx notes for Physiotherapy StudentsSocial Problem-Unemployment .pptx notes for Physiotherapy Students
Social Problem-Unemployment .pptx notes for Physiotherapy Students
DrNidhiAgarwal
 
How to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POSHow to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POS
Celine George
 
How to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
How to Customize Your Financial Reports & Tax Reports With Odoo 17 AccountingHow to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
How to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
Celine George
 
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Library Association of Ireland
 
Introduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe EngineeringIntroduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe Engineering
Damian T. Gordon
 
Understanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s GuideUnderstanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s Guide
GS Virdi
 
One Hot encoding a revolution in Machine learning
One Hot encoding a revolution in Machine learningOne Hot encoding a revolution in Machine learning
One Hot encoding a revolution in Machine learning
momer9505
 
GDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptxGDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptx
azeenhodekar
 
K12 Tableau Tuesday - Algebra Equity and Access in Atlanta Public Schools
K12 Tableau Tuesday  - Algebra Equity and Access in Atlanta Public SchoolsK12 Tableau Tuesday  - Algebra Equity and Access in Atlanta Public Schools
K12 Tableau Tuesday - Algebra Equity and Access in Atlanta Public Schools
dogden2
 
Sinhala_Male_Names.pdf Sinhala_Male_Name
Sinhala_Male_Names.pdf Sinhala_Male_NameSinhala_Male_Names.pdf Sinhala_Male_Name
Sinhala_Male_Names.pdf Sinhala_Male_Name
keshanf79
 
Stein, Hunt, Green letter to Congress April 2025
Stein, Hunt, Green letter to Congress April 2025Stein, Hunt, Green letter to Congress April 2025
Stein, Hunt, Green letter to Congress April 2025
Mebane Rash
 
Quality Contril Analysis of Containers.pdf
Quality Contril Analysis of Containers.pdfQuality Contril Analysis of Containers.pdf
Quality Contril Analysis of Containers.pdf
Dr. Bindiya Chauhan
 
To study Digestive system of insect.pptx
To study Digestive system of insect.pptxTo study Digestive system of insect.pptx
To study Digestive system of insect.pptx
Arshad Shaikh
 
apa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdfapa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdf
Ishika Ghosh
 
Presentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem KayaPresentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem Kaya
MIPLM
 
Metamorphosis: Life's Transformative Journey
Metamorphosis: Life's Transformative JourneyMetamorphosis: Life's Transformative Journey
Metamorphosis: Life's Transformative Journey
Arshad Shaikh
 
To study the nervous system of insect.pptx
To study the nervous system of insect.pptxTo study the nervous system of insect.pptx
To study the nervous system of insect.pptx
Arshad Shaikh
 
Geography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjectsGeography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjects
ProfDrShaikhImran
 
Social Problem-Unemployment .pptx notes for Physiotherapy Students
Social Problem-Unemployment .pptx notes for Physiotherapy StudentsSocial Problem-Unemployment .pptx notes for Physiotherapy Students
Social Problem-Unemployment .pptx notes for Physiotherapy Students
DrNidhiAgarwal
 
How to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POSHow to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POS
Celine George
 
How to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
How to Customize Your Financial Reports & Tax Reports With Odoo 17 AccountingHow to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
How to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
Celine George
 
Ad

Meteor meetup

  • 1. Intro to MeteorDavid Brear @davidbrear04 - github.com/DavidBrear Slides adapted from: http://www.slideshare.net/MeteorJS/meteor-intro2014
  • 2. What We’ll Cover • What is Meteor? • Meteor App Structure & Basic Code Explanation • Do a live coding example • Show example apps • Learning Resources
  • 3. What is Meteor? • Open source platform for building web and mobile apps in Javascript • Built on NodeJS (JS on the front and back) • Rich user experiences (Reactivity) • Collaborative multi-user applications • Cross-platform apps (web, iOS, Android) • Fast Development
  • 4. How Modern Apps Look & Feel • Focus on features instead of worrying about application setup and configuration. • Meteor’s Goal: Facebook-quality apps without Facebook’s money.
  • 5. Components • LiveQuery - Live Database Connectors • Realtime database queries. (Replication slave, DB triggers, pubsub, polling) • DDP - Distributed Data Protocol (Websocket-based data protocol) • Subscribe to changes in the database. • MiniMongo - MongoDB in-memory Javascript • Run database queries in the client. • Tracker - Reactive Programming made simple. • Rerun functions when data changes. • Blaze - Reactive UI Templating • Keep the view up-to-date with your data with simple HTML templates. http://meteor.com/projects
  • 6. App Structure From meteor create my_project to Full Meteor App Structure
  • 7. Initial Project Files • Create initial project files:
  • 8. Basic App Template Meteor only uses head, body, template tags helper Named template
  • 9. Meteor Templates • Uses HTML mixed with Spacebars • {{> templateName }} • {{ helper }} • Has helpers and events for control flow.
  • 10. How Helpers Work Attribute of Template *Note: Session provides getter/setter to store an arbitrary set of key-value pairs.
  • 11. How Events Work Event is a key of ‘Action Selector’
  • 12. Putting It All Together Basic way of controlling where code runs.
  • 13. Meteor App Structure my_project — /client — /server — /lib — /public • client - code only run on the client. • server - code only run on the server. • lib - code run before any other code. • public - assets
  • 14. What We Are Missing? • Pub/Sub to Collections (Shown in example) • Routing (Not shown today; womp! womp!) • Animation (Not shown today) • Deployment (Not shown today) • Mobile app deployment (This is really cool but sadly, not shown today.)
  • 16. Example Apps • Todos - Full-featured todo list app • LocalMarket - Mobile social engagement app meteor create --example todos meteor create --example localmarket
  • 17. Learning Meteor • Meteor Learn • http://www.meteor.com/learn • Official Meteor Tutorial • http://meteor.com/install • Discover Meteor (This is a great book) • http://book.discovermeteor.com/ • EventedMind • https://www.eventedmind.com/ • Official Meteor Docs • http://docs.meteor.com
  • 18. Special Thanks • Center for Open Science • http://centerforopenscience.org/ • Alice Yu, Robert Dickert, and the rest of the team at Meteor. • Everyone who came out to listen to this!