Node Interactive : 7 years, 7 design patterns, will node continue to outshine

Post on 15-Apr-2017

615 views 0 download

Transcript of Node Interactive : 7 years, 7 design patterns, will node continue to outshine

7 years, 7 designs…

Will Node continue to outshine?Shubhra Kar | Joyent, a Samsung company

About the speaker

{"name": "Shubhra Kar","languages" : ["c/c++","java","javascript","node.js", "golang"],"roles" : ["developer", "architect", "product manager", "evangelist"],"jobs" : ["TATA", "Infosys", "Wily", "StrongLoop", "InfluxDB", "Joyent"],"interests" : ["ea", "api", "mobile", ”containers", "BigData", "IoT", "AI"]"twitter" : ”@shubhrakar”"trait" : ”observer”}

The Interface roadmap

Serv

eSP

ARe

al-ti

me

Conn

ect

Mob

ileµs

ervic

esIo

T

Lear

nDe

ep AI

<html5> {json} [wav, mp3]

#1: no reload

SPAsKey components to keep in mind• Chunking• Controllers• Templating• Routing• Real-time communication• Local storage

Helpful…but not neededJS frameworks: AngularJS, Knockout.js, Backbone.js, Ember.js, Meteor.js, ExtJS and React

Node frameworks: DIY,Sails.js, Meteor.js, Derby, koa, etc

RTC: HTML5 WebSockets, Socket.io, SignalR

Courtesy: Trello

#2: zero latency

Real-time AppsKey components• Angular LiveSets• Loopback• HTML5 EventSource web API• ChangeStream using EventSource protocol

http://bit.ly/2gDpShO

Courtesy: StrongLoop

Real-time @consumer scale

Courtesy: Linkedin

Real-time @consumer scale

Courtesy: Linkedin

NodeTrivia

Guess who ?Tweet @shubhrakar for a shot at the raffle

#3: the new #1 interface

Mobile APIs

Mobile Services (Push, Geo, Offline)Developer SDKs

JSclient

JSServer

Remoting

JSclient

Full stack mobile frameworks

AngularBootstrap

Ionic

CordovaLoopBackAPI ServerNode.js

Gartner predicts by 2018 more than 50% of the apps deployed will be Hybrid apps.

#4: shrink and ship

Microservices (by Martin Flower)

Microservices (Polyglots)• using Netflix OSS and Spring Cloud

Microservices (Node purist)

Autopilot Pattern (http://autopilotpattern.io)

Mandatory components• Container Pilot• Consul• Triton• Docker

Choice components• Seneca• Hapi.js• InfluxDB• SmartThings

Sensors

Autopilot Pattern (http://autopilotpattern.io)

Mandatory components• Container Pilot• Consul• Triton• Docker

Choice components• Nginx• Wordpress• Memcached• MySQL

Polyglot w Container Pilot

The natural affinity

Minimalistic

Immutable

#5: re-connect

IoT

Smart Wearables, Utilities, Agriculture (Embedded)

Smart Offices, Homes, Vehicles, Logistics (OEM)

Industrial Automation

Edge Gateway

ProtocolBridge

BluetoothWifi

Satellite

Control

Operations + Embedded Dashboards

Learning & Analytics

API Gateway

Data & Context

Data & Context

Auth

Real-time API Gateways

Courtesy: StrongLoop

IoT (Recent JS advances)• JerryScript (https://github.com/jerryscript-project/

jerryscript)• Super lightweight JavaScript engine• Can run on micro-controller devices with <64KB RAM and <200KB

Flash• On-Device compilation, execution and access to peripherals• Written in C99 for maximum portability

• IoT.js (https://github.com/Samsung/iotjs)• JavaScript Platform for the IoT• Built on JerryScript and libuv• Linux, NuttX, Raspberry pi, Artik, OSX

#6 & #7: learn & converse

Deep Learning and AI

Deep Learning and AIChatbots are taking over !

• Training your bots is the key• Node is the #1 choice for messaging and APIs • JSON is the #1 data construct• GoLang and Java are fighting it out for Deep Learning.

I think Go will win !

Meet your new BFFs !