searching for the framework of my dreams in node.js ecosystem by mykyta semenistyi

39
Searching for the framework of my dreams in node.js ecosystem Mykyta Semenistyi

Upload: binary-studio

Post on 16-Jul-2015

201 views

Category:

Software


1 download

TRANSCRIPT

Searching for the framework of my dreams in node.js ecosystem

Mykyta Semenistyi

Mykyta Semenistyi

Donetsk National Technical Uni

@msemenistyi

Chief Technology Visioner@BinaryStudio

http://www.binary-studio.com/

Trying everything existing

https://github.com/B1naryStudio/nodejs-taskmanager-examples

● Minimal and flexible

● Myriad of HTTP utility methods

● Thin layer of fundamental features

● Sinatra inspired routing

● Largest community

TJ

● Not as minimal

● Configuration-centric

● Trusted by many big companies

Eran Hammer

● MVC architecture

● Connects to any database

● Renders with any template engine

● Adheres to REST principles

● Built on Express

Jared Hansson

For me it’s not about MVC

Mike McNeil

● Rails inspired

● Powerful ORM

● Websocket support

● Express for HTTP

Routing

Logging

https://github.com/expressjs/morgan

Validation

https://github.com/ctavan/express-validator

ORM

CLI

Authentication

http://passportjs.org/

Authorization

https://github.com/optimalbits/node_acl

Configuration

https://github.com/boo1ean/cnfg

+

● HTTP handling

● Lots of plugins

-

● Not structured

● Implements too little

True

+

● Implements more than Express

-

● Not structured

● Implements not enough

● Configurational

False

-

● v0.11

● Mimics Rails

+

● Implements a lot

● Gives structure to follow

True

izs, CEO @ npm, Inc

Modular applications

Problems to be solved by frameworks

● Security issues

How Homakov hacked Github

Helmet Kraken/Lusca

Problems to be solved by frameworks

● Avoid common mistakes

https://github.com/tj/node-blocked

Problems to be solved by frameworks

● Powerful Tooling

EF7 migratitons

capo - event browser

https://github.com/msemenistyi/capo

StrongLoop Api Explorer

https://strongloop.com/

What’s wrong with atomic modules

● You have to find the right ones

● You have to compose them again and again

● The API isn’t consistent

● There is a gap between modules after integration

● We need more combined opinionated solutions

Do I like node modules? I love themnot thisthis

kobzarjs

First impression

Features planned

● ORM / ODM● DAL● Configuration● Routing / Controllers● Logging● Validation● CLI for generators / migrations● Authentication, Authorization● WebSocket support

External Features

● Mail● Job Queue● SPDY support / RPC● Localization● FS handler● Cache handler

How I want it to be done

● Convention over ConfigurationShould be structured right at once, no XMLs to be lost within

How I want it to be done

● ModularEvery component may be used in the wild or exchanged to custom one

How I want it to be done

● With love to detailsCreate error page, handle HTTP status code automathically, etc.

https://github.com/B1naryStudio/express-api-response

Error page

How I want it to be done

● With love to JSLeverage native possibilities rather that trying to mimic other langs

Modules to depend on

Lo-dash Utility

BlueBirdPromises

InquirerCLI

and many more

Everyone is invited

https://github.com/kobzarjs/kobzar