Skip to content

Instantly share code, notes, and snippets.

@milesmatthias
Last active December 11, 2015 06:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save milesmatthias/4562625 to your computer and use it in GitHub Desktop.
Save milesmatthias/4562625 to your computer and use it in GitHub Desktop.
This is the outline / notes I took while listening to the Meteor introductory screencast. I wanted to be able to reference their main selling points later. Maybe this will save you some time too.
http://www.meteor.com/screencast
1. Download Meteor
2. Create new project
3. Create HTML file
4. Run Meteor / go to localhost in browser
5. Live Update Demo (changed HTML file)
6. Pasted in simple app (made it clear that this app uses handlebars and mongodb, but meteor lets you use whatever you want.
The app uses Templates and Collections)
7. Shows Database API in Browser Javascript Console (which also shows live update of data on the screen without a refresh)
8. Opens up two browser windows to show that database API calls on the client are synced to the server and immediately
pushed to all clients without anyone having to reload the page.
9. Adds some Javascript to allow the user to click on an item in the list and change its CSS class (to show the item
has been selected). This user selection is not synced to all clients.
10. Adds a like button for the user to "like" the selected item in the list. "It's 5 lines of code" The likes are synced
to both browser windows without refreshing
11. They demonstrate using a mongo command in the browser Javascript console to show that Meteor doesn't do callbacks.
The mongo command is executed synchronously.
12. They run a couple of mongo commands in the browser Javascript console to demonstrate how quickly both browser
windows update automatically without reloading the page.
13. They demonstrate that Meteor allows the UI to be directly manipulated based on a database call. The items in the
list are sorted because of the Mongo find query and Meteor automatically updates the Template when the results of
the Mongo query change. "All of the pieces of Meteor work together." The entire list is not redrawn - Meteor is
smart enough to find the DOM node that needs to be moved and just moves it.
14. "Hot Code Pushes", when you change logic Javscript code, Meteor injects the new code directly without disturbing
the users or requiring a refresh.
15. If you give a Template a function, Meteor will recognize what data that function depends on, so that when that data
changes, and the output of your function changes, the client's UI will automatically update, without any code from
the developer or the user having to refresh the page. "You don't need to annotate your app in any way or use any
special getter functions. It just works."
16. They demonstrate how to deploy their sample app to the world.
17. With their app on the internet, they demonstrate Latency Compensation. The internet, unlike your local machine,
has latency to deal with. Meteor automatically updates all of the clients while also updating the server, so that none
of the clients (including your own) have to wait for a database operation. Later on, if the client and server
disagree, the server decides what to use and the client is updated.
18. They demonstrate how to pack up your app to deploy on any Node.JS server you like. The only requirement for node is
the fibers package. The bundle includes a README file with instructions on how to deploy on any NodeJS server.
19. They demonstrate how Meteor is really "an ecosystem of packages" that allows you to use any packages you want.
Coffeescript? Less? It's all good. They call them "smart packages" because they interact with Meteor to take
advantage of all of Meteor's features. Meteor connects all of the packages you choose to use. Use anything you want!
20. All of the packages are optional, and if you choose to not use one of Meteor's features and opt for using a different
tool, it will work just fine and will still allow you to take advantage of the other features of Meteor.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment