Getting Started with Meteor TCF IT Professional Conference March 14, 2014 Michael P

Getting Started with Meteor TCF IT Professional Conference March 14, 2014 Michael P

Getting Started with Meteor TCF IT Professional Conference March 14, 2014 Michael P. Redlich @mpredli about.me/mpredli/ 1 Thursday, March 13, 14 1 Who’s Mike? • BS in CS from • “Petrochemical Research Organization” • Ai-Logix, Inc. (now AudioCodes) • Amateur Computer Group of New Jersey • Publications • Presentations 2 Thursday, March 13, 14 2 Objectives • What is Meteor? • Why Meteor? • The Seven Principles • Getting Started with Meteor • Live Demos (yea!) • Meteor Resources 3 Thursday, March 13, 14 3 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 Thursday, March 13, 14 4 What is Meteor? (2) • Built on top of • Shares code between the client-side and server-side of your application 5 Thursday, March 13, 14 5 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 Thursday, March 13, 14 6 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 Thursday, March 13, 14 7 The Seven Principles • Data on the Wire • Simplicity = Productivity • One Langauge • Database Everywhere • Latency Compensation • Full-Stack Reactivity • Embrace the Ecosystem 8 Thursday, March 13, 14 8 (#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 Thursday, March 13, 14 9 (#2) One Language • Everything is JavaScript • Built-in JavaScript packages include: • CoffeeScript • jQuery • Bootstrap • Backbone 10 Thursday, March 13, 14 10 (#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 Thursday, March 13, 14 11 (#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 Thursday, March 13, 14 12 (#5) Full-Stack Reactivity • Embraces the concept of reactive programming • Everything is real-time • Templates automatically re-render themselves as data changes 13 Thursday, March 13, 14 13 (#6) Embrace the Ecosystem • Meteor is open-source • Integrates existing open-source tools and frameworks 14 Thursday, March 13, 14 14 (#7) Simplicity = Productivity • For something to seem simple, it must actually be simple • API are plain and simple 15 Thursday, March 13, 14 15 Conventions Used in This Presentation • Command Prompt ($) • Keywords (meteor, create, etc.) • Variables (variable) 16 Thursday, March 13, 14 16 Getting Started • Download Meteor • Create your first Meteor app • Explore the built-in examples 17 Thursday, March 13, 14 17 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 18 Thursday, March 13, 14 18 Create Your First Meteor App $ meteor create myapp $ cd myapp myapp $ meteor 19 Thursday, March 13, 14 19 Live Demo! 20 Thursday, March 13, 14 20 Explore the Built-in Examples • Four (4) built-in examples • Leaderboard (simplest) $ meteor create --example leaderboard 21 Thursday, March 13, 14 21 Live Demo! 22 Thursday, March 13, 14 22 Structuring Your Meteor Application • Special folders: • /server • /client • /public • /lib • /collections 23 Thursday, March 13, 14 23 Smart Packages (1) • JavaScript programs • Extend your Meteor environment • Injects code into client-side or server-side of your application 24 Thursday, March 13, 14 24 Smart Packages (2) • Core smart packages: • spark • reload • livedata • mongo-livedata • minimongo 25 Thursday, March 13, 14 25 Smart Packages (3) • List all available packages $ meteor list • Adding a package $ meteor add packageName • Removing a package $ meteor remove packageName 26 Thursday, March 13, 14 26 Deploying Your Meteor Application • Full application server • Deploy on Meteor’s infrastructure $ meteor deploy myapp.meteor.com 27 Thursday, March 13, 14 27 Meteorite • A wrapper utility for Meteor • developed by Tom Coleman • Supports third-party applications • Does everything Meteor does plus... 28 Thursday, March 13, 14 28 Meteor Resources (1) 29 Thursday, March 13, 14 29 Meteor Resources (2) • meteor.com • github.com/meteor/meteor • themeteorbook.com • eventedmind.com • atmosphere.meteor.com • fastcolabs.com/3007015/how-use- mysql-meteor 30 Thursday, March 13, 14 30 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 Thursday, March 13, 14 31 Upcoming Events (2) 32 Thursday, March 13, 14 32 Thanks! [email protected] @mpredli javasig.org 33 Thursday, March 13, 14 33.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    33 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us