Last active
December 11, 2015 06:58
-
-
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.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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