Presenter:
@othiym23
github.com/othiym23
- MongoDB
- Express
- Angular.js
- Node.js
Let it go.
- low coupling
- high cohesion
- is this social media?
- is this a storefront?
- is this... is this a CMS?
- more all the time
- available for almost every use case
- pretty easy to understand
- (mostly) on Github
- (mostly) freely usable
- familiar: faster to build things your already know
- comforting: already integrated
Problems
- opaque: full of implicit assumptions and requirements
- complicated: hard to master, easy to break
- monolithic
"Node says: build only what you need."
"Node is NOT one size fits all."
"[Node] It's not a swiss army chainsaw."
- streaming
- JSON APIs
- multiplexing
- soft real-time
- proxying
- .. you know, fast web servers
- dat: scraping & ETL
- dinosaur taming: Oracle & XML
- ~50K modules
- self-contained: code over configuration
- modular: inversion of control & direct dependency injection
- simple: one small thing in one short file
- AND SO: easy for new people to pick up, easy to maintain
- Redis
- MySQL (or Postgres)
- Couch
- LevelDB
- hapi
- plugins instead of middleware
- configuration-centric
- optimized for large teams
- grew out of express
- Restify
- API "compatible" with Express
- meant for building RESTful APIs
- optimized for JSON
- instrumented for operational monitoring (via DTrace)
- Sails
- actually built on top of Express
- feels like Rails (including scaffolding)
- real-time
- stack-like, but still a create of parts
- browserify
- puts node modules in your browser
- puts node ideology in your browser
- everything's on npm
- flexible packaging pipeline
- good for the Node-first developers
- component
- similar to browserify
- built on GitHub
- not so much with the asset pipeline
- more focused on the client-side development than browserify
- bower / Yeoman
- integrated, browser focused workflow
- Not every problem is well solved by Node.
"Choose the tool that will help you solve the problems at hand."
- PHP can scale for simple pages.
- Java (Scala, etc.) can do big workflows and XML data better.
- If you're on Window's, it's not always better to switch...