Skip to content

Instantly share code, notes, and snippets.

@DaveEveritt
Forked from shrop/intro-meteor.js.md
Last active March 21, 2016 09:38
Show Gist options
  • Select an option

  • Save DaveEveritt/2e7431f0d40eb2b38a1b to your computer and use it in GitHub Desktop.

Select an option

Save DaveEveritt/2e7431f0d40eb2b38a1b to your computer and use it in GitHub Desktop.

Revisions

  1. DaveEveritt revised this gist Mar 21, 2016. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion intro-meteor.js.md
    Original file line number Diff line number Diff line change
    @@ -34,7 +34,7 @@
    * Note: You can update the default skel structure here: `~/.meteor/tools/latest/tools/skel/`
    * Meteor automatically finds all HTML templates, JavaScript, and CSS in an application and handles processing these
    * `main.*` files are loaded last at each folder level. Example: `client/main.js` will load after `client/file1.js` and `client/file2.js`.
    * Files which don't exist in `app-name/client`, app-name/server`, and `app-name/tests` are loaded on the client and server. You can use [isClient](http://docs.meteor.com/#meteor_isclient) and [isServer](http://docs.meteor.com/#meteor_isserver) to separate code to run on only client or server. here is a better way to organize server and client code:
    * Files which don't exist in `app-name/client`, `app-name/server`, and `app-name/tests` are loaded on the client and server. You can use [isClient](http://docs.meteor.com/#meteor_isclient) and [isServer](http://docs.meteor.com/#meteor_isserver) to separate code to run on only client or server. here is a better way to organize server and client code:
    * Files in `app-name/client` are only loaded on the client
    * Files in `app-name/server` are only loaded on the server
    * Files in the `app-name/private` directory are for static server assets. See [Assets](http://docs.meteor.com/#assets).
  2. @shrop shrop revised this gist Jan 24, 2014. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions intro-meteor.js.md
    Original file line number Diff line number Diff line change
    @@ -98,6 +98,8 @@
    * [Stack Overflow](http://stackoverflow.com/questions/tagged/meteor)
    * [Meteorpedia! The unofficial Meteor Wiki](http://meteorpedia.com/read/Main_Page)
    * [Abee - Scaffolding tool](https://github.com/fastrde/abee)
    * [Meteor Weekly](http://meteorhacks.com/meteor-weekly)
    * [crater.io](http://crater.io)
    * Mailing Lists
    * [General questions](http://groups.google.com/group/meteor-talk )
    * [Meteor core development](http://groups.google.com/group/meteor-core)
  3. @shrop shrop revised this gist Jan 23, 2014. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions intro-meteor.js.md
    Original file line number Diff line number Diff line change
    @@ -117,5 +117,7 @@
    * [Discover Meteor](http://www.discovermeteor.com) - The best out there. The authors are releasing updates. I recommend the Premium version since it includes some additional chapters, screencasts, podcasts, etc.
    * [Meteor JavaScript Framework Starter](http://www.packtpub.com/meteor-javascript-framework-starter/book) - Quick read. Older, so some items might be a little out of date, but still worth the read.
    * [Getting Started with Meteor.js JavaScript Framework](http://www.packtpub.com/getting-started-with-meteor-javascript-framework/book) - Okay read. Worth checking out for the money.
    * Blogs
    * [differential.io blog](http://differential.io/blog) - Company blog with a good many Meteor related posts.
    * Podcasts
    * [Meteor Podcast](http://www.meteorpodcast.com) - The first Metoer podcast (that I am aware of)
  4. @shrop shrop revised this gist Jan 23, 2014. 1 changed file with 3 additions and 1 deletion.
    4 changes: 3 additions & 1 deletion intro-meteor.js.md
    Original file line number Diff line number Diff line change
    @@ -116,4 +116,6 @@
    * Books
    * [Discover Meteor](http://www.discovermeteor.com) - The best out there. The authors are releasing updates. I recommend the Premium version since it includes some additional chapters, screencasts, podcasts, etc.
    * [Meteor JavaScript Framework Starter](http://www.packtpub.com/meteor-javascript-framework-starter/book) - Quick read. Older, so some items might be a little out of date, but still worth the read.
    * [Getting Started with Meteor.js JavaScript Framework](http://www.packtpub.com/getting-started-with-meteor-javascript-framework/book) - Okay read. Worth checking out for the money.
    * [Getting Started with Meteor.js JavaScript Framework](http://www.packtpub.com/getting-started-with-meteor-javascript-framework/book) - Okay read. Worth checking out for the money.
    * [differential.io blog](http://differential.io/blog) - Company blog with a good many Meteor related posts.
    * [Meteor Podcast](http://www.meteorpodcast.com) - The first Metoer podcast (that I am aware of)
  5. @shrop shrop revised this gist Jan 7, 2014. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions intro-meteor.js.md
    Original file line number Diff line number Diff line change
    @@ -97,6 +97,7 @@
    * [@meteorjs](http://twitter.com/meteorjs)
    * [Stack Overflow](http://stackoverflow.com/questions/tagged/meteor)
    * [Meteorpedia! The unofficial Meteor Wiki](http://meteorpedia.com/read/Main_Page)
    * [Abee - Scaffolding tool](https://github.com/fastrde/abee)
    * Mailing Lists
    * [General questions](http://groups.google.com/group/meteor-talk )
    * [Meteor core development](http://groups.google.com/group/meteor-core)
  6. @shrop shrop revised this gist Jan 6, 2014. 1 changed file with 4 additions and 2 deletions.
    6 changes: 4 additions & 2 deletions intro-meteor.js.md
    Original file line number Diff line number Diff line change
    @@ -82,8 +82,10 @@
    * `$ meteor bundle`
    * `$ meteor update`

    ### Explore a Sample Meteor Application
    * TODO: app link
    ### Live Code Demo/Examples
    * Templates
    * Collections
    * etc.

    ## Resources
    * [meteor.com](https://www.meteor.com)
  7. @shrop shrop revised this gist Jan 6, 2014. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions intro-meteor.js.md
    Original file line number Diff line number Diff line change
    @@ -108,6 +108,7 @@
    * [RealtimeConf - "Meteor" by Matt DeBergalis](https://vimeo.com/52656246) -
    * [meteor.js by Roger Zurawicki](http://www.youtube.com/watch?v=5URzpBPQ864) - Comp Sci class video. May want to skip over parts as it gets kind of long as he is instructing new students.
    * [TakeOff 2013 - Meteor.js - Geoff Schmidt](http://www.youtube.com/watch?v=4mtLCjhxKAs)
    * [How do Client Cursors Work?](https://www.eventedmind.com/feed/9dd22613-b00e-491c-8c4d-7ab578270177)
    * [Introduction to Node.js with Ryan Dahl](http://www.youtube.com/watch?v=jo_B4LTHi3I&list=PLjUtRCzOPs5PnSdUJMsDYFXKxgk-gGxao) - Node.js video, but worth the watch since Ryan is the creator of Node.js
    * Books
    * [Discover Meteor](http://www.discovermeteor.com) - The best out there. The authors are releasing updates. I recommend the Premium version since it includes some additional chapters, screencasts, podcasts, etc.
  8. @shrop shrop revised this gist Jan 4, 2014. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions intro-meteor.js.md
    Original file line number Diff line number Diff line change
    @@ -103,6 +103,7 @@
    * Screencasts/Presentations
    * [Screencast 1 on meteor.com](https://www.meteor.com/screencast)
    * [Screencast 2 on meteor.com](https://www.meteor.com/authcast)
    * [Meteor YouTube channel](http://www.youtube.com/user/meteorvideos)
    * [Meteor.js with Matt Debergalis](https://www.youtube.com/watch?v=vpp-8gkPWVE)
    * [RealtimeConf - "Meteor" by Matt DeBergalis](https://vimeo.com/52656246) -
    * [meteor.js by Roger Zurawicki](http://www.youtube.com/watch?v=5URzpBPQ864) - Comp Sci class video. May want to skip over parts as it gets kind of long as he is instructing new students.
  9. @shrop shrop revised this gist Dec 28, 2013. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions intro-meteor.js.md
    Original file line number Diff line number Diff line change
    @@ -94,6 +94,7 @@
    * [meteor.com Blog](https://www.meteor.com/blog/)
    * [@meteorjs](http://twitter.com/meteorjs)
    * [Stack Overflow](http://stackoverflow.com/questions/tagged/meteor)
    * [Meteorpedia! The unofficial Meteor Wiki](http://meteorpedia.com/read/Main_Page)
    * Mailing Lists
    * [General questions](http://groups.google.com/group/meteor-talk )
    * [Meteor core development](http://groups.google.com/group/meteor-core)
  10. @shrop shrop revised this gist Dec 27, 2013. 1 changed file with 0 additions and 1 deletion.
    1 change: 0 additions & 1 deletion intro-meteor.js.md
    Original file line number Diff line number Diff line change
    @@ -80,7 +80,6 @@
    * `$ meteor mongo`
    * `$ meteor reset`
    * `$ meteor bundle`
    * `$ meteor bundle`
    * `$ meteor update`

    ### Explore a Sample Meteor Application
  11. @shrop shrop revised this gist Dec 27, 2013. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions intro-meteor.js.md
    Original file line number Diff line number Diff line change
    @@ -52,6 +52,7 @@
    * The Meteor server restarts when file changes happen
    * The Meteor serer will wait for errors to be resolved if it can't start the application due to an error.
    * Meteor code is synchronous in style thanks to Node Fibers. This means that each connection can have blocking code and no "pyramid of doom" due to lots of callbacks in asynchronous Node.js programming techniques. While each connection has blocking code, Fibers runs ontop of he Node event loop, allowed it to simultanrously server other clients.
    * Meteor uses minimongo on the client side. This is a lightweight MongoDB basically.

    ## Demos
    ### Installing Meteor
  12. @shrop shrop revised this gist Dec 26, 2013. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions intro-meteor.js.md
    Original file line number Diff line number Diff line change
    @@ -51,6 +51,7 @@
    * [accounts-ui](http://docs.meteor.com/#accountsui) is worth a look
    * The Meteor server restarts when file changes happen
    * The Meteor serer will wait for errors to be resolved if it can't start the application due to an error.
    * Meteor code is synchronous in style thanks to Node Fibers. This means that each connection can have blocking code and no "pyramid of doom" due to lots of callbacks in asynchronous Node.js programming techniques. While each connection has blocking code, Fibers runs ontop of he Node event loop, allowed it to simultanrously server other clients.

    ## Demos
    ### Installing Meteor
  13. @shrop shrop revised this gist Dec 26, 2013. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions intro-meteor.js.md
    Original file line number Diff line number Diff line change
    @@ -49,6 +49,8 @@
    * [Deployment options](http://docs.meteor.com/#deploying)
    * Meteor comes with a number of helpful [packages](http://docs.meteor.com/#packages) to help make development faster. Try `$ meteor list`
    * [accounts-ui](http://docs.meteor.com/#accountsui) is worth a look
    * The Meteor server restarts when file changes happen
    * The Meteor serer will wait for errors to be resolved if it can't start the application due to an error.

    ## Demos
    ### Installing Meteor
  14. @shrop shrop revised this gist Dec 26, 2013. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion intro-meteor.js.md
    Original file line number Diff line number Diff line change
    @@ -103,7 +103,7 @@
    * [RealtimeConf - "Meteor" by Matt DeBergalis](https://vimeo.com/52656246) -
    * [meteor.js by Roger Zurawicki](http://www.youtube.com/watch?v=5URzpBPQ864) - Comp Sci class video. May want to skip over parts as it gets kind of long as he is instructing new students.
    * [TakeOff 2013 - Meteor.js - Geoff Schmidt](http://www.youtube.com/watch?v=4mtLCjhxKAs)
    * [Introduction to Node.js with Ryan Dahl](http://www.youtube.com/watch?v=jo_B4LTHi3I&list=PLjUtRCzOPs5PnSdUJMsDYFXKxgk-gGxao) - Node.js video, but worth the watch since Ryan is the creator of Node.js.d
    * [Introduction to Node.js with Ryan Dahl](http://www.youtube.com/watch?v=jo_B4LTHi3I&list=PLjUtRCzOPs5PnSdUJMsDYFXKxgk-gGxao) - Node.js video, but worth the watch since Ryan is the creator of Node.js
    * Books
    * [Discover Meteor](http://www.discovermeteor.com) - The best out there. The authors are releasing updates. I recommend the Premium version since it includes some additional chapters, screencasts, podcasts, etc.
    * [Meteor JavaScript Framework Starter](http://www.packtpub.com/meteor-javascript-framework-starter/book) - Quick read. Older, so some items might be a little out of date, but still worth the read.
  15. @shrop shrop revised this gist Dec 26, 2013. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions intro-meteor.js.md
    Original file line number Diff line number Diff line change
    @@ -80,6 +80,7 @@
    * `$ meteor update`

    ### Explore a Sample Meteor Application
    * TODO: app link

    ## Resources
    * [meteor.com](https://www.meteor.com)
  16. @shrop shrop created this gist Dec 26, 2013.
    109 changes: 109 additions & 0 deletions intro-meteor.js.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,109 @@
    # Intro to Meteor.js

    ## What is [Meteor.js](https://www.meteor.com)?
    * CLI tool (meteor)
    * Library of packages
    * [Open source](https://github.com/meteor/meteor)
    * Built on [Node.js](http://nodejs.org)

    ## Why Meteor?
    * [Seven Principals of Meteor](http://docs.meteor.com/#sevenprinciples)
    * Data on the Wire
    * One language
    * Database Everywhere
    * Latency Compensation
    * Full Stack Reactivity
    * Embrace the Ecosystem
    * Simplicity Equals Productivity
    * Meteor sends data between the client and server, not fully rendered HTML.
    * JavaScript on the client and server
    * Same API is used to access the database on the client and server
    * Application appear very fast for the client since Meteor automatically synchronizes models for fast prefetching
    * Live page updates when the database changes, without browser refreshes, thanks to the event-driven interface. Drupal? Wordpress?
    * Can't reiterate enough the importance of Meteor being [Open source](https://github.com/meteor/meteor)
    * Easy to learn thanks to Meteor's simple and beautiful [API](http://docs.meteor.com/#api)
    * Hot code pushes

    ## [The More You Know](http://www.youtube.com/watch?v=v3rhQc666Sg0)
    * [Handlebars](http://handlebarsjs.com) is used for HTML templates
    * [MongoDB](http://mongodb.org) is currently used as the database behind Meteor apps. Other database types may be supported in the future.
    * [Atmosphere](https://atmosphere.meteor.com) is a list of additional packages which can installed with [Meteorite](http://oortcloud.github.io/meteorite/). [More info](https://atmosphere.meteor.com/wtf/app).
    * Note: Meteor 1.0 fully support Atmosphere
    * [Structuring your application](http://docs.meteor.com/#structuringyourapp)
    * `$ meteor create app-name` uses a skeleton to create a folder named `app-name` and three files, `app-name.html`, `app-name.css`, and `app-name.js`.
    * Note: You can update the default skel structure here: `~/.meteor/tools/latest/tools/skel/`
    * Meteor automatically finds all HTML templates, JavaScript, and CSS in an application and handles processing these
    * `main.*` files are loaded last at each folder level. Example: `client/main.js` will load after `client/file1.js` and `client/file2.js`.
    * Files which don't exist in `app-name/client`, app-name/server`, and `app-name/tests` are loaded on the client and server. You can use [isClient](http://docs.meteor.com/#meteor_isclient) and [isServer](http://docs.meteor.com/#meteor_isserver) to separate code to run on only client or server. here is a better way to organize server and client code:
    * Files in `app-name/client` are only loaded on the client
    * Files in `app-name/server` are only loaded on the server
    * Files in the `app-name/private` directory are for static server assets. See [Assets](http://docs.meteor.com/#assets).
    * Files in the `app-name/lib` directory are loaded first
    * Files in subdirectories are loaded before files in parent directories
    * Files are loaded alphabetically by filename in each directory
    * `app-name/public` is the place to store assets such as common images, `favicon.ico`, and `robots.txt`
    * `app-name/client/compatibility` is a place to place JavaScript libraries and are executed prior to other client-side JavaScript files
    * `$ meteor deploy myapp.meteor.com` will deploy your app on meteor.com's web infrastructure easily
    * Packages `autopublish` and `insecure` are included in new Meteor apps by default to ease development. You will probably want to remove these and provide your own functions to handle subscriptions and security before deploying your application in production.
    * Want to expose your app's data as an API? See [Collection API](https://github.com/crazytoad/meteor-collectionapi)
    * [Deployment options](http://docs.meteor.com/#deploying)
    * Meteor comes with a number of helpful [packages](http://docs.meteor.com/#packages) to help make development faster. Try `$ meteor list`
    * [accounts-ui](http://docs.meteor.com/#accountsui) is worth a look

    ## Demos
    ### Installing Meteor
    * `$ curl https://install.meteor.com | sh`
    * You can use a VM (like at [Digital Ocean](http://digitalocean.com) or [Nitrous.io](http://nitrous.io/) for remote development. See [this blog article](http://www.discovermeteor.com/2013/10/04/meteor-nitrous/) for details on developing Meteor apps on Nitrous.io. [This blog article](http://mark.shropshires.net/blog/developing-meteorjs-apps-ipad) discusses Developing Meteor apps on an iPad with Nitrous.io.

    ### Installing Meteorite
    * `$ npm install -g meteorite`
    * You can install npm with [Homebrew](http://brew.sh) ` $ brew install npm ` if you don't already have it installed.

    ### Creating an App
    * `$ meteor create my-app`

    ### Explore Meteor and Meteorite Usage
    * `$ meteor help`
    * `$ meteor help command`
    * `$ mrt add package`
    * `$ mrt install package`
    * `$ mrt update package`
    * `$ meteor run`
    * `$ meteor add`
    * `$ meteor remove`
    * `$ meteor list`
    * `$ meteor logs`
    * `$ meteor mongo`
    * `$ meteor reset`
    * `$ meteor bundle`
    * `$ meteor bundle`
    * `$ meteor update`

    ### Explore a Sample Meteor Application

    ## Resources
    * [meteor.com](https://www.meteor.com)
    * [Official documentation](http://docs.meteor.com)
    * [Meteor API](http://docs.meteor.com/#api)
    * [Unofficial meteor FAQ](https://github.com/oortcloud/unofficial-meteor-faq)
    * [Example code](https://www.meteor.com/examples/leaderboard)
    * [meteor.com Blog](https://www.meteor.com/blog/)
    * [@meteorjs](http://twitter.com/meteorjs)
    * [Stack Overflow](http://stackoverflow.com/questions/tagged/meteor)
    * Mailing Lists
    * [General questions](http://groups.google.com/group/meteor-talk )
    * [Meteor core development](http://groups.google.com/group/meteor-core)
    * IRC
    * #meteor on irc.freenode.net
    * Screencasts/Presentations
    * [Screencast 1 on meteor.com](https://www.meteor.com/screencast)
    * [Screencast 2 on meteor.com](https://www.meteor.com/authcast)
    * [Meteor.js with Matt Debergalis](https://www.youtube.com/watch?v=vpp-8gkPWVE)
    * [RealtimeConf - "Meteor" by Matt DeBergalis](https://vimeo.com/52656246) -
    * [meteor.js by Roger Zurawicki](http://www.youtube.com/watch?v=5URzpBPQ864) - Comp Sci class video. May want to skip over parts as it gets kind of long as he is instructing new students.
    * [TakeOff 2013 - Meteor.js - Geoff Schmidt](http://www.youtube.com/watch?v=4mtLCjhxKAs)
    * [Introduction to Node.js with Ryan Dahl](http://www.youtube.com/watch?v=jo_B4LTHi3I&list=PLjUtRCzOPs5PnSdUJMsDYFXKxgk-gGxao) - Node.js video, but worth the watch since Ryan is the creator of Node.js.d
    * Books
    * [Discover Meteor](http://www.discovermeteor.com) - The best out there. The authors are releasing updates. I recommend the Premium version since it includes some additional chapters, screencasts, podcasts, etc.
    * [Meteor JavaScript Framework Starter](http://www.packtpub.com/meteor-javascript-framework-starter/book) - Quick read. Older, so some items might be a little out of date, but still worth the read.
    * [Getting Started with Meteor.js JavaScript Framework](http://www.packtpub.com/getting-started-with-meteor-javascript-framework/book) - Okay read. Worth checking out for the money.