SlideShare a Scribd company logo
1 of 52
Download to read offline
Only JavaScript, only
Meteor.js
Tomáš Hromník (@elfoslav) www.hromnik.com
Development in PHP
- Context switching
- Server language vs. JavaScript
Development in PHP
- Context switching
- Server language vs. JavaScript
- Different function names in PHP and
JavaScript
Development in PHP
WRONG!!!
Node.js
- JavaScript on the server
Node.js
- JavaScript on the server
- Isomorphic applications
Node.js
- JavaScript on the server
- Isomorphic applications
- JavaScript everywhere
Node.js frameworks
- Sails.js, Geddy.js, Tower.js, Total.js,...
Node.js frameworks
- Sails.js, Geddy.js, Tower.js, Total.js,...
- not much killer features
Node.js frameworks
- Sails.js, Geddy.js, Tower.js, Total.js,...
- not much killer features
- very small community
Node.js frameworks
- Sails.js, Geddy.js, Tower.js, Total.js,...
- not much killer features
- very small community
- lack of learning resources
Node.js frameworks
- Express.js
- very lightweight
Node.js frameworks
- Express.js
- very lightweight
- programmer has to do a lot of work himself
Node.js frameworks
- Meteor.js
- a lot of killer features
Node.js frameworks
- Meteor.js
- a lot of killer features
- easy to learn
Node.js frameworks
- Meteor.js
- a lot of killer features
- easy to learn
- good documentation
Node.js frameworks
- Meteor.js
- a lot of killer features
- easy to learn
- good documentation
- large passionate community
Node.js frameworks
- Meteor.js
- a lot of killer features
- easy to learn
- good documentation
- large passionate community
- a lot of learning resources
What is Meteor?
Full stack JavaScript platform for building real-
time applications.
Built on top of Node.js
Meteor.js (killer) features
- Live reload - forget about F5
Meteor.js (killer) features
- Live reload - forget about F5
- Automatic CSS and JS minification on
production server
Meteor.js (killer) features
- No need to include CSS, JS files manually
<link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css" />
...
<script src="bower_components/jquery/dist/jquery.js"></script>
...
Meteor.js (killer) features
- Real-time by default
Messages = new Mongo.Collection(‘messages’);
Messages.insert({ text: ‘Hello Meteor’, timestamp: Date.now() });
Meteor.js (killer) features
- Built in client-side technologies
- Templates, Helpers, Events, Session
Meteor.js (killer) features
- Built in client-side technologies
Template.hello.helpers({
counter: function() {
return Session.get(‘counter’);
}
});
Meteor.js (killer) features
- Built in client-side technologies
<template name=”hello”>
<button class=”increase-counter”>Click me</button>
<p>You clicked {{counter}} times</p>
</template>
Meteor.js (killer) features
- Built in client-side technologies
Template.hello.events({
‘click .increase-counter’: function(evt, tpl) {
Session.set(‘counter’, Session.get(‘counter’) + 1);
}
});
Meteor.js (killer) features
- MiniMongo
//client-side code
var messagesFromFuture = Messages.find({
timestamp: { $gt: Date.now() }
});
Meteor.js (killer) features
- Latency compensation
- instant feedback for user interaction
Meteor.js (killer) features
- Package manager
$ meteor add accounts-ui accounts-password
Meteor.js (killer) features
- Package manager
$ meteor add accounts-ui accounts-password
<template name=”hello”>
<h1>Sign in / Sign up:</h1>
{{> loginButtons}}
</template>
Meteor.js (killer) features
- Package manager
$ meteor add less
$ meteor add coffeescript
atmospherejs.com
Meteor.js (killer) features
- Package manager
- You can also use NPM
Meteor.js (killer) features
- Built in authentication/registration
- Email, Facebook, Twitter, Google, Github,...
$ meteor add service-configuration
$ meteor add accounts-facebook
Meteor.js (killer) features
- Built in authentication/registration
- Email, Facebook, Twitter, Google, Github,...
ServiceConfiguration.configurations.insert({
service: "facebook",
appId: "yourAppId",
secret: "yourSecret"
});
Meteor.js (killer) features
- Built in authentication/registration
- Email, Facebook, Twitter, Google, Github,...
Meteor.loginWithFacebook();
Meteor.js (killer) features
- Easy deployment
$ meteor deploy appname
http://www.appname.meteor.com
Meteor.js (killer) features
- Easy deployment
- Meteor up package
$ npm install -g mup
$ cd /app-folder
$ mup init
$ mup deploy
Meteor.js (killer) features
- Mobile apps in Meteor (Android, iOS)
$ meteor install-sdk android
$ meteor add-platform android
$ meteor run android
Specialities
Publish/Subscribe
//server
Metor.publish(“userTasks", function () {
return Tasks.find({ userId: this.userId });
});
//client
Meteor.subscribe(“userTasks”);
Specialities
Autopublish, Insecure package
$ meteor remove autopublish
$ meteor remove insecure
Specialities
Directory structure
app/
client/
lib/
public/
server/
...
Meteor.js caveats
- Only MongoDB support at this time.
Meteor.js community
Meteor.js community
https://forums.meteor.com/
My Meteor applications
TodoToday http://todotoday.meteor.com/ (OS)
My Meteor applications
Seenist http://seenist.com/
My Meteor applications
Typefast http://typefast.meteor.com/ (OS)
My Meteor applications
FasterChat https://fasterchat.com (OS)
My Meteor applications
CoderMania http://codermania.com
Learning resources
● Official Meteor web: http://meteor.com
● Meteorhacks: http://meteorhacks.com
● E-book: https://www.discovermeteor.com
● Meteor screencasts: https://www.eventedmind.com
● Video courses on Udemy: https://www.udemy.com
● Meteor packages: https://atmospherejs.com
● My Meteor blog: http://meteor.hromnik.com
● Twitter: @meteorjs, #meteorjs
Only JavaScript, only
Meteor.js
Try to build an application in Meteor
Tomáš Hromník (@elfoslav) www.hromnik.com

More Related Content

What's hot

Single Page Web Applications with CoffeeScript, Backbone and Jasmine
Single Page Web Applications with CoffeeScript, Backbone and JasmineSingle Page Web Applications with CoffeeScript, Backbone and Jasmine
Single Page Web Applications with CoffeeScript, Backbone and Jasmine
Paulo Ragonha
 
"Your script just killed my site" by Steve Souders
"Your script just killed my site" by Steve Souders"Your script just killed my site" by Steve Souders
"Your script just killed my site" by Steve Souders
Dmitry Makarchuk
 

What's hot (20)

Webrender 1.0
Webrender 1.0Webrender 1.0
Webrender 1.0
 
EWD 3 Training Course Part 10: QEWD Sessions and User Authentication
EWD 3 Training Course Part 10: QEWD Sessions and User AuthenticationEWD 3 Training Course Part 10: QEWD Sessions and User Authentication
EWD 3 Training Course Part 10: QEWD Sessions and User Authentication
 
Node.js & Twitter Bootstrap Crash Course
Node.js & Twitter Bootstrap Crash CourseNode.js & Twitter Bootstrap Crash Course
Node.js & Twitter Bootstrap Crash Course
 
Node JS Express : Steps to Create Restful Web App
Node JS Express : Steps to Create Restful Web AppNode JS Express : Steps to Create Restful Web App
Node JS Express : Steps to Create Restful Web App
 
EWD 3 Training Course Part 13: Putting Everything so far into Practice using ...
EWD 3 Training Course Part 13: Putting Everything so far into Practice using ...EWD 3 Training Course Part 13: Putting Everything so far into Practice using ...
EWD 3 Training Course Part 13: Putting Everything so far into Practice using ...
 
How to Build SPA with Vue Router 2.0
How to Build SPA with Vue Router 2.0How to Build SPA with Vue Router 2.0
How to Build SPA with Vue Router 2.0
 
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dep...
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dep...Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dep...
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dep...
 
Workshop 27: Isomorphic web apps with ReactJS
Workshop 27: Isomorphic web apps with ReactJSWorkshop 27: Isomorphic web apps with ReactJS
Workshop 27: Isomorphic web apps with ReactJS
 
Introduction to AJAX In WordPress
Introduction to AJAX In WordPressIntroduction to AJAX In WordPress
Introduction to AJAX In WordPress
 
ServiceWorker: New game changer is coming!
ServiceWorker: New game changer is coming!ServiceWorker: New game changer is coming!
ServiceWorker: New game changer is coming!
 
Chrome enchanted 2015
Chrome enchanted 2015Chrome enchanted 2015
Chrome enchanted 2015
 
Single Page Web Applications with CoffeeScript, Backbone and Jasmine
Single Page Web Applications with CoffeeScript, Backbone and JasmineSingle Page Web Applications with CoffeeScript, Backbone and Jasmine
Single Page Web Applications with CoffeeScript, Backbone and Jasmine
 
Workshop 18: CSS Animations & cool effects
Workshop 18: CSS Animations & cool effectsWorkshop 18: CSS Animations & cool effects
Workshop 18: CSS Animations & cool effects
 
REST to JavaScript for Better Client-side Development
REST to JavaScript for Better Client-side DevelopmentREST to JavaScript for Better Client-side Development
REST to JavaScript for Better Client-side Development
 
Introduction to PowerShell
Introduction to PowerShellIntroduction to PowerShell
Introduction to PowerShell
 
"Your script just killed my site" by Steve Souders
"Your script just killed my site" by Steve Souders"Your script just killed my site" by Steve Souders
"Your script just killed my site" by Steve Souders
 
[PHP 也有 Day] 垃圾留言守城記 - 用 Laravel 阻擋 SPAM 留言的奮鬥史
[PHP 也有 Day] 垃圾留言守城記 - 用 Laravel 阻擋 SPAM 留言的奮鬥史[PHP 也有 Day] 垃圾留言守城記 - 用 Laravel 阻擋 SPAM 留言的奮鬥史
[PHP 也有 Day] 垃圾留言守城記 - 用 Laravel 阻擋 SPAM 留言的奮鬥史
 
Workshop 16: EmberJS Parte I
Workshop 16: EmberJS Parte IWorkshop 16: EmberJS Parte I
Workshop 16: EmberJS Parte I
 
Maciej Treder "Server-side rendering with Angular—be faster and more SEO, CDN...
Maciej Treder "Server-side rendering with Angular—be faster and more SEO, CDN...Maciej Treder "Server-side rendering with Angular—be faster and more SEO, CDN...
Maciej Treder "Server-side rendering with Angular—be faster and more SEO, CDN...
 
Using The New Flash Stage3D Web Technology To Build Your Own Next 3D Browser ...
Using The New Flash Stage3D Web Technology To Build Your Own Next 3D Browser ...Using The New Flash Stage3D Web Technology To Build Your Own Next 3D Browser ...
Using The New Flash Stage3D Web Technology To Build Your Own Next 3D Browser ...
 

Viewers also liked

Venr profile (english)
Venr profile (english)Venr profile (english)
Venr profile (english)
Dung Van
 
Work Examples
Work Examples Work Examples
Work Examples
mhaenni
 

Viewers also liked (10)

Marketing for-gyms
Marketing for-gymsMarketing for-gyms
Marketing for-gyms
 
Venr profile (english)
Venr profile (english)Venr profile (english)
Venr profile (english)
 
Siapa dibalik jokowi
Siapa dibalik jokowiSiapa dibalik jokowi
Siapa dibalik jokowi
 
Work Examples
Work Examples Work Examples
Work Examples
 
Tay sachs disease (Understanding the Brain: The Neurobiology os Everyday Life...
Tay sachs disease (Understanding the Brain: The Neurobiology os Everyday Life...Tay sachs disease (Understanding the Brain: The Neurobiology os Everyday Life...
Tay sachs disease (Understanding the Brain: The Neurobiology os Everyday Life...
 
Silabus mata kuliah_pengantar_studi_islam
Silabus mata kuliah_pengantar_studi_islamSilabus mata kuliah_pengantar_studi_islam
Silabus mata kuliah_pengantar_studi_islam
 
2 juknis bansos_pondok_pesantren
2  juknis bansos_pondok_pesantren2  juknis bansos_pondok_pesantren
2 juknis bansos_pondok_pesantren
 
Aplikasi farmakokinetika dalam kepentingan klinis
Aplikasi farmakokinetika dalam kepentingan klinisAplikasi farmakokinetika dalam kepentingan klinis
Aplikasi farmakokinetika dalam kepentingan klinis
 
Meteorjs - Futuristic web framework
Meteorjs - Futuristic web frameworkMeteorjs - Futuristic web framework
Meteorjs - Futuristic web framework
 
Ilmu pendidikan islam
Ilmu pendidikan islamIlmu pendidikan islam
Ilmu pendidikan islam
 

Similar to Only JavaScript, only Meteor.js

Intro to node and mongodb 1
Intro to node and mongodb   1Intro to node and mongodb   1
Intro to node and mongodb 1
Mohammad Qureshi
 
How to build customizable multitenant web applications - PHPBNL11
How to build customizable multitenant web applications - PHPBNL11How to build customizable multitenant web applications - PHPBNL11
How to build customizable multitenant web applications - PHPBNL11
Stephan Hochdörfer
 
540slidesofnodejsbackendhopeitworkforu.pdf
540slidesofnodejsbackendhopeitworkforu.pdf540slidesofnodejsbackendhopeitworkforu.pdf
540slidesofnodejsbackendhopeitworkforu.pdf
hamzadamani7
 
gDayX 2013 - Advanced AngularJS - Nicolas Embleton
gDayX 2013 - Advanced AngularJS - Nicolas EmbletongDayX 2013 - Advanced AngularJS - Nicolas Embleton
gDayX 2013 - Advanced AngularJS - Nicolas Embleton
George Nguyen
 

Similar to Only JavaScript, only Meteor.js (20)

Story about module management with angular.js
Story about module management with angular.jsStory about module management with angular.js
Story about module management with angular.js
 
Reactive application using meteor
Reactive application using meteorReactive application using meteor
Reactive application using meteor
 
Build tons of multi-device JavaScript applications - Part 1 : Boilerplate, de...
Build tons of multi-device JavaScript applications - Part 1 : Boilerplate, de...Build tons of multi-device JavaScript applications - Part 1 : Boilerplate, de...
Build tons of multi-device JavaScript applications - Part 1 : Boilerplate, de...
 
Intro to node and mongodb 1
Intro to node and mongodb   1Intro to node and mongodb   1
Intro to node and mongodb 1
 
soft-shake.ch - Hands on Node.js
soft-shake.ch - Hands on Node.jssoft-shake.ch - Hands on Node.js
soft-shake.ch - Hands on Node.js
 
JavaScript Modules Done Right
JavaScript Modules Done RightJavaScript Modules Done Right
JavaScript Modules Done Right
 
Presentation Tier optimizations
Presentation Tier optimizationsPresentation Tier optimizations
Presentation Tier optimizations
 
AngularJS training - Day 1 - Basics: Why, What and basic features of AngularJS
AngularJS training - Day 1 - Basics: Why, What and basic features of AngularJSAngularJS training - Day 1 - Basics: Why, What and basic features of AngularJS
AngularJS training - Day 1 - Basics: Why, What and basic features of AngularJS
 
Monitoring a Kubernetes-backed microservice architecture with Prometheus
Monitoring a Kubernetes-backed microservice architecture with PrometheusMonitoring a Kubernetes-backed microservice architecture with Prometheus
Monitoring a Kubernetes-backed microservice architecture with Prometheus
 
A Story about AngularJS modularization development
A Story about AngularJS modularization developmentA Story about AngularJS modularization development
A Story about AngularJS modularization development
 
Clojure Web Development
Clojure Web DevelopmentClojure Web Development
Clojure Web Development
 
Js foo - Sept 8 upload
Js foo - Sept 8 uploadJs foo - Sept 8 upload
Js foo - Sept 8 upload
 
How to build customizable multitenant web applications - PHPBNL11
How to build customizable multitenant web applications - PHPBNL11How to build customizable multitenant web applications - PHPBNL11
How to build customizable multitenant web applications - PHPBNL11
 
Comet with node.js and V8
Comet with node.js and V8Comet with node.js and V8
Comet with node.js and V8
 
Modular Web Applications With Netzke
Modular Web Applications With NetzkeModular Web Applications With Netzke
Modular Web Applications With Netzke
 
540slidesofnodejsbackendhopeitworkforu.pdf
540slidesofnodejsbackendhopeitworkforu.pdf540slidesofnodejsbackendhopeitworkforu.pdf
540slidesofnodejsbackendhopeitworkforu.pdf
 
(In)Security Implication in the JS Universe
(In)Security Implication in the JS Universe(In)Security Implication in the JS Universe
(In)Security Implication in the JS Universe
 
gDayX 2013 - Advanced AngularJS - Nicolas Embleton
gDayX 2013 - Advanced AngularJS - Nicolas EmbletongDayX 2013 - Advanced AngularJS - Nicolas Embleton
gDayX 2013 - Advanced AngularJS - Nicolas Embleton
 
Meetup Performance
Meetup PerformanceMeetup Performance
Meetup Performance
 
Meetup Performance
Meetup PerformanceMeetup Performance
Meetup Performance
 

Recently uploaded

Recently uploaded (20)

EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

Only JavaScript, only Meteor.js