Beyond Modules–Using Node To Build Actual Products

whoami

@joemccann

joemccann on Github

Partner at The Node Firm

I Blog Here on subPrint.com

Mobile Architect @ Bazaarvoice

Created Photopi.pe and Dillinger.io

Open Source Advocate and Contributor

How Many of You Have Written Modules?


How Many Modules Have Been Written?

As of literally right now there are




NPM modules available.

MOAR MODULES!!!1!!1!

Funny awesome pic

Number of Modules I've Written




0

triple face palm

But, I've Built Some Products (Apps)

Gunnar

Dillinger

PhotoPipe

So Joe let me get this straight. You can build products,
but can't write a module?

Nah bro, I just do what feels good.

The reality is, many of us are good at writing libraries, modules and plugins.

And some of us are good at taking those modules, libraries and plugins and assembling them.

So My Challenge to the Module Authors Is...

Go Assemble Your Voltron!

Or simply, build a product.

How Do I Get Started?

The Philosophy

Be one with your neckbeard.

Adopt the UNIX philosophy of simple, discrete modules that do one thing and one thing well.

Not only should your modules be discrete, but your application architecture should be modular as well.

Case Study: Dillinger

Dillinger 1.0
worked fine

But, it was not modular.

Adding new features or functionality was painful.

Difficult for devs to contribute due to dependencies.

This was an architectural flaw. I called myself out and decided it had to be fixed.

Dillinger 2.0 is modular, pluggable and way easier to contribute to.

See much more here:


github.com/joemccann/dillinger

What About New Features
for the Product?!

Tools

But Why?

Building a product, even as uselessware, enhances your skills as a developer and will actually improve the way you write modules.

Final Thought

Before writing your next module, consider how that module will be used in an actual product.

If you're unsure, then build something with it to find out!

The consumers of your module will thank you.