Meteor

1,551 views

Published on

Meteor.JS - a Full Stack JavaScript Web Development Framework

Published in: Technology, Design
  • Be the first to comment

  • Be the first to like this

Meteor

  1. 1. MeteorNext Generation Web Development
  2. 2. StartupsBig CorporationsOnce Upon A Time
  3. 3. StartupsSmall and nimble teamInfinite creative energy, resourcefulness.Extremely adaptiveAbility to focus and make a small niche ofcustomers become extremely satisfiedSocial networks, apps store, cloudcomputing help startups to reach largenumber of customers
  4. 4. Big CorporationsThousands of employees.Huge budget for sales & marketing,R&D.Efficient process after years of doingbusiness in place.Recognized brand with loyal customers.Established distribution channels withnetwork of partners and allies.
  5. 5. Most Startups fail !1st year2nd year3rd year4th year
  6. 6. But Some Hit a HOME RUN !vsvs
  7. 7. 7Acting like a Lean Startup to Increase Success Rate!Why build MVP ?
  8. 8. Turn an idea into MVPCrafty product no one wants to use.Products that only better fundedcompanies can buildStartup Product
  9. 9. Use MVP to take the beacheadInnovatorsEarly MajorityEarly AdoptersLate MajorityLaggardsBeachead
  10. 10. Feedback LoopFeedback LoopLean UXLean AnalyticsAgile DevelopmentProduct Instinct & Intuition
  11. 11. MeteorNext Generation Web Development
  12. 12. What is Meteor?Why Meteor is a great tool for start-ups?
  13. 13. So you want to build a (rich) web app?
  14. 14. What do you use?
  15. 15. JSFrameworkTemplateLibraryServer &LanguageDB
  16. 16. Realtime?
  17. 17. Open Source Platform for building web appsFull Reactive stack:Client <--> Server <--> DBWhat is Meteor?
  18. 18. Data on the Wire.One Language.Database Everywhere.Latency Compensation.Full Stack Reactivity.Embrace the Ecosystem.Simple and Clean APIs
  19. 19. CollectionsSessionTemplatesHelpersEventsPub/Sub
  20. 20. Messages = new Meteor.Collection("messages");Messages.insert({text: "Hello, world!"});msg = Messages.find({text: “help”).fetch();Collections:data store on server and clientdata store on server and client
  21. 21. Session.set("Page.theme", "midnight");Session.get("Page.theme");Session:global key/value store + reactivityglobal key/value store + reactivity
  22. 22. <template name="mainpage"><div class="{{theme}}">...</div></template>Templates:html string, instance, reactivehtml string, instance, reactive
  23. 23. <template name="mainpage"><div class="{{theme}}">...</div></template>Template.mainpage.theme = function(){Session.get("Page.theme");}Helpers:data, iterators, logic, etc.data, iterators, logic, etc.
  24. 24. Template.inviteDialog.events({click .themebutton: function (e, t) {Session.set("Page.theme", e.currentTarget.id);}});Events:event handlers, template specificevent handlers, template specific
  25. 25. Pub/Sub:set of recordsserver publishesclient subscribesclient subscribesclient subscribesclient subscribes
  26. 26. PerformanceSecuritySingle Page AppsCommunityWhy is meteor good for startups?
  27. 27. @eventedmindeventedmind.com
  28. 28. twitter: @eventedmindemail: mather@eventedmind.comwww.eventedmind.comMeteor• Event Handling vs. Reactivity• Reactive Data Sources• Templates & Handlebars• Reactive Rendering
  29. 29. twitter: @eventedmindemail: mather@eventedmind.comwww.eventedmind.comeventedmind.com@eventedmind

×