SlideShare a Scribd company logo
Introduction to MeteorJS
by Andrew McPherson
a bit about me.
Andrew McPherson
I like videogames.
1. Aspiring developer and entrepreneur.
2. Born and raised here in Chattanooga.
3. Student of computer science at UTC.
github.com/arcym
twitter.com/andrewmcp333
I once had a beard.
My current project is
“the online video editor”
● Originally it was built through a lot of
NodeJS with MongoDB and SocketIO.
● But I had a lot of issues in maintaining
consistency of data between clients.
● Then I stumbled upon MeteorJS!
a bit about my projects.
a bit about meteor.
Meteor is a javascript framework that offers...
● client data synchronization.
● reactive updating templates.
● external module interoperability.
● just really simple syntax.
It doesn’t want to replace existing
frameworks, but integrate upon them.
Want to see a bit of
syntax?
Starting the project
To initialize...
meteor create NoogaDocs
> NoogaDocs created!
cd NoogaDocs
ls
> .meteor
> NoogaDocs.css
> NoogaDocs.html
> NoogaDocs.js
To execute...
meteor
> Started proxy.
> Started database.
> Started application.
> App at 127.0.0.1:3000
In the .html
<head>
<title>NoogDocs</title>
</head>
<body>
<div id=“greeting”>
Hello, {{name}}!
</div>
</body>
In the .js
if(Meteor.isClient)
{
Template.name = “World”;
}
In the .css
#greeting
{
font-weight: bold;
}
Trying it out
In the .js
if(Meteor.isClient)
{
var who = “World”
Template.greet.name = who
}
In the .html
<template name=“greet”>
<div id=“greeting”>
Hello, {{name}}!
</div>
</template>
<body>
{{> greet}}
</body>
Defining a template
In the .js
if(Meteor.isClient)
{
Template.greet.name = function()
{
var who = “World”;
return who;
}
//this is just another way of doing it.
}
Using more functions
In the .js
if(Meteor.isClient)
{
Template.greet.name = function()
{
var who = this || “World”;
return who;
}
}
In the .html
{{> greet “Andrew”}}
{{> greet “Anthny”}}
{{> greet “Adam”}}
Accessing the data
In the .js
Template.list.persons = [
{name: “Andrew”},
{name: “Anthony”},
{name: “Adam”}
];
In the .html
<template name=“list”>
<ul>
{{#each persons}}
<li>{{name}}</li>
{{/each}}
</ul>
</template>
<body>
{{> list}}
</body>
Iterating via helpers
In the .js
var Persons = new Meteor.Collection(“persons”);
if(Meteor.isClient)
{
Template.list.persons = Persons.find({});
}
if(Meteor.isServer)
{
Persons.insert({name: “Andrew”});
Persons.insert({name: “Anthony”});
Persons.insert({name: “Adam”});
}
Including a database
Binding to events
In the .js
var Persons = new Meteor.Collection(“persons”);
if(Meteor.isClient)
{
Template.list.persons = Persons.find({});
Template.list.events = {
“click li”: function() {
Persons.remove(this._id);
}
}
}
So let’s try a live demo!
Hopefully I won’t mess this up! (May the programming gods have mercy on my soul)
some issues with meteor
● potential networking latency
● best for single page apps
● still in development :
●
●
●
● not much else than that.
some resources for meteor
Meteor Documentation: docs.meteor.com
Meteor Examples: meteor.com/learn-meteor
NoogaDocs Github: github.com/arcym/noogadocs
“Useful Meteor Resources”
discovermeteor.com/blog/useful-meteor-resources
“How to learn Javascript properly”
javascriptissexy.com/how-to-learn-javascript-properly
Thank you so much!

More Related Content

What's hot

Introduction to php web programming - sessions and cookies
Introduction to php   web programming - sessions and cookiesIntroduction to php   web programming - sessions and cookies
Introduction to php web programming - sessions and cookies
baabtra.com - No. 1 supplier of quality freshers
 
PHP - Getting good with cookies
PHP - Getting good with cookiesPHP - Getting good with cookies
PHP - Getting good with cookies
Firdaus Adib
 
Mongo db for C# Developers
Mongo db for C# DevelopersMongo db for C# Developers
Mongo db for C# Developers
Simon Elliston Ball
 
Forgot password for protected sheet on Microsoft Excel!?
Forgot password for protected sheet on Microsoft Excel!?Forgot password for protected sheet on Microsoft Excel!?
Forgot password for protected sheet on Microsoft Excel!?
perfectpredesti94
 
Yearning jQuery
Yearning jQueryYearning jQuery
Yearning jQuery
Remy Sharp
 
Lecture8 php page control by okello erick
Lecture8 php page control by okello erickLecture8 php page control by okello erick
Lecture8 php page control by okello erick
okelloerick
 
Cookies in Angular | Install CookiesService
Cookies in Angular | Install CookiesServiceCookies in Angular | Install CookiesService
Cookies in Angular | Install CookiesService
Pradeep Kumar
 
Cookies and sessions
Cookies and sessionsCookies and sessions
Cookies and sessions
UdaAs PaNchi
 
Php cookies
Php cookiesPhp cookies
Php cookies
JIGAR MAKHIJA
 
java Cookies
java Cookiesjava Cookies
java Cookies
Rajanivetha G
 
Session Management & Cookies In Php
Session Management & Cookies In PhpSession Management & Cookies In Php
Session Management & Cookies In Php
Harit Kothari
 
Operational transformation
Operational transformationOperational transformation
Operational transformation
Matteo Collina
 
Php sessions
Php sessionsPhp sessions
Php sessions
JIGAR MAKHIJA
 
Cookie & Session In ASP.NET
Cookie & Session In ASP.NETCookie & Session In ASP.NET
Cookie & Session In ASP.NET
ShingalaKrupa
 
Pro bun-fighting - Working with JavaScript projects
Pro bun-fighting - Working with JavaScript projectsPro bun-fighting - Working with JavaScript projects
Pro bun-fighting - Working with JavaScript projects
Frances Berriman
 
async/await in Swift
async/await in Swiftasync/await in Swift
async/await in Swift
Peter Friese
 
To Err Is Human
To Err Is HumanTo Err Is Human
To Err Is Human
Alex Liu
 
Cookies & Session
Cookies & SessionCookies & Session
ASP.NET-Web Programming - Sessions and Cookies
ASP.NET-Web Programming - Sessions and CookiesASP.NET-Web Programming - Sessions and Cookies
ASP.NET-Web Programming - Sessions and Cookies
baabtra.com - No. 1 supplier of quality freshers
 
Cookies in PHP
Cookies in PHPCookies in PHP
Cookies in PHP
Ashok Kumar
 

What's hot (20)

Introduction to php web programming - sessions and cookies
Introduction to php   web programming - sessions and cookiesIntroduction to php   web programming - sessions and cookies
Introduction to php web programming - sessions and cookies
 
PHP - Getting good with cookies
PHP - Getting good with cookiesPHP - Getting good with cookies
PHP - Getting good with cookies
 
Mongo db for C# Developers
Mongo db for C# DevelopersMongo db for C# Developers
Mongo db for C# Developers
 
Forgot password for protected sheet on Microsoft Excel!?
Forgot password for protected sheet on Microsoft Excel!?Forgot password for protected sheet on Microsoft Excel!?
Forgot password for protected sheet on Microsoft Excel!?
 
Yearning jQuery
Yearning jQueryYearning jQuery
Yearning jQuery
 
Lecture8 php page control by okello erick
Lecture8 php page control by okello erickLecture8 php page control by okello erick
Lecture8 php page control by okello erick
 
Cookies in Angular | Install CookiesService
Cookies in Angular | Install CookiesServiceCookies in Angular | Install CookiesService
Cookies in Angular | Install CookiesService
 
Cookies and sessions
Cookies and sessionsCookies and sessions
Cookies and sessions
 
Php cookies
Php cookiesPhp cookies
Php cookies
 
java Cookies
java Cookiesjava Cookies
java Cookies
 
Session Management & Cookies In Php
Session Management & Cookies In PhpSession Management & Cookies In Php
Session Management & Cookies In Php
 
Operational transformation
Operational transformationOperational transformation
Operational transformation
 
Php sessions
Php sessionsPhp sessions
Php sessions
 
Cookie & Session In ASP.NET
Cookie & Session In ASP.NETCookie & Session In ASP.NET
Cookie & Session In ASP.NET
 
Pro bun-fighting - Working with JavaScript projects
Pro bun-fighting - Working with JavaScript projectsPro bun-fighting - Working with JavaScript projects
Pro bun-fighting - Working with JavaScript projects
 
async/await in Swift
async/await in Swiftasync/await in Swift
async/await in Swift
 
To Err Is Human
To Err Is HumanTo Err Is Human
To Err Is Human
 
Cookies & Session
Cookies & SessionCookies & Session
Cookies & Session
 
ASP.NET-Web Programming - Sessions and Cookies
ASP.NET-Web Programming - Sessions and CookiesASP.NET-Web Programming - Sessions and Cookies
ASP.NET-Web Programming - Sessions and Cookies
 
Cookies in PHP
Cookies in PHPCookies in PHP
Cookies in PHP
 

Similar to Introduction to Meteor at ChaDev Lunch

code-camp-meteor
code-camp-meteorcode-camp-meteor
code-camp-meteor
meghna gogna
 
Basic Tutorial of React for Programmers
Basic Tutorial of React for ProgrammersBasic Tutorial of React for Programmers
Basic Tutorial of React for Programmers
David Rodenas
 
Taller evento TestingUY 2017 - API Testing utilizando Chakram
Taller evento TestingUY 2017 - API Testing utilizando ChakramTaller evento TestingUY 2017 - API Testing utilizando Chakram
Taller evento TestingUY 2017 - API Testing utilizando Chakram
TestingUy
 
Yeoman AngularJS and D3 - A solid stack for web apps
Yeoman AngularJS and D3 - A solid stack for web appsYeoman AngularJS and D3 - A solid stack for web apps
Yeoman AngularJS and D3 - A solid stack for web apps
climboid
 
ADO.NET Entity Framework by Jose A. Blakeley and Michael Pizzo
ADO.NET Entity Framework by Jose A. Blakeley and Michael PizzoADO.NET Entity Framework by Jose A. Blakeley and Michael Pizzo
ADO.NET Entity Framework by Jose A. Blakeley and Michael Pizzo
Hasnain Iqbal
 
Simple todo app with meteor
Simple todo app with meteorSimple todo app with meteor
Simple todo app with meteor
Alex Long
 
Sequelize
SequelizeSequelize
Sequelize
Tarek Raihan
 
Data models in Angular 1 & 2
Data models in Angular 1 & 2Data models in Angular 1 & 2
Data models in Angular 1 & 2
Adam Klein
 
#NewMeetup Performance
#NewMeetup Performance#NewMeetup Performance
#NewMeetup Performance
Justin Cataldo
 
Green dao
Green daoGreen dao
Green dao
Droidcon Berlin
 
The Theory Of The Dom
The Theory Of The DomThe Theory Of The Dom
The Theory Of The Dom
kaven yan
 
Fun Teaching MongoDB New Tricks
Fun Teaching MongoDB New TricksFun Teaching MongoDB New Tricks
Fun Teaching MongoDB New Tricks
MongoDB
 
Build your own trello witihin 100 LOC (with Meteor)
Build your own trello witihin 100 LOC (with Meteor)Build your own trello witihin 100 LOC (with Meteor)
Build your own trello witihin 100 LOC (with Meteor)
Andy Dai
 
Intro to MVC 3 for Government Developers
Intro to MVC 3 for Government DevelopersIntro to MVC 3 for Government Developers
Intro to MVC 3 for Government Developers
Frank La Vigne
 
! Modernizr v2.0.6 httpwww.modernizr.com Copyri.docx
!  Modernizr v2.0.6  httpwww.modernizr.com   Copyri.docx!  Modernizr v2.0.6  httpwww.modernizr.com   Copyri.docx
! Modernizr v2.0.6 httpwww.modernizr.com Copyri.docx
MARRY7
 
AngularJS Basics with Example
AngularJS Basics with ExampleAngularJS Basics with Example
AngularJS Basics with Example
Sergey Bolshchikov
 
前端概述
前端概述前端概述
前端概述
Ethan Zhang
 
Meteor Day Talk
Meteor Day TalkMeteor Day Talk
Meteor Day Talk
Brandon Bechtel
 
JavaScript front end performance optimizations
JavaScript front end performance optimizationsJavaScript front end performance optimizations
JavaScript front end performance optimizations
Chris Love
 
Ajax Performance Tuning and Best Practices
Ajax Performance Tuning and Best PracticesAjax Performance Tuning and Best Practices
Ajax Performance Tuning and Best Practices
Doris Chen
 

Similar to Introduction to Meteor at ChaDev Lunch (20)

code-camp-meteor
code-camp-meteorcode-camp-meteor
code-camp-meteor
 
Basic Tutorial of React for Programmers
Basic Tutorial of React for ProgrammersBasic Tutorial of React for Programmers
Basic Tutorial of React for Programmers
 
Taller evento TestingUY 2017 - API Testing utilizando Chakram
Taller evento TestingUY 2017 - API Testing utilizando ChakramTaller evento TestingUY 2017 - API Testing utilizando Chakram
Taller evento TestingUY 2017 - API Testing utilizando Chakram
 
Yeoman AngularJS and D3 - A solid stack for web apps
Yeoman AngularJS and D3 - A solid stack for web appsYeoman AngularJS and D3 - A solid stack for web apps
Yeoman AngularJS and D3 - A solid stack for web apps
 
ADO.NET Entity Framework by Jose A. Blakeley and Michael Pizzo
ADO.NET Entity Framework by Jose A. Blakeley and Michael PizzoADO.NET Entity Framework by Jose A. Blakeley and Michael Pizzo
ADO.NET Entity Framework by Jose A. Blakeley and Michael Pizzo
 
Simple todo app with meteor
Simple todo app with meteorSimple todo app with meteor
Simple todo app with meteor
 
Sequelize
SequelizeSequelize
Sequelize
 
Data models in Angular 1 & 2
Data models in Angular 1 & 2Data models in Angular 1 & 2
Data models in Angular 1 & 2
 
#NewMeetup Performance
#NewMeetup Performance#NewMeetup Performance
#NewMeetup Performance
 
Green dao
Green daoGreen dao
Green dao
 
The Theory Of The Dom
The Theory Of The DomThe Theory Of The Dom
The Theory Of The Dom
 
Fun Teaching MongoDB New Tricks
Fun Teaching MongoDB New TricksFun Teaching MongoDB New Tricks
Fun Teaching MongoDB New Tricks
 
Build your own trello witihin 100 LOC (with Meteor)
Build your own trello witihin 100 LOC (with Meteor)Build your own trello witihin 100 LOC (with Meteor)
Build your own trello witihin 100 LOC (with Meteor)
 
Intro to MVC 3 for Government Developers
Intro to MVC 3 for Government DevelopersIntro to MVC 3 for Government Developers
Intro to MVC 3 for Government Developers
 
! Modernizr v2.0.6 httpwww.modernizr.com Copyri.docx
!  Modernizr v2.0.6  httpwww.modernizr.com   Copyri.docx!  Modernizr v2.0.6  httpwww.modernizr.com   Copyri.docx
! Modernizr v2.0.6 httpwww.modernizr.com Copyri.docx
 
AngularJS Basics with Example
AngularJS Basics with ExampleAngularJS Basics with Example
AngularJS Basics with Example
 
前端概述
前端概述前端概述
前端概述
 
Meteor Day Talk
Meteor Day TalkMeteor Day Talk
Meteor Day Talk
 
JavaScript front end performance optimizations
JavaScript front end performance optimizationsJavaScript front end performance optimizations
JavaScript front end performance optimizations
 
Ajax Performance Tuning and Best Practices
Ajax Performance Tuning and Best PracticesAjax Performance Tuning and Best Practices
Ajax Performance Tuning and Best Practices
 

Recently uploaded

Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
Claudio Di Ciccio
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
FODUU
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdfAI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
Techgropse Pvt.Ltd.
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 

Recently uploaded (20)

Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdfAI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 

Introduction to Meteor at ChaDev Lunch

  • 1. Introduction to MeteorJS by Andrew McPherson
  • 2. a bit about me. Andrew McPherson I like videogames. 1. Aspiring developer and entrepreneur. 2. Born and raised here in Chattanooga. 3. Student of computer science at UTC. github.com/arcym twitter.com/andrewmcp333 I once had a beard.
  • 3. My current project is “the online video editor” ● Originally it was built through a lot of NodeJS with MongoDB and SocketIO. ● But I had a lot of issues in maintaining consistency of data between clients. ● Then I stumbled upon MeteorJS! a bit about my projects.
  • 4. a bit about meteor. Meteor is a javascript framework that offers... ● client data synchronization. ● reactive updating templates. ● external module interoperability. ● just really simple syntax. It doesn’t want to replace existing frameworks, but integrate upon them.
  • 5. Want to see a bit of syntax?
  • 6. Starting the project To initialize... meteor create NoogaDocs > NoogaDocs created! cd NoogaDocs ls > .meteor > NoogaDocs.css > NoogaDocs.html > NoogaDocs.js To execute... meteor > Started proxy. > Started database. > Started application. > App at 127.0.0.1:3000
  • 7. In the .html <head> <title>NoogDocs</title> </head> <body> <div id=“greeting”> Hello, {{name}}! </div> </body> In the .js if(Meteor.isClient) { Template.name = “World”; } In the .css #greeting { font-weight: bold; } Trying it out
  • 8. In the .js if(Meteor.isClient) { var who = “World” Template.greet.name = who } In the .html <template name=“greet”> <div id=“greeting”> Hello, {{name}}! </div> </template> <body> {{> greet}} </body> Defining a template
  • 9. In the .js if(Meteor.isClient) { Template.greet.name = function() { var who = “World”; return who; } //this is just another way of doing it. } Using more functions
  • 10. In the .js if(Meteor.isClient) { Template.greet.name = function() { var who = this || “World”; return who; } } In the .html {{> greet “Andrew”}} {{> greet “Anthny”}} {{> greet “Adam”}} Accessing the data
  • 11. In the .js Template.list.persons = [ {name: “Andrew”}, {name: “Anthony”}, {name: “Adam”} ]; In the .html <template name=“list”> <ul> {{#each persons}} <li>{{name}}</li> {{/each}} </ul> </template> <body> {{> list}} </body> Iterating via helpers
  • 12. In the .js var Persons = new Meteor.Collection(“persons”); if(Meteor.isClient) { Template.list.persons = Persons.find({}); } if(Meteor.isServer) { Persons.insert({name: “Andrew”}); Persons.insert({name: “Anthony”}); Persons.insert({name: “Adam”}); } Including a database
  • 13. Binding to events In the .js var Persons = new Meteor.Collection(“persons”); if(Meteor.isClient) { Template.list.persons = Persons.find({}); Template.list.events = { “click li”: function() { Persons.remove(this._id); } } }
  • 14. So let’s try a live demo! Hopefully I won’t mess this up! (May the programming gods have mercy on my soul)
  • 15. some issues with meteor ● potential networking latency ● best for single page apps ● still in development : ● ● ● ● not much else than that.
  • 16. some resources for meteor Meteor Documentation: docs.meteor.com Meteor Examples: meteor.com/learn-meteor NoogaDocs Github: github.com/arcym/noogadocs “Useful Meteor Resources” discovermeteor.com/blog/useful-meteor-resources “How to learn Javascript properly” javascriptissexy.com/how-to-learn-javascript-properly
  • 17. Thank you so much!