meteorjs & reaction commerce

23

Upload: ongo-works

Post on 10-May-2015

1.943 views

Category:

Technology


2 download

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
Page 2: MeteorJS & Reaction Commerce

Why YAECP

Page 3: MeteorJS & Reaction Commerce

Administration Woes

● E-commerce is not simple

Page 4: MeteorJS & Reaction Commerce

Administration Woes

● E-commerce is not simple ● Management UI is rarely intuitive

Page 5: MeteorJS & Reaction Commerce

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

Performance Woes

● “101 ways to speed up your…”

Page 7: MeteorJS & Reaction Commerce

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

Developer Woes● Separated skillsets for different layers of dev

Page 9: MeteorJS & Reaction Commerce

Developer Woes● Separated skillsets for different layers of dev● Aging technology - not fun!

Page 10: MeteorJS & Reaction Commerce

Developer Woes● Separated skillsets for different layers of dev● Aging technology - not fun!● Complex code - not that fun!

Page 11: MeteorJS & Reaction Commerce

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

Not fun, not current,and not real time.

Page 13: MeteorJS & Reaction Commerce

Meteor● Realtime is default!

Page 14: MeteorJS & Reaction Commerce

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

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

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

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

Meteor and Commerce

Page 19: MeteorJS & Reaction Commerce

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

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

Demo

http://demo.reactioncommerce.com

Page 22: MeteorJS & Reaction Commerce

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