SlideShare a Scribd company logo
1
Getting Started with
Meteor
TCF IT Professional Conference
March 14, 2014
Michael P. Redlich
@mpredli
about.me/mpredli/
Sunday, March 16, 14
Who’s Mike?
• BS in CS from
• “Petrochemical Research Organization”
• Ai-Logix, Inc. (now AudioCodes)
• Amateur Computer Group of New Jersey
• Publications
• Presentations
2
Sunday, March 16, 14
Objectives
• What is Meteor?
• Why Meteor?
• The Seven Principles
• Getting Started with Meteor
• Live Demos (yea!)
• Meteor Resources
3
Sunday, March 16, 14
What is Meteor? (1)
• “...an open-source platform for building top-
quality 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
Sunday, March 16, 14
What is Meteor? (2)
• Built on top of
• Shares code between the client-side and
server-side of your application
5
Sunday, March 16, 14
What is Node.js?
• “...a platform built on Chrome’s JavaScript
runtime for easily building fast, scalable
network applications. Node.js uses an event-
driven, non-blocking I/O model that makes it
lightweight and efficient, perfect for data-
intensive real-time applications that run across
distributed devices.”
Node.js Web Site, http://www.nodejs.org/
6
Sunday, March 16, 14
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
• Rapid application development
• Powerful data synchronization
7
Sunday, March 16, 14
The Seven Principles
• Data on the Wire
• One Langauge
• Database Everywhere
• Latency Compensation
• Full-Stack Reactivity
• Embrace the Ecosystem
• Simplicity = Productivity
8
Sunday, March 16, 14
(#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
9
Sunday, March 16, 14
(#2) One Language
• Everything is JavaScript
• Built-in JavaScript packages include:
• CoffeeScript
• jQuery
• Bootstrap
• Backbone
10
Sunday, March 16, 14
(#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...
11
Sunday, March 16, 14
(#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
12
Sunday, March 16, 14
(#5) Full-Stack
Reactivity
• Embraces the concept of reactive
programming
• Everything is real-time
• Templates automatically re-render
themselves as data changes
13
Sunday, March 16, 14
(#6) Embrace the
Ecosystem
• Meteor is open-source
• Integrates existing open-source tools and
frameworks
14
Sunday, March 16, 14
(#7) Simplicity =
Productivity
• For something to seem simple, it must
actually be simple
• API are plain and simple
15
Sunday, March 16, 14
Conventions Used in
This Presentation
• Command Prompt ($)
• Keywords (meteor, create, etc.)
• Variables (variable)
16
Sunday, March 16, 14
Getting Started
• Download Meteor
• Create your first Meteor app
• Explore the built-in examples
17
Sunday, March 16, 14
18
Download Meteor
• Unix/Linux
$ curl https://install.meteor.com |
sh
• Windows (unofficial support)
• win.meteor.com
• developed by Tom Wijsman
• now facilitated by Stephen Darnell
Sunday, March 16, 14
CreateYour First
Meteor App
$ meteor create myapp
$ cd myapp
myapp $ meteor
19
Sunday, March 16, 14
Live Demo!
20
Sunday, March 16, 14
Explore the Built-in
Examples
• Four (4) built-in examples
• Leaderboard (simplest)
$ meteor create --example
leaderboard
21
Sunday, March 16, 14
Live Demo!
22
Sunday, March 16, 14
StructuringYour
Meteor Application
23
• Special folders:
• /server
• /client
• /public
• /lib
• /collections
Sunday, March 16, 14
Smart Packages (1)
• JavaScript programs
• Extend your Meteor environment
• Injects code into client-side or server-side
of your application
24
Sunday, March 16, 14
Smart Packages (2)
• Core smart packages:
• spark
• reload
• livedata
• mongo-livedata
• minimongo
25
Sunday, March 16, 14
Smart Packages (3)
• List all available packages
$ meteor list
• Adding a package
$ meteor add packageName
• Removing a package
$ meteor remove packageName
26
Sunday, March 16, 14
DeployingYour Meteor
Application
• Full application server
• Deploy on Meteor’s infrastructure
$ meteor deploy myapp.meteor.com
27
Sunday, March 16, 14
Meteorite
• A wrapper utility for Meteor
• developed by Tom Coleman
• Supports third-party applications
• Does everything Meteor does plus...
28
Sunday, March 16, 14
Meteor Resources (1)
29
Sunday, March 16, 14
30
Meteor Resources (2)
•meteor.com
•github.com/meteor/meteor
•themeteorbook.com
•eventedmind.com
•atmosphere.meteor.com
•fastcolabs.com/3007015/how-use-
mysql-meteor
Sunday, March 16, 14
Upcoming Events (1)
• Trenton Computer Festival
• March 14-15, 2014
• tcf-nj.org
• Emerging Technologies for the Enterprise
• April 22-23, 2014
• phillyemergingtech.com
31
Sunday, March 16, 14
32
Upcoming Events (2)
Sunday, March 16, 14
33
Thanks!
mike@redlich.net
@mpredli
javasig.org
Sunday, March 16, 14
Ad

More Related Content

Viewers also liked (20)

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
Michael 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
 
POWER POINT PRESENTATION
POWER POINT PRESENTATIONPOWER POINT PRESENTATION
POWER POINT PRESENTATION
Sumesh SV
 
Data Structures by Yaman Singhania
Data Structures by Yaman SinghaniaData Structures by Yaman Singhania
Data Structures by Yaman Singhania
Yaman Singhania
 
Getting Started with MongoDB
Getting Started with MongoDBGetting Started with MongoDB
Getting Started with MongoDB
Michael Redlich
 
The Sleeping Beauty
The Sleeping BeautyThe Sleeping Beauty
The Sleeping Beauty
Inés Tarradellas
 
Art exibition
Art exibitionArt exibition
Art exibition
maleemoha
 
Kerajaankalingga
KerajaankalinggaKerajaankalingga
Kerajaankalingga
Pak Yayak
 
Clarke slideshare
Clarke slideshareClarke slideshare
Clarke slideshare
mleigh7
 
POWR POINT PRESENTATION
POWR POINT PRESENTATIONPOWR POINT PRESENTATION
POWR POINT PRESENTATION
Sumesh SV
 
Madhusha B Ed
Madhusha B Ed Madhusha B Ed
Madhusha B Ed
Sumesh SV
 
Power point Presentation
Power point PresentationPower point Presentation
Power point Presentation
Sumesh SV
 
Paginas libres
Paginas libresPaginas libres
Paginas libres
INGRID
 
Mata
MataMata
Mata
norliza khairuddin
 
Powerpoint Presentation
Powerpoint PresentationPowerpoint Presentation
Powerpoint Presentation
Sumesh SV
 
Menupra1
Menupra1Menupra1
Menupra1
norliza khairuddin
 
Lm catering services
Lm catering servicesLm catering services
Lm catering services
PaulaMaeRamos
 
huruf prasekolah
huruf prasekolahhuruf prasekolah
huruf prasekolah
norliza khairuddin
 
Classification of Elements Powerpoint Presentation by Computer Careers
Classification of Elements Powerpoint Presentation by Computer CareersClassification of Elements Powerpoint Presentation by Computer Careers
Classification of Elements Powerpoint Presentation by Computer Careers
Yaman Singhania
 
University Assignment Literacy Assessment
University Assignment Literacy AssessmentUniversity Assignment Literacy Assessment
University Assignment Literacy Assessment
mforrester
 
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
Michael 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
 
POWER POINT PRESENTATION
POWER POINT PRESENTATIONPOWER POINT PRESENTATION
POWER POINT PRESENTATION
Sumesh SV
 
Data Structures by Yaman Singhania
Data Structures by Yaman SinghaniaData Structures by Yaman Singhania
Data Structures by Yaman Singhania
Yaman Singhania
 
Getting Started with MongoDB
Getting Started with MongoDBGetting Started with MongoDB
Getting Started with MongoDB
Michael Redlich
 
Art exibition
Art exibitionArt exibition
Art exibition
maleemoha
 
Kerajaankalingga
KerajaankalinggaKerajaankalingga
Kerajaankalingga
Pak Yayak
 
Clarke slideshare
Clarke slideshareClarke slideshare
Clarke slideshare
mleigh7
 
POWR POINT PRESENTATION
POWR POINT PRESENTATIONPOWR POINT PRESENTATION
POWR POINT PRESENTATION
Sumesh SV
 
Madhusha B Ed
Madhusha B Ed Madhusha B Ed
Madhusha B Ed
Sumesh SV
 
Power point Presentation
Power point PresentationPower point Presentation
Power point Presentation
Sumesh SV
 
Paginas libres
Paginas libresPaginas libres
Paginas libres
INGRID
 
Powerpoint Presentation
Powerpoint PresentationPowerpoint Presentation
Powerpoint Presentation
Sumesh SV
 
Lm catering services
Lm catering servicesLm catering services
Lm catering services
PaulaMaeRamos
 
Classification of Elements Powerpoint Presentation by Computer Careers
Classification of Elements Powerpoint Presentation by Computer CareersClassification of Elements Powerpoint Presentation by Computer Careers
Classification of Elements Powerpoint Presentation by Computer Careers
Yaman Singhania
 
University Assignment Literacy Assessment
University Assignment Literacy AssessmentUniversity Assignment Literacy Assessment
University Assignment Literacy Assessment
mforrester
 

Similar to Getting Started with Meteor (TCF ITPC 2014) (20)

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
 
Mozilla Research Party Talk
Mozilla Research Party TalkMozilla Research Party Talk
Mozilla Research Party Talk
Brendan Eich
 
SignalR
SignalRSignalR
SignalR
Troy Miles
 
Open source softrware, group 5 final
Open source softrware, group 5 finalOpen source softrware, group 5 final
Open source softrware, group 5 final
bigrouge
 
Meteor day Oslo
Meteor day OsloMeteor day Oslo
Meteor day Oslo
Pavel Kurnosov
 
Groovy & Grails eXchange 2012 - Building an e-commerce business with gr8 tec...
Groovy & Grails eXchange 2012 - Building an  e-commerce business with gr8 tec...Groovy & Grails eXchange 2012 - Building an  e-commerce business with gr8 tec...
Groovy & Grails eXchange 2012 - Building an e-commerce business with gr8 tec...
Domingo Suarez Torres
 
Openstack components as containerized microservices
Openstack components as containerized microservicesOpenstack components as containerized microservices
Openstack components as containerized microservices
Miguel Zuniga
 
MeteorDay Copenhagen
MeteorDay CopenhagenMeteorDay Copenhagen
MeteorDay Copenhagen
Lars Buur
 
Asi Lifshitz, VP R&D, Vtool
Asi Lifshitz, VP R&D, VtoolAsi Lifshitz, VP R&D, Vtool
Asi Lifshitz, VP R&D, Vtool
chiportal
 
Lec 01 Introduction.pptx
Lec  01 Introduction.pptxLec  01 Introduction.pptx
Lec 01 Introduction.pptx
AhmadMahmood62
 
The world is not black and white – Impact of decisions over the lifetime of a...
The world is not black and white – Impact of decisions over the lifetime of a...The world is not black and white – Impact of decisions over the lifetime of a...
The world is not black and white – Impact of decisions over the lifetime of a...
Eric Reiche
 
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
 
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
 
Performance Benchmarking: Tips, Tricks, and Lessons Learned
Performance Benchmarking: Tips, Tricks, and Lessons LearnedPerformance Benchmarking: Tips, Tricks, and Lessons Learned
Performance Benchmarking: Tips, Tricks, and Lessons Learned
Tim Callaghan
 
MEAN Stack WeNode Barcelona Workshop
MEAN Stack WeNode Barcelona WorkshopMEAN Stack WeNode Barcelona Workshop
MEAN Stack WeNode Barcelona Workshop
Valeri Karpov
 
Using PySpark to Process Boat Loads of Data
Using PySpark to Process Boat Loads of DataUsing PySpark to Process Boat Loads of Data
Using PySpark to Process Boat Loads of Data
Robert Dempsey
 
Immutable infrastructure with Boxfuse
Immutable infrastructure with BoxfuseImmutable infrastructure with Boxfuse
Immutable infrastructure with Boxfuse
Lars Östling
 
Through Meteor to the stars - Developing full-stack SPA's with meteor.js
Through Meteor to the stars - Developing full-stack SPA's with meteor.jsThrough Meteor to the stars - Developing full-stack SPA's with meteor.js
Through Meteor to the stars - Developing full-stack SPA's with meteor.js
Wekoslav Stefanovski
 
Sencha Touch in Action
Sencha Touch in Action Sencha Touch in Action
Sencha Touch in Action
Patrick Sheridan
 
Introduction to node.js by Ran Mizrahi @ Reversim Summit
Introduction to node.js by Ran Mizrahi @ Reversim SummitIntroduction to node.js by Ran Mizrahi @ Reversim Summit
Introduction to node.js by Ran Mizrahi @ Reversim Summit
Ran Mizrahi
 
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
 
Mozilla Research Party Talk
Mozilla Research Party TalkMozilla Research Party Talk
Mozilla Research Party Talk
Brendan Eich
 
Open source softrware, group 5 final
Open source softrware, group 5 finalOpen source softrware, group 5 final
Open source softrware, group 5 final
bigrouge
 
Groovy & Grails eXchange 2012 - Building an e-commerce business with gr8 tec...
Groovy & Grails eXchange 2012 - Building an  e-commerce business with gr8 tec...Groovy & Grails eXchange 2012 - Building an  e-commerce business with gr8 tec...
Groovy & Grails eXchange 2012 - Building an e-commerce business with gr8 tec...
Domingo Suarez Torres
 
Openstack components as containerized microservices
Openstack components as containerized microservicesOpenstack components as containerized microservices
Openstack components as containerized microservices
Miguel Zuniga
 
MeteorDay Copenhagen
MeteorDay CopenhagenMeteorDay Copenhagen
MeteorDay Copenhagen
Lars Buur
 
Asi Lifshitz, VP R&D, Vtool
Asi Lifshitz, VP R&D, VtoolAsi Lifshitz, VP R&D, Vtool
Asi Lifshitz, VP R&D, Vtool
chiportal
 
Lec 01 Introduction.pptx
Lec  01 Introduction.pptxLec  01 Introduction.pptx
Lec 01 Introduction.pptx
AhmadMahmood62
 
The world is not black and white – Impact of decisions over the lifetime of a...
The world is not black and white – Impact of decisions over the lifetime of a...The world is not black and white – Impact of decisions over the lifetime of a...
The world is not black and white – Impact of decisions over the lifetime of a...
Eric Reiche
 
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
 
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
 
Performance Benchmarking: Tips, Tricks, and Lessons Learned
Performance Benchmarking: Tips, Tricks, and Lessons LearnedPerformance Benchmarking: Tips, Tricks, and Lessons Learned
Performance Benchmarking: Tips, Tricks, and Lessons Learned
Tim Callaghan
 
MEAN Stack WeNode Barcelona Workshop
MEAN Stack WeNode Barcelona WorkshopMEAN Stack WeNode Barcelona Workshop
MEAN Stack WeNode Barcelona Workshop
Valeri Karpov
 
Using PySpark to Process Boat Loads of Data
Using PySpark to Process Boat Loads of DataUsing PySpark to Process Boat Loads of Data
Using PySpark to Process Boat Loads of Data
Robert Dempsey
 
Immutable infrastructure with Boxfuse
Immutable infrastructure with BoxfuseImmutable infrastructure with Boxfuse
Immutable infrastructure with Boxfuse
Lars Östling
 
Through Meteor to the stars - Developing full-stack SPA's with meteor.js
Through Meteor to the stars - Developing full-stack SPA's with meteor.jsThrough Meteor to the stars - Developing full-stack SPA's with meteor.js
Through Meteor to the stars - Developing full-stack SPA's with meteor.js
Wekoslav Stefanovski
 
Introduction to node.js by Ran Mizrahi @ Reversim Summit
Introduction to node.js by Ran Mizrahi @ Reversim SummitIntroduction to node.js by Ran Mizrahi @ Reversim Summit
Introduction to node.js by Ran Mizrahi @ Reversim Summit
Ran Mizrahi
 
Ad

More from Michael Redlich (17)

Getting Started with GitHub
Getting Started with GitHubGetting Started with GitHub
Getting Started with GitHub
Michael 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 Framework
Michael 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 Framework
Michael 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 Principles
Michael Redlich
 
Getting Started with C++
Getting Started with C++Getting Started with C++
Getting Started with C++
Michael Redlich
 
C++ Advanced Features
C++ Advanced FeaturesC++ Advanced Features
C++ Advanced Features
Michael Redlich
 
Java Advanced Features
Java Advanced FeaturesJava Advanced Features
Java Advanced Features
Michael 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 Principles
Michael Redlich
 
Getting Started with Java
Getting Started with JavaGetting Started with Java
Getting Started with Java
Michael Redlich
 
Getting started with C++
Getting started with C++Getting started with C++
Getting started with C++
Michael Redlich
 
C++ Advanced Features
C++ Advanced FeaturesC++ Advanced Features
C++ Advanced Features
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 jOOQ
Michael 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 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
 
Getting Started with GitHub
Getting Started with GitHubGetting Started with GitHub
Getting Started with GitHub
Michael 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 Framework
Michael 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 Framework
Michael 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 Principles
Michael Redlich
 
Getting Started with C++
Getting Started with C++Getting Started with C++
Getting Started with C++
Michael 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 Principles
Michael Redlich
 
Getting Started with Java
Getting Started with JavaGetting Started with Java
Getting Started with Java
Michael 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 jOOQ
Michael 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 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
 
Ad

Recently uploaded (20)

Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 

Getting Started with Meteor (TCF ITPC 2014)

  • 1. 1 Getting Started with Meteor TCF IT Professional Conference March 14, 2014 Michael P. Redlich @mpredli about.me/mpredli/ Sunday, March 16, 14
  • 2. Who’s Mike? • BS in CS from • “Petrochemical Research Organization” • Ai-Logix, Inc. (now AudioCodes) • Amateur Computer Group of New Jersey • Publications • Presentations 2 Sunday, March 16, 14
  • 3. Objectives • What is Meteor? • Why Meteor? • The Seven Principles • Getting Started with Meteor • Live Demos (yea!) • Meteor Resources 3 Sunday, March 16, 14
  • 4. What is Meteor? (1) • “...an open-source platform for building top- quality 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 Sunday, March 16, 14
  • 5. What is Meteor? (2) • Built on top of • Shares code between the client-side and server-side of your application 5 Sunday, March 16, 14
  • 6. What is Node.js? • “...a platform built on Chrome’s JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event- driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data- intensive real-time applications that run across distributed devices.” Node.js Web Site, http://www.nodejs.org/ 6 Sunday, March 16, 14
  • 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 • Rapid application development • Powerful data synchronization 7 Sunday, March 16, 14
  • 8. The Seven Principles • Data on the Wire • One Langauge • Database Everywhere • Latency Compensation • Full-Stack Reactivity • Embrace the Ecosystem • Simplicity = Productivity 8 Sunday, March 16, 14
  • 9. (#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 9 Sunday, March 16, 14
  • 10. (#2) One Language • Everything is JavaScript • Built-in JavaScript packages include: • CoffeeScript • jQuery • Bootstrap • Backbone 10 Sunday, March 16, 14
  • 11. (#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... 11 Sunday, March 16, 14
  • 12. (#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 12 Sunday, March 16, 14
  • 13. (#5) Full-Stack Reactivity • Embraces the concept of reactive programming • Everything is real-time • Templates automatically re-render themselves as data changes 13 Sunday, March 16, 14
  • 14. (#6) Embrace the Ecosystem • Meteor is open-source • Integrates existing open-source tools and frameworks 14 Sunday, March 16, 14
  • 15. (#7) Simplicity = Productivity • For something to seem simple, it must actually be simple • API are plain and simple 15 Sunday, March 16, 14
  • 16. Conventions Used in This Presentation • Command Prompt ($) • Keywords (meteor, create, etc.) • Variables (variable) 16 Sunday, March 16, 14
  • 17. Getting Started • Download Meteor • Create your first Meteor app • Explore the built-in examples 17 Sunday, March 16, 14
  • 18. 18 Download Meteor • Unix/Linux $ curl https://install.meteor.com | sh • Windows (unofficial support) • win.meteor.com • developed by Tom Wijsman • now facilitated by Stephen Darnell Sunday, March 16, 14
  • 19. CreateYour First Meteor App $ meteor create myapp $ cd myapp myapp $ meteor 19 Sunday, March 16, 14
  • 21. Explore the Built-in Examples • Four (4) built-in examples • Leaderboard (simplest) $ meteor create --example leaderboard 21 Sunday, March 16, 14
  • 23. StructuringYour Meteor Application 23 • Special folders: • /server • /client • /public • /lib • /collections Sunday, March 16, 14
  • 24. Smart Packages (1) • JavaScript programs • Extend your Meteor environment • Injects code into client-side or server-side of your application 24 Sunday, March 16, 14
  • 25. Smart Packages (2) • Core smart packages: • spark • reload • livedata • mongo-livedata • minimongo 25 Sunday, March 16, 14
  • 26. Smart Packages (3) • List all available packages $ meteor list • Adding a package $ meteor add packageName • Removing a package $ meteor remove packageName 26 Sunday, March 16, 14
  • 27. DeployingYour Meteor Application • Full application server • Deploy on Meteor’s infrastructure $ meteor deploy myapp.meteor.com 27 Sunday, March 16, 14
  • 28. Meteorite • A wrapper utility for Meteor • developed by Tom Coleman • Supports third-party applications • Does everything Meteor does plus... 28 Sunday, March 16, 14
  • 31. Upcoming Events (1) • Trenton Computer Festival • March 14-15, 2014 • tcf-nj.org • Emerging Technologies for the Enterprise • April 22-23, 2014 • phillyemergingtech.com 31 Sunday, March 16, 14