SlideShare una empresa de Scribd logo
1 de 15
Derby & Meteor
                     Two new frameworks for building…
                                 Realtime
                           Data Synchronized
                            HTML Templated
                                  Node
                            Web Applications



David Rees
@studgeek                                           5/9/12
about.me/studgeek                                   Node DC Meetup
Intro
• Not a lot of time so this is quick look
• Focusing on the concepts and key features
• (Not implementation/details)
Core Features
• Model-Bound HTML Templates
• Common Language, Packages and APIs (Server/Client)
• Common, Synchronized Model State
• Live Rendering
• Complete Development Framework
• MIT License (both)
Common, Synchronized Model State
• Clients, Server, and database all share a common state
• Changes anywhere are synchronized everywhere
• Models are created, searched, and updated the same
  way everywhere
• Subscriptions manage what data is propagated where
• M (in VC) is virtualized everywhere
Live Rendering
• Synchronized State pushes changes to all
    db/servers/browsers
•   Data-bound templates recognize changes in dependent
    data
•   HTML is magically updated everywhere
•   V is generated on server, lives on client
•   C is distributed and automatic
•   <demo>
Templating - Meteor
• Specific template approach
• Uses knockout/angular-style property bindings
• Specific parts are updated as the model properties
 change (like Knockout)
Templating - Derby
• Specific template approach
• Uses knockout/angular-style property bindings
• Specific parts are updated as the model properties
 change (like Knockout)
Complete Development Framework
• All the core packages need to build a web application are
  included and integrated
• Node.js, Express, Socket.IO, MongoDB, Handlebars,
  Stylus, CoffeeScript
• Derby – Redis
• Meteor - Fibers
Derby: Server-Side Template Rendering
• Pages are rendered on server as HTML and then pushed
    to client
•   They are then bound to the data on client
    (knockout/angular style)
•   SEO friendly (try searching for meteor.com)
•   Probably more mobile friendly (and definitely faster)
•   Meteor plans to implement
Derby: Routes
• Routes are defined Express/Sinatra style
• Initially generated on server and pushed to client
• Subsequent route accesses reuse client HTML
• Transitional routes support in-page updates (CSS
  animations)
• Form submits can be captured and used on client
Derby: Misc
• Conflict Resolution
• Normal NPM Packages
Meteor: Full Build/Package Environment
• They have big plans :)
• Trying to improve on express with simpler file structure
• Trying to improve on npm with dynamic packages
   • npm-like, not documented yet
• Uses own node internally
• Can create a normal node app for regular deployment
• I hope this will change (no real hurdle)
Meteor: Hot Code Pushes
• Changes to code on server is pushed realtime to all
  clients
• <demo>
Meteor: Deployment
• You use meteor to run
   • meteor
• For play you can use their servers
  • meteor deploy <anything you want>
• Or you can bundle a normal node app for deployment
  • meteor bundle (generates node tgz)
Last Thoughts (IMHO)
• Both have great potential
• Demonstrate what is possible with common language
• Show Node can be more than Ruby in JavaScript
• Personally digging Derby more right now
  • Normal packages, KO bindings, HTML in browser
• Hopefully both will drive off each other


• Will tweet deck - @studgeek

Más contenido relacionado

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
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
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
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...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 

Destacado

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Saba Software
 

Destacado (20)

Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 

A Quick Overview of Derby and Meteor (for 5/9 Node.js DC Meetup)

  • 1. Derby & Meteor Two new frameworks for building… Realtime Data Synchronized HTML Templated Node Web Applications David Rees @studgeek 5/9/12 about.me/studgeek Node DC Meetup
  • 2. Intro • Not a lot of time so this is quick look • Focusing on the concepts and key features • (Not implementation/details)
  • 3. Core Features • Model-Bound HTML Templates • Common Language, Packages and APIs (Server/Client) • Common, Synchronized Model State • Live Rendering • Complete Development Framework • MIT License (both)
  • 4. Common, Synchronized Model State • Clients, Server, and database all share a common state • Changes anywhere are synchronized everywhere • Models are created, searched, and updated the same way everywhere • Subscriptions manage what data is propagated where • M (in VC) is virtualized everywhere
  • 5. Live Rendering • Synchronized State pushes changes to all db/servers/browsers • Data-bound templates recognize changes in dependent data • HTML is magically updated everywhere • V is generated on server, lives on client • C is distributed and automatic • <demo>
  • 6. Templating - Meteor • Specific template approach • Uses knockout/angular-style property bindings • Specific parts are updated as the model properties change (like Knockout)
  • 7. Templating - Derby • Specific template approach • Uses knockout/angular-style property bindings • Specific parts are updated as the model properties change (like Knockout)
  • 8. Complete Development Framework • All the core packages need to build a web application are included and integrated • Node.js, Express, Socket.IO, MongoDB, Handlebars, Stylus, CoffeeScript • Derby – Redis • Meteor - Fibers
  • 9. Derby: Server-Side Template Rendering • Pages are rendered on server as HTML and then pushed to client • They are then bound to the data on client (knockout/angular style) • SEO friendly (try searching for meteor.com) • Probably more mobile friendly (and definitely faster) • Meteor plans to implement
  • 10. Derby: Routes • Routes are defined Express/Sinatra style • Initially generated on server and pushed to client • Subsequent route accesses reuse client HTML • Transitional routes support in-page updates (CSS animations) • Form submits can be captured and used on client
  • 11. Derby: Misc • Conflict Resolution • Normal NPM Packages
  • 12. Meteor: Full Build/Package Environment • They have big plans :) • Trying to improve on express with simpler file structure • Trying to improve on npm with dynamic packages • npm-like, not documented yet • Uses own node internally • Can create a normal node app for regular deployment • I hope this will change (no real hurdle)
  • 13. Meteor: Hot Code Pushes • Changes to code on server is pushed realtime to all clients • <demo>
  • 14. Meteor: Deployment • You use meteor to run • meteor • For play you can use their servers • meteor deploy <anything you want> • Or you can bundle a normal node app for deployment • meteor bundle (generates node tgz)
  • 15. Last Thoughts (IMHO) • Both have great potential • Demonstrate what is possible with common language • Show Node can be more than Ruby in JavaScript • Personally digging Derby more right now • Normal packages, KO bindings, HTML in browser • Hopefully both will drive off each other • Will tweet deck - @studgeek