MeteorJS & Reaction Commerce

Preview:

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.

Citation preview

Why YAECP

Administration Woes

● E-commerce is not simple

Administration Woes

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

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

Performance Woes

● “101 ways to speed up your…”

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

Developer Woes● Separated skillsets for different layers of dev

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

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

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

Not fun, not current,and not real time.

Meteor● Realtime is default!

Meteor● Realtime is default!● Event driven● Familiar approaches

○ Universal language (JS)○ Templating approach○ jQuery○ CSS (with LESS, or other preprocessors)

● Hot code deploy

Working with Meteor

Meteor has very active community.Some essential community packages:● Iron-Router● Collections2

○ Simple-schema○ Autoform○ Collection-hooks

● Meteorite

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

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*)

Meteor and 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)

Marketing First

Realtime - actionable dataSocial - focus on social aspects#hashtag - as identifier: sharing, urls, monitorWidget Gallery - for real time data visualisation

Demo

http://demo.reactioncommerce.com

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

Recommended