SlideShare a Scribd company logo
1 of 32
Download to read offline
Getting Started with
Meteor
Capital District Java Developers Network
May 23, 2013

Michael P. Redlich
@mpredli
about.me/mpredli/
1
Wednesday, June 12, 13
Who’s Mike?
• BS in CS from Rutgers University
• “Petrochemical Research Organization”
• Ai-Logix, Inc.
• Amateur Computer Group of New Jersey
• Publications
• Presentations
2
Wednesday, June 12, 13
Objectives
• What is Meteor?
• Why Meteor?
• The Seven Principles
• Getting Started with Meteor
• Live Demos (yea!)
• Meteor Resources
3
Wednesday, June 12, 13
What is Meteor? (1)
• “...an open-source platform for building topquality web apps in a fraction of the time,
whether you’re an expert developer or just
getting started.”

Meteor Web Site, http://www.meteor.com/

• A full-stack framework using JavaScript
• Compiles, combines, and distributes your
HTML, CSS, and JavaScript
4
Wednesday, June 12, 13
What is Meteor? (2)
• Built on top of Node.js
• Shares code between the client-side and
server-side of your application

5
Wednesday, June 12, 13
What is Node.js?
• “...a platform built on Chrome’s JavaScript

runtime for easily building fast, scalable
network applications. Node.js uses an eventdriven, non-blocking I/O model that makes it
lightweight and efficient, perfect for dataintensive real-time applications that run across
distributed devices.”

Node.js Web Site, http://www.nodejs.org/

6
Wednesday, June 12, 13
Why Meteor?
• “Meteor is radically faster, radically easier
platform for Internet-scale thick client
applications.”

Avital Oliver, “Meteor Smart Packages”, ETE Conference, 4/2/2013

• Easy to learn
• Pure JavaScript
• Rapid application development
7
Wednesday, June 12, 13
Supported Operating
Systems
• Mac
OS X 10.6

• Linux
x86 and x86_64 systems

• Windows
third party
8
Wednesday, June 12, 13
The Seven Principles
•
•
•
•
•
•

•

Data on the Wire
One Langauge
Database Everywhere
Latency Compensation
Full-Stack Reactivity
Embrace the Ecosystem

9
Wednesday, June 12, 13

Simplicity = Productivity
(#1) Data on the Wire
• Don’t send HTML over the network
• Let client decide how to render data
• Browser renders the templates as data
changes

10
Wednesday, June 12, 13
(#2) One Language
• Everything is JavaScript
• Built-in JavaScript packages include:
CoffeeScript
jQuery
Bootstrap
Backbone
11
Wednesday, June 12, 13
(#3) Database
Everywhere
• MongoDB works on both the client and the
server

• The client-side database API looks just like
MongoDB server-side API

• Database operations are cached in memory
on the client-side to yield...

12
Wednesday, June 12, 13
(#4) Latency
Compensation
• Designed to create a zero-latency
connection to the database

• Database on client-side is updated first
• Database on server-side is updated later
13
Wednesday, June 12, 13
(#5) Full-Stack
Reactivity
• Embraces the concept of reactive
programming

• Everything is real-time
• Templates automatically re-render
themselves as data changes

14
Wednesday, June 12, 13
(#6) Embrace the
Ecosystem
• Meteor is open-source
• Integrates existing open-source tools and
frameworks

15
Wednesday, June 12, 13
(#7) Simplicity =
Productivity
• For something to seem simple, it must
actually be simple

• API are plain and simple

16
Wednesday, June 12, 13
Getting Started
• Download Meteor
• Create your first Meteor app
• Explore the built-in examples
17
Wednesday, June 12, 13
Download Meteor
• Unix/Linux
$

curl https://install.meteor.com | sh

• Windows
win.meteor.com

18
Wednesday, June 12, 13
Create Your First
Meteor App
$ meteor create myapp
$ cd myapp
myapp $ meteor

19
Wednesday, June 12, 13
Live Demo!

20
Wednesday, June 12, 13
Explore the Built-in
Examples
• Four (4) built-in examples
• Leaderboard (simplest)
$

meteor create --example leaderboard

21
Wednesday, June 12, 13
Live Demo!

22
Wednesday, June 12, 13
Structuring Your
Meteor Application
• Special folders
/server
/client
/public
/lib
/collections

23
Wednesday, June 12, 13
Smart Packages (1)
• JavaScript programs
• Extend your Meteor environment
• Injects code into client-side or server-side
of your application

24
Wednesday, June 12, 13
Smart Packages (2)
• Core smart packages:
spark
reload
livedata
mongo-livedata
minimongo

25
Wednesday, June 12, 13
Smart Packages (3)
• List all available packages
$

meteor list

• Adding a package
$

meteor add <package-name>

• Removing a package
$

meteor remove <package-name>

26
Wednesday, June 12, 13
Deploying Your Meteor
Application
• Full application server
• Deploy on Meteor’s infrastructure
$

meteor deploy myapp.meteor.com

27
Wednesday, June 12, 13
Meteorite
• A wrapper utility for Meteor
Developed by Tom Coleman

• Supports third-party applications
• Does everything Meteor does plus...
28
Wednesday, June 12, 13
Meteor Resources (1)

29
Wednesday, June 12, 13
Meteor Resources (2)
• meteor.com
• github.com/meteor/meteor
• themeteorbook.com
• eventedmind.com
• atmosphere.meteor.com
30
Wednesday, June 12, 13
Steve
1:40:29

Tom
Frank
1:35:37 1:35:20

31
Wednesday, June 12, 13

Mike
2:01:33
Thanks!
mike@redlich.net
@mpredli
javasig.org

32
Wednesday, June 12, 13

More Related Content

Similar to Getting Started with Meteor

Apereo OAE - Architectural overview
Apereo OAE - Architectural overviewApereo OAE - Architectural overview
Apereo OAE - Architectural overviewNicolaas Matthijs
 
Cloud stack design camp on jun 15
Cloud stack design camp on jun 15Cloud stack design camp on jun 15
Cloud stack design camp on jun 15Isaac Chiang
 
NCA GTUG 2012 - Cloud is such stuff as dreams are made on
NCA GTUG 2012 - Cloud is such stuff as dreams are made onNCA GTUG 2012 - Cloud is such stuff as dreams are made on
NCA GTUG 2012 - Cloud is such stuff as dreams are made onPatrick Chanezon
 
David Glasser in Chicago - Meteor: Past, Present, & Future
David Glasser in Chicago - Meteor: Past, Present, & Future David Glasser in Chicago - Meteor: Past, Present, & Future
David Glasser in Chicago - Meteor: Past, Present, & Future yaliceme
 
TallyJS #1 - Intro to AngularJS
TallyJS #1 - Intro to AngularJSTallyJS #1 - Intro to AngularJS
TallyJS #1 - Intro to AngularJSAndrew Hart
 
Workshop About Software Engineering Skills 2019
Workshop About Software Engineering Skills 2019Workshop About Software Engineering Skills 2019
Workshop About Software Engineering Skills 2019PhuocNT (Fresher.VN)
 
CloudLab Overview
CloudLab OverviewCloudLab Overview
CloudLab OverviewEd Dodds
 
Red Hat Java Update and Quarkus Introduction
Red Hat Java Update and Quarkus IntroductionRed Hat Java Update and Quarkus Introduction
Red Hat Java Update and Quarkus IntroductionJohn Archer
 
AstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdf
AstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdfAstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdf
AstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdfFarHanWasif1
 
Proud to be polyglot!
Proud to be polyglot!Proud to be polyglot!
Proud to be polyglot!NLJUG
 
Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013
Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013
Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013DuckMa
 
Reaktive Programmierung mit den Reactive Extensions (Rx)
Reaktive Programmierung mit den Reactive Extensions (Rx)Reaktive Programmierung mit den Reactive Extensions (Rx)
Reaktive Programmierung mit den Reactive Extensions (Rx)NETUserGroupBern
 
Desarrollo movil multiplataforma
Desarrollo movil multiplataformaDesarrollo movil multiplataforma
Desarrollo movil multiplataformaLennon Shimokawa
 
NoSQL on the move
NoSQL on the moveNoSQL on the move
NoSQL on the moveCodemotion
 
Intro to PHP Testing
Intro to PHP TestingIntro to PHP Testing
Intro to PHP TestingRan Mizrahi
 
Stacker's the way you connect the world .pptx
Stacker's the way you connect the world .pptxStacker's the way you connect the world .pptx
Stacker's the way you connect the world .pptxBOBY RISHABH KUMAR SHARMA
 
Selecting the Best Javascript Web Framework
Selecting the Best Javascript Web FrameworkSelecting the Best Javascript Web Framework
Selecting the Best Javascript Web FrameworkRajitha Pathiraja
 
Plone FSR
Plone FSRPlone FSR
Plone FSRfulv
 

Similar to Getting Started with Meteor (20)

Apereo OAE - Architectural overview
Apereo OAE - Architectural overviewApereo OAE - Architectural overview
Apereo OAE - Architectural overview
 
NATO IST Symposium 2013
NATO IST Symposium 2013NATO IST Symposium 2013
NATO IST Symposium 2013
 
SignalR
SignalRSignalR
SignalR
 
Cloud stack design camp on jun 15
Cloud stack design camp on jun 15Cloud stack design camp on jun 15
Cloud stack design camp on jun 15
 
NCA GTUG 2012 - Cloud is such stuff as dreams are made on
NCA GTUG 2012 - Cloud is such stuff as dreams are made onNCA GTUG 2012 - Cloud is such stuff as dreams are made on
NCA GTUG 2012 - Cloud is such stuff as dreams are made on
 
David Glasser in Chicago - Meteor: Past, Present, & Future
David Glasser in Chicago - Meteor: Past, Present, & Future David Glasser in Chicago - Meteor: Past, Present, & Future
David Glasser in Chicago - Meteor: Past, Present, & Future
 
TallyJS #1 - Intro to AngularJS
TallyJS #1 - Intro to AngularJSTallyJS #1 - Intro to AngularJS
TallyJS #1 - Intro to AngularJS
 
Workshop About Software Engineering Skills 2019
Workshop About Software Engineering Skills 2019Workshop About Software Engineering Skills 2019
Workshop About Software Engineering Skills 2019
 
CloudLab Overview
CloudLab OverviewCloudLab Overview
CloudLab Overview
 
Red Hat Java Update and Quarkus Introduction
Red Hat Java Update and Quarkus IntroductionRed Hat Java Update and Quarkus Introduction
Red Hat Java Update and Quarkus Introduction
 
AstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdf
AstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdfAstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdf
AstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdf
 
Proud to be polyglot!
Proud to be polyglot!Proud to be polyglot!
Proud to be polyglot!
 
Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013
Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013
Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013
 
Reaktive Programmierung mit den Reactive Extensions (Rx)
Reaktive Programmierung mit den Reactive Extensions (Rx)Reaktive Programmierung mit den Reactive Extensions (Rx)
Reaktive Programmierung mit den Reactive Extensions (Rx)
 
Desarrollo movil multiplataforma
Desarrollo movil multiplataformaDesarrollo movil multiplataforma
Desarrollo movil multiplataforma
 
NoSQL on the move
NoSQL on the moveNoSQL on the move
NoSQL on the move
 
Intro to PHP Testing
Intro to PHP TestingIntro to PHP Testing
Intro to PHP Testing
 
Stacker's the way you connect the world .pptx
Stacker's the way you connect the world .pptxStacker's the way you connect the world .pptx
Stacker's the way you connect the world .pptx
 
Selecting the Best Javascript Web Framework
Selecting the Best Javascript Web FrameworkSelecting the Best Javascript Web Framework
Selecting the Best Javascript Web Framework
 
Plone FSR
Plone FSRPlone FSR
Plone FSR
 

More from Michael Redlich

Getting Started with GitHub
Getting Started with GitHubGetting Started with GitHub
Getting Started with GitHubMichael Redlich
 
Building Microservices with Micronaut: A Full-Stack JVM-Based Framework
Building Microservices with Micronaut:  A Full-Stack JVM-Based FrameworkBuilding Microservices with Micronaut:  A Full-Stack JVM-Based Framework
Building Microservices with Micronaut: A Full-Stack JVM-Based FrameworkMichael Redlich
 
Building Microservices with Helidon: Oracle's New Java Microservices Framework
Building Microservices with Helidon:  Oracle's New Java Microservices FrameworkBuilding Microservices with Helidon:  Oracle's New Java Microservices Framework
Building Microservices with Helidon: Oracle's New Java Microservices FrameworkMichael Redlich
 
Introduction to Object Oriented Programming & Design Principles
Introduction to Object Oriented Programming & Design PrinciplesIntroduction to Object Oriented Programming & Design Principles
Introduction to Object Oriented Programming & Design PrinciplesMichael Redlich
 
Getting Started with C++
Getting Started with C++Getting Started with C++
Getting Started with C++Michael Redlich
 
Introduction to Object Oriented Programming &amp; Design Principles
Introduction to Object Oriented Programming &amp; Design PrinciplesIntroduction to Object Oriented Programming &amp; Design Principles
Introduction to Object Oriented Programming &amp; Design PrinciplesMichael Redlich
 
Getting Started with Java
Getting Started with JavaGetting Started with Java
Getting Started with JavaMichael Redlich
 
Getting started with C++
Getting started with C++Getting started with C++
Getting started with C++Michael Redlich
 
Building Realtime Access to Data Apps with jOOQ
Building Realtime Access to Data Apps with jOOQBuilding Realtime Access to Data Apps with jOOQ
Building Realtime Access to Data Apps with jOOQMichael Redlich
 
Building Realtime Access Data Apps with Speedment (TCF ITPC 2017)
Building Realtime Access Data Apps with Speedment (TCF ITPC 2017)Building Realtime Access Data Apps with Speedment (TCF ITPC 2017)
Building Realtime Access Data Apps with Speedment (TCF ITPC 2017)Michael Redlich
 
Building Realtime Web Apps with Angular and Meteor
Building Realtime Web Apps with Angular and MeteorBuilding Realtime Web Apps with Angular and Meteor
Building Realtime Web Apps with Angular and MeteorMichael Redlich
 
Java Advanced Features (TCF 2014)
Java Advanced Features (TCF 2014)Java Advanced Features (TCF 2014)
Java Advanced Features (TCF 2014)Michael Redlich
 
Introduction to Object-Oriented Programming & Design Principles (TCF 2014)
Introduction to Object-Oriented Programming & Design Principles (TCF 2014)Introduction to Object-Oriented Programming & Design Principles (TCF 2014)
Introduction to Object-Oriented Programming & Design Principles (TCF 2014)Michael Redlich
 
Getting Started with Java (TCF 2014)
Getting Started with Java (TCF 2014)Getting Started with Java (TCF 2014)
Getting Started with Java (TCF 2014)Michael Redlich
 
Getting Started with C++ (TCF 2014)
Getting Started with C++ (TCF 2014)Getting Started with C++ (TCF 2014)
Getting Started with C++ (TCF 2014)Michael Redlich
 
C++ Advanced Features (TCF 2014)
C++ Advanced Features (TCF 2014)C++ Advanced Features (TCF 2014)
C++ Advanced Features (TCF 2014)Michael Redlich
 
Getting Started with MongoDB (TCF ITPC 2014)
Getting Started with MongoDB (TCF ITPC 2014)Getting Started with MongoDB (TCF ITPC 2014)
Getting Started with MongoDB (TCF ITPC 2014)Michael Redlich
 

More from Michael Redlich (20)

Getting Started with GitHub
Getting Started with GitHubGetting Started with GitHub
Getting Started with GitHub
 
Building Microservices with Micronaut: A Full-Stack JVM-Based Framework
Building Microservices with Micronaut:  A Full-Stack JVM-Based FrameworkBuilding Microservices with Micronaut:  A Full-Stack JVM-Based Framework
Building Microservices with Micronaut: A Full-Stack JVM-Based Framework
 
Building Microservices with Helidon: Oracle's New Java Microservices Framework
Building Microservices with Helidon:  Oracle's New Java Microservices FrameworkBuilding Microservices with Helidon:  Oracle's New Java Microservices Framework
Building Microservices with Helidon: Oracle's New Java Microservices Framework
 
Introduction to Object Oriented Programming & Design Principles
Introduction to Object Oriented Programming & Design PrinciplesIntroduction to Object Oriented Programming & Design Principles
Introduction to Object Oriented Programming & Design Principles
 
Getting Started with C++
Getting Started with C++Getting Started with C++
Getting Started with C++
 
C++ Advanced Features
C++ Advanced FeaturesC++ Advanced Features
C++ Advanced Features
 
Java Advanced Features
Java Advanced FeaturesJava Advanced Features
Java Advanced Features
 
Introduction to Object Oriented Programming &amp; Design Principles
Introduction to Object Oriented Programming &amp; Design PrinciplesIntroduction to Object Oriented Programming &amp; Design Principles
Introduction to Object Oriented Programming &amp; Design Principles
 
Getting Started with Java
Getting Started with JavaGetting Started with Java
Getting Started with Java
 
Getting started with C++
Getting started with C++Getting started with C++
Getting started with C++
 
C++ Advanced Features
C++ Advanced FeaturesC++ Advanced Features
C++ Advanced Features
 
Building Realtime Access to Data Apps with jOOQ
Building Realtime Access to Data Apps with jOOQBuilding Realtime Access to Data Apps with jOOQ
Building Realtime Access to Data Apps with jOOQ
 
Building Realtime Access Data Apps with Speedment (TCF ITPC 2017)
Building Realtime Access Data Apps with Speedment (TCF ITPC 2017)Building Realtime Access Data Apps with Speedment (TCF ITPC 2017)
Building Realtime Access Data Apps with Speedment (TCF ITPC 2017)
 
Building Realtime Web Apps with Angular and Meteor
Building Realtime Web Apps with Angular and MeteorBuilding Realtime Web Apps with Angular and Meteor
Building Realtime Web Apps with Angular and Meteor
 
Java Advanced Features (TCF 2014)
Java Advanced Features (TCF 2014)Java Advanced Features (TCF 2014)
Java Advanced Features (TCF 2014)
 
Introduction to Object-Oriented Programming & Design Principles (TCF 2014)
Introduction to Object-Oriented Programming & Design Principles (TCF 2014)Introduction to Object-Oriented Programming & Design Principles (TCF 2014)
Introduction to Object-Oriented Programming & Design Principles (TCF 2014)
 
Getting Started with Java (TCF 2014)
Getting Started with Java (TCF 2014)Getting Started with Java (TCF 2014)
Getting Started with Java (TCF 2014)
 
Getting Started with C++ (TCF 2014)
Getting Started with C++ (TCF 2014)Getting Started with C++ (TCF 2014)
Getting Started with C++ (TCF 2014)
 
C++ Advanced Features (TCF 2014)
C++ Advanced Features (TCF 2014)C++ Advanced Features (TCF 2014)
C++ Advanced Features (TCF 2014)
 
Getting Started with MongoDB (TCF ITPC 2014)
Getting Started with MongoDB (TCF ITPC 2014)Getting Started with MongoDB (TCF ITPC 2014)
Getting Started with MongoDB (TCF ITPC 2014)
 

Recently uploaded

Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 

Recently uploaded (20)

Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 

Getting Started with Meteor

  • 1. Getting Started with Meteor Capital District Java Developers Network May 23, 2013 Michael P. Redlich @mpredli about.me/mpredli/ 1 Wednesday, June 12, 13
  • 2. Who’s Mike? • BS in CS from Rutgers University • “Petrochemical Research Organization” • Ai-Logix, Inc. • Amateur Computer Group of New Jersey • Publications • Presentations 2 Wednesday, June 12, 13
  • 3. Objectives • What is Meteor? • Why Meteor? • The Seven Principles • Getting Started with Meteor • Live Demos (yea!) • Meteor Resources 3 Wednesday, June 12, 13
  • 4. What is Meteor? (1) • “...an open-source platform for building topquality web apps in a fraction of the time, whether you’re an expert developer or just getting started.” Meteor Web Site, http://www.meteor.com/ • A full-stack framework using JavaScript • Compiles, combines, and distributes your HTML, CSS, and JavaScript 4 Wednesday, June 12, 13
  • 5. What is Meteor? (2) • Built on top of Node.js • Shares code between the client-side and server-side of your application 5 Wednesday, June 12, 13
  • 6. What is Node.js? • “...a platform built on Chrome’s JavaScript runtime for easily building fast, scalable network applications. Node.js uses an eventdriven, non-blocking I/O model that makes it lightweight and efficient, perfect for dataintensive real-time applications that run across distributed devices.” Node.js Web Site, http://www.nodejs.org/ 6 Wednesday, June 12, 13
  • 7. Why Meteor? • “Meteor is radically faster, radically easier platform for Internet-scale thick client applications.” Avital Oliver, “Meteor Smart Packages”, ETE Conference, 4/2/2013 • Easy to learn • Pure JavaScript • Rapid application development 7 Wednesday, June 12, 13
  • 8. Supported Operating Systems • Mac OS X 10.6 • Linux x86 and x86_64 systems • Windows third party 8 Wednesday, June 12, 13
  • 9. The Seven Principles • • • • • • • Data on the Wire One Langauge Database Everywhere Latency Compensation Full-Stack Reactivity Embrace the Ecosystem 9 Wednesday, June 12, 13 Simplicity = Productivity
  • 10. (#1) Data on the Wire • Don’t send HTML over the network • Let client decide how to render data • Browser renders the templates as data changes 10 Wednesday, June 12, 13
  • 11. (#2) One Language • Everything is JavaScript • Built-in JavaScript packages include: CoffeeScript jQuery Bootstrap Backbone 11 Wednesday, June 12, 13
  • 12. (#3) Database Everywhere • MongoDB works on both the client and the server • The client-side database API looks just like MongoDB server-side API • Database operations are cached in memory on the client-side to yield... 12 Wednesday, June 12, 13
  • 13. (#4) Latency Compensation • Designed to create a zero-latency connection to the database • Database on client-side is updated first • Database on server-side is updated later 13 Wednesday, June 12, 13
  • 14. (#5) Full-Stack Reactivity • Embraces the concept of reactive programming • Everything is real-time • Templates automatically re-render themselves as data changes 14 Wednesday, June 12, 13
  • 15. (#6) Embrace the Ecosystem • Meteor is open-source • Integrates existing open-source tools and frameworks 15 Wednesday, June 12, 13
  • 16. (#7) Simplicity = Productivity • For something to seem simple, it must actually be simple • API are plain and simple 16 Wednesday, June 12, 13
  • 17. Getting Started • Download Meteor • Create your first Meteor app • Explore the built-in examples 17 Wednesday, June 12, 13
  • 18. Download Meteor • Unix/Linux $ curl https://install.meteor.com | sh • Windows win.meteor.com 18 Wednesday, June 12, 13
  • 19. Create Your First Meteor App $ meteor create myapp $ cd myapp myapp $ meteor 19 Wednesday, June 12, 13
  • 21. Explore the Built-in Examples • Four (4) built-in examples • Leaderboard (simplest) $ meteor create --example leaderboard 21 Wednesday, June 12, 13
  • 23. Structuring Your Meteor Application • Special folders /server /client /public /lib /collections 23 Wednesday, June 12, 13
  • 24. Smart Packages (1) • JavaScript programs • Extend your Meteor environment • Injects code into client-side or server-side of your application 24 Wednesday, June 12, 13
  • 25. Smart Packages (2) • Core smart packages: spark reload livedata mongo-livedata minimongo 25 Wednesday, June 12, 13
  • 26. Smart Packages (3) • List all available packages $ meteor list • Adding a package $ meteor add <package-name> • Removing a package $ meteor remove <package-name> 26 Wednesday, June 12, 13
  • 27. Deploying Your Meteor Application • Full application server • Deploy on Meteor’s infrastructure $ meteor deploy myapp.meteor.com 27 Wednesday, June 12, 13
  • 28. Meteorite • A wrapper utility for Meteor Developed by Tom Coleman • Supports third-party applications • Does everything Meteor does plus... 28 Wednesday, June 12, 13
  • 30. Meteor Resources (2) • meteor.com • github.com/meteor/meteor • themeteorbook.com • eventedmind.com • atmosphere.meteor.com 30 Wednesday, June 12, 13