meteorjs & reaction commerce
DESCRIPTION
Slides from @aaronsjudd's talk at the LA Meteor meetup on 3/27. Aaron discussed MeteorJS and "Why YAECP?" (Yet Another Ecommerce Platform). He introduced Reaction Commerce, @GetReaction, which is a new commerce experience built on top of Meteor.TRANSCRIPT
![Page 1: MeteorJS & Reaction Commerce](https://reader034.vdocuments.mx/reader034/viewer/2022051211/554f8e2eb4c9052a518b5261/html5/thumbnails/1.jpg)
![Page 2: MeteorJS & Reaction Commerce](https://reader034.vdocuments.mx/reader034/viewer/2022051211/554f8e2eb4c9052a518b5261/html5/thumbnails/2.jpg)
Why YAECP
![Page 3: MeteorJS & Reaction Commerce](https://reader034.vdocuments.mx/reader034/viewer/2022051211/554f8e2eb4c9052a518b5261/html5/thumbnails/3.jpg)
Administration Woes
● E-commerce is not simple
![Page 4: MeteorJS & Reaction Commerce](https://reader034.vdocuments.mx/reader034/viewer/2022051211/554f8e2eb4c9052a518b5261/html5/thumbnails/4.jpg)
Administration Woes
● E-commerce is not simple ● Management UI is rarely intuitive
![Page 5: MeteorJS & Reaction Commerce](https://reader034.vdocuments.mx/reader034/viewer/2022051211/554f8e2eb4c9052a518b5261/html5/thumbnails/5.jpg)
Administration Woes
● E-commerce is not simple ● Management UI is rarely intuitive● Data visualization tools are not intuitive ● Reporting oriented, but not goal oriented ● Actionable reporting is not reported with
actions● Conversion goals are an afterthought
![Page 6: MeteorJS & Reaction Commerce](https://reader034.vdocuments.mx/reader034/viewer/2022051211/554f8e2eb4c9052a518b5261/html5/thumbnails/6.jpg)
Performance Woes
● “101 ways to speed up your…”
![Page 7: MeteorJS & Reaction Commerce](https://reader034.vdocuments.mx/reader034/viewer/2022051211/554f8e2eb4c9052a518b5261/html5/thumbnails/7.jpg)
Performance Woes
● “101 ways to speed up your…”● "APC, Memcached, Redis, extensions, etc”● 3 second response is considered excellent● Hosting platform tweaks, and more tweaks● Endless code hacks to get performance
![Page 8: MeteorJS & Reaction Commerce](https://reader034.vdocuments.mx/reader034/viewer/2022051211/554f8e2eb4c9052a518b5261/html5/thumbnails/8.jpg)
Developer Woes● Separated skillsets for different layers of dev
![Page 9: MeteorJS & Reaction Commerce](https://reader034.vdocuments.mx/reader034/viewer/2022051211/554f8e2eb4c9052a518b5261/html5/thumbnails/9.jpg)
Developer Woes● Separated skillsets for different layers of dev● Aging technology - not fun!
![Page 10: MeteorJS & Reaction Commerce](https://reader034.vdocuments.mx/reader034/viewer/2022051211/554f8e2eb4c9052a518b5261/html5/thumbnails/10.jpg)
Developer Woes● Separated skillsets for different layers of dev● Aging technology - not fun!● Complex code - not that fun!
![Page 11: MeteorJS & Reaction Commerce](https://reader034.vdocuments.mx/reader034/viewer/2022051211/554f8e2eb4c9052a518b5261/html5/thumbnails/11.jpg)
Developer Woes● Separated skillsets for different layers of dev● Aging technology - not fun!● Complex code - not that fun!● Maintenance hell - really not fun.
![Page 12: MeteorJS & Reaction Commerce](https://reader034.vdocuments.mx/reader034/viewer/2022051211/554f8e2eb4c9052a518b5261/html5/thumbnails/12.jpg)
Not fun, not current,and not real time.
![Page 13: MeteorJS & Reaction Commerce](https://reader034.vdocuments.mx/reader034/viewer/2022051211/554f8e2eb4c9052a518b5261/html5/thumbnails/13.jpg)
Meteor● Realtime is default!
![Page 14: MeteorJS & Reaction Commerce](https://reader034.vdocuments.mx/reader034/viewer/2022051211/554f8e2eb4c9052a518b5261/html5/thumbnails/14.jpg)
Meteor● Realtime is default!● Event driven● Familiar approaches
○ Universal language (JS)○ Templating approach○ jQuery○ CSS (with LESS, or other preprocessors)
● Hot code deploy
![Page 15: MeteorJS & Reaction Commerce](https://reader034.vdocuments.mx/reader034/viewer/2022051211/554f8e2eb4c9052a518b5261/html5/thumbnails/15.jpg)
Working with Meteor
Meteor has very active community.Some essential community packages:● Iron-Router● Collections2
○ Simple-schema○ Autoform○ Collection-hooks
● Meteorite
![Page 16: MeteorJS & Reaction Commerce](https://reader034.vdocuments.mx/reader034/viewer/2022051211/554f8e2eb4c9052a518b5261/html5/thumbnails/16.jpg)
Meteor Security
● Put methods in /server directory (don’t mix)● Check + allow / deny / access control
○ Publish has access control checks○ Server methods must provide access control
● Meteor html encodes inputs● meteor add audit-argument-checks● meteor remove autopublish and insecure
![Page 17: MeteorJS & Reaction Commerce](https://reader034.vdocuments.mx/reader034/viewer/2022051211/554f8e2eb4c9052a518b5261/html5/thumbnails/17.jpg)
Performance - “All around, thinner, lighter, faster”
● Optimized for json / api, so less time spent manipulating data and strings
● Node is ~20x faster than RoR for handling string manipulation
● 2-5 times faster than RoR, Python in throughput● 3+ times faster than PHP+Apache● 1/2 the memory footprint of RoR● Meteor Blaze benchmarks close to React & Ember (or faster*)
![Page 18: MeteorJS & Reaction Commerce](https://reader034.vdocuments.mx/reader034/viewer/2022051211/554f8e2eb4c9052a518b5261/html5/thumbnails/18.jpg)
Meteor and Commerce
![Page 19: MeteorJS & Reaction Commerce](https://reader034.vdocuments.mx/reader034/viewer/2022051211/554f8e2eb4c9052a518b5261/html5/thumbnails/19.jpg)
Reaction Commerce● Keep use simple (as e-commerce can be)
○ Adding a product as simple as buying a product
● Keep the code simple○ Designers can develop, and developers can design○ Coffeescript, jQuery, BS3, LESS, D3, Meteor, Mongo
● Simply extensible○ Easy to customize to meet specific requirements quickly
● App gallery○ Easy to develop new functionality and share (and/or get rewarded)
![Page 20: MeteorJS & Reaction Commerce](https://reader034.vdocuments.mx/reader034/viewer/2022051211/554f8e2eb4c9052a518b5261/html5/thumbnails/20.jpg)
Marketing First
Realtime - actionable dataSocial - focus on social aspects#hashtag - as identifier: sharing, urls, monitorWidget Gallery - for real time data visualisation
![Page 21: MeteorJS & Reaction Commerce](https://reader034.vdocuments.mx/reader034/viewer/2022051211/554f8e2eb4c9052a518b5261/html5/thumbnails/21.jpg)
Demo
http://demo.reactioncommerce.com
![Page 22: MeteorJS & Reaction Commerce](https://reader034.vdocuments.mx/reader034/viewer/2022051211/554f8e2eb4c9052a518b5261/html5/thumbnails/22.jpg)
How is it really? It’s fun.● So much cool stuff, it’s hard to stay focused● Meteor is updating frequently● Packages update frequently● Packages are of unknown security / testing / quality● Docs / code examples are frequently only partially
correct● Atmosphere has a lot of crappy, unmaintained code
snippets - new atmosphere aims to help.● Rapid prototyping, little slow down with complexity
![Page 23: MeteorJS & Reaction Commerce](https://reader034.vdocuments.mx/reader034/viewer/2022051211/554f8e2eb4c9052a518b5261/html5/thumbnails/23.jpg)
Learn more
https://github.com/ongoworks/reactionhttp://ongoworks.github.io/reaction/https://trello.com/b/ffwTH3tc/reaction-commercehttps://www.meteor.com/