SlideShare a Scribd company logo
Node.JS
The Swiss Army Knife of Web Development:
API Shim
Summary
● Frontend Development
– In the Past
– Today
● Node.js as an API shim
– The IE7 problem it solves
– The frontend-backend coupling problem
– Solution
● Node.js is everywhere
– The new Perl
– Swiss army knife of web development
– One step away from deployment
In The Past
● Java for minifying CSS files
● Ruby for compiling SASS into CSS files
● Tightly coupled backend and frontend
– Build process
– Deployment process
– API integration
Frontend Today
● Node.js is used for frontend builds:
– for every step of the build process
– for dependency management
– for compilation, pre-processing
– for minifying and even for macros
The Situation
● AngularJS Web App
● Frontend build process all using Node.js
● Backend REST API written in Java
● Migrated from Java Server Faces to decouple
frontend from backend
● Clients are big banks, financial firms
The IE problem
● Internet Explorer 7 has a small limit on HTTP
requests
● IE7: 2 max simultaneous
● Our client was using IE7
Frontend/Backend Decoupling
● Relying on backend API changes when there's
a backlog of other work.
● Backend Java responsibilities:
– Crawl for data from other databases
– Index the data
– Search the data
– Generate reports
● Frontend release schedule tied to backend
releases
Node.js as an API Shim
● Solution was Node.js api server shim
● Bundled 4+ requests data into one request
● Using expressjs (already used for local
development)
● Only required a frontend web app
deployment :-)
API Shims To Sneak Node In
● Make APIs cleaner than they usually would be
without modifying your frontend code
● Re-use API methods to reduce the # of
requests
● Prototype new functionality quickly and then
backport to the backend
Advantages of Node.js
● Same language as the web browser scripting
language
● Asynchronous by default
● Process-oriented vs thread-oriented
● Fast compared to other dynamic languages
Node.js is the new Perl
● Text processing was a big part of web
development, especially for system
administration
● Perl was fast, flexible and supported crazy
regular expressions
● Web dev and devops requires inter-operation
with speed and scalability.
● Node.js is fast, flexible and supports crazy
asynchronous expressions
Most important fact about Node.js
● You do not need permission to use it
● Chances are it's already used for building and
deploying your frontend web app
● It's already installed, you're already
downloading packages for it
● You can write small command line scripts
● JSON is the language of APIs
Thanks!
● Check out my blogs
– http://neverfriday.com/
– http://sourcecontribute.com/
● Twitter: @src_contribute

More Related Content

What's hot (20)

PPTX
Angular4 kickstart
Foyzul Karim
 
PDF
Laravel workshop
Jasper Frumau
 
PPTX
The next step from Microsoft - Vnext (Srdjan Poznic)
Geekstone
 
PDF
LAMP is so yesterday, MEAN is so tomorrow! :)
Sascha Sambale
 
PDF
Workflow driven development
DmitryDemyankov
 
PDF
Surviving a Plane Crash, a NU.nl case-study
peter_ibuildings
 
PDF
PHP is the King, nodejs the prince and python the fool
Alessandro Cinelli (cirpo)
 
PDF
IBM Domino Modernizing apps with Angularjs
Dominopoint - Italian Lotus User Group
 
PPTX
Express yourself
Yaniv Rodenski
 
PDF
WebCamp 2016: Front-end. Виталий Бобров: JavaScript для мобильной разработки.
WebCamp
 
PDF
From PHP monolith to polyglot microservices
Kazki Matsumoto
 
PPTX
.Net Core - not your daddy's dotnet
Rick van den Bosch
 
PDF
Grails
Aditya Gaur
 
PDF
A look ahead at RAP (ESE 2010)
Ralf Sternberg
 
PDF
[DEISER Day Conferences] "Development Lifecycle Using Atlassian Tools" Juan G...
Deiser
 
PPT
Php Zen with Zend
nrporter
 
PDF
Synchronization with CouchDB and PouchDB
EU Edge
 
PDF
C# 9 - What's the cool stuff? - BASTA! Spring 2021
Christian Nagel
 
PPTX
ASP.NET MVC 4 Overview
Gunnar Peipman
 
PPTX
UNC Chapel Hill 2014 CTC Retreat - Carolina Cloudapps / RedHat OpenShift Ente...
Jonathan Pletzke
 
Angular4 kickstart
Foyzul Karim
 
Laravel workshop
Jasper Frumau
 
The next step from Microsoft - Vnext (Srdjan Poznic)
Geekstone
 
LAMP is so yesterday, MEAN is so tomorrow! :)
Sascha Sambale
 
Workflow driven development
DmitryDemyankov
 
Surviving a Plane Crash, a NU.nl case-study
peter_ibuildings
 
PHP is the King, nodejs the prince and python the fool
Alessandro Cinelli (cirpo)
 
IBM Domino Modernizing apps with Angularjs
Dominopoint - Italian Lotus User Group
 
Express yourself
Yaniv Rodenski
 
WebCamp 2016: Front-end. Виталий Бобров: JavaScript для мобильной разработки.
WebCamp
 
From PHP monolith to polyglot microservices
Kazki Matsumoto
 
.Net Core - not your daddy's dotnet
Rick van den Bosch
 
Grails
Aditya Gaur
 
A look ahead at RAP (ESE 2010)
Ralf Sternberg
 
[DEISER Day Conferences] "Development Lifecycle Using Atlassian Tools" Juan G...
Deiser
 
Php Zen with Zend
nrporter
 
Synchronization with CouchDB and PouchDB
EU Edge
 
C# 9 - What's the cool stuff? - BASTA! Spring 2021
Christian Nagel
 
ASP.NET MVC 4 Overview
Gunnar Peipman
 
UNC Chapel Hill 2014 CTC Retreat - Carolina Cloudapps / RedHat OpenShift Ente...
Jonathan Pletzke
 

Similar to Node as an API shim (20)

DOCX
AFFORDABLE IT Software Development India
Affordable Cross-Platform App Developers
 
PDF
JavaScript_ The Backbone of Modern Software and Web Development.pdf
Delimp Technology
 
PPTX
Node js installation steps.pptx slide share ppts
HemaSenthil5
 
PDF
An introduction to Node.js
Kasey McCurdy
 
PPTX
Node.js & Express.js Unleashed
Elewayte
 
PDF
All You Need to Know About Using Node.pdf
iDataScientists
 
PPT
Node js
Chirag Parmar
 
PDF
Node.js Web Development SEO Expert Bangladesh LTD.pdf
Tasnim Jahan
 
PDF
Node js (runtime environment + js library) platform
Sreenivas Kappala
 
PDF
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdf
lubnayasminsebl
 
PPTX
mearn-stack-new_ccvbhbhvgvgcdszsxdxfcf.pptx
aravym456
 
PPTX
Java script framework
Debajani Mohanty
 
PPTX
module for backend full stack applications 1.pptx
hemalathas752360
 
PDF
Node.js an Exectutive View
Manuel Eusebio de Paz Carmona
 
PDF
Node.js Web Development .pdf
Abanti Aazmin
 
PDF
What is Node.js_ Where, When & How To Use It.pdf
Smith Daniel
 
PPTX
After the LAMP, it's time to get MEAN
Jeff Fox
 
PDF
Mean Stack - An Overview
Naveen Pete
 
PDF
Node.js use cases a comprehensive guide on how flagship industries can leve...
Katy Slemon
 
PDF
Node.js Web Development: Powering the Future of Web Applications
company
 
AFFORDABLE IT Software Development India
Affordable Cross-Platform App Developers
 
JavaScript_ The Backbone of Modern Software and Web Development.pdf
Delimp Technology
 
Node js installation steps.pptx slide share ppts
HemaSenthil5
 
An introduction to Node.js
Kasey McCurdy
 
Node.js & Express.js Unleashed
Elewayte
 
All You Need to Know About Using Node.pdf
iDataScientists
 
Node js
Chirag Parmar
 
Node.js Web Development SEO Expert Bangladesh LTD.pdf
Tasnim Jahan
 
Node js (runtime environment + js library) platform
Sreenivas Kappala
 
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdf
lubnayasminsebl
 
mearn-stack-new_ccvbhbhvgvgcdszsxdxfcf.pptx
aravym456
 
Java script framework
Debajani Mohanty
 
module for backend full stack applications 1.pptx
hemalathas752360
 
Node.js an Exectutive View
Manuel Eusebio de Paz Carmona
 
Node.js Web Development .pdf
Abanti Aazmin
 
What is Node.js_ Where, When & How To Use It.pdf
Smith Daniel
 
After the LAMP, it's time to get MEAN
Jeff Fox
 
Mean Stack - An Overview
Naveen Pete
 
Node.js use cases a comprehensive guide on how flagship industries can leve...
Katy Slemon
 
Node.js Web Development: Powering the Future of Web Applications
company
 
Ad

More from TorontoNodeJS (7)

PDF
Node.js API pitfalls
TorontoNodeJS
 
PDF
Safely Build, Publish & Maintain ES2015, ES2016 Packages Today
TorontoNodeJS
 
PDF
nlp_compromise
TorontoNodeJS
 
PDF
KoNote
TorontoNodeJS
 
PDF
Understanding the Single Thread Event Loop
TorontoNodeJS
 
PDF
Avoiding callback hell with promises
TorontoNodeJS
 
PDF
Building your own slack bot on the AWS stack
TorontoNodeJS
 
Node.js API pitfalls
TorontoNodeJS
 
Safely Build, Publish & Maintain ES2015, ES2016 Packages Today
TorontoNodeJS
 
nlp_compromise
TorontoNodeJS
 
Understanding the Single Thread Event Loop
TorontoNodeJS
 
Avoiding callback hell with promises
TorontoNodeJS
 
Building your own slack bot on the AWS stack
TorontoNodeJS
 
Ad

Recently uploaded (20)

PDF
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PPT
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
PPTX
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PDF
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PDF
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
PDF
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PPTX
Digital Circuits, important subject in CS
contactparinay1
 
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Digital Circuits, important subject in CS
contactparinay1
 

Node as an API shim

  • 1. Node.JS The Swiss Army Knife of Web Development: API Shim
  • 2. Summary ● Frontend Development – In the Past – Today ● Node.js as an API shim – The IE7 problem it solves – The frontend-backend coupling problem – Solution ● Node.js is everywhere – The new Perl – Swiss army knife of web development – One step away from deployment
  • 3. In The Past ● Java for minifying CSS files ● Ruby for compiling SASS into CSS files ● Tightly coupled backend and frontend – Build process – Deployment process – API integration
  • 4. Frontend Today ● Node.js is used for frontend builds: – for every step of the build process – for dependency management – for compilation, pre-processing – for minifying and even for macros
  • 5. The Situation ● AngularJS Web App ● Frontend build process all using Node.js ● Backend REST API written in Java ● Migrated from Java Server Faces to decouple frontend from backend ● Clients are big banks, financial firms
  • 6. The IE problem ● Internet Explorer 7 has a small limit on HTTP requests ● IE7: 2 max simultaneous ● Our client was using IE7
  • 7. Frontend/Backend Decoupling ● Relying on backend API changes when there's a backlog of other work. ● Backend Java responsibilities: – Crawl for data from other databases – Index the data – Search the data – Generate reports ● Frontend release schedule tied to backend releases
  • 8. Node.js as an API Shim ● Solution was Node.js api server shim ● Bundled 4+ requests data into one request ● Using expressjs (already used for local development) ● Only required a frontend web app deployment :-)
  • 9. API Shims To Sneak Node In ● Make APIs cleaner than they usually would be without modifying your frontend code ● Re-use API methods to reduce the # of requests ● Prototype new functionality quickly and then backport to the backend
  • 10. Advantages of Node.js ● Same language as the web browser scripting language ● Asynchronous by default ● Process-oriented vs thread-oriented ● Fast compared to other dynamic languages
  • 11. Node.js is the new Perl ● Text processing was a big part of web development, especially for system administration ● Perl was fast, flexible and supported crazy regular expressions ● Web dev and devops requires inter-operation with speed and scalability. ● Node.js is fast, flexible and supports crazy asynchronous expressions
  • 12. Most important fact about Node.js ● You do not need permission to use it ● Chances are it's already used for building and deploying your frontend web app ● It's already installed, you're already downloading packages for it ● You can write small command line scripts ● JSON is the language of APIs
  • 13. Thanks! ● Check out my blogs – http://neverfriday.com/ – http://sourcecontribute.com/ ● Twitter: @src_contribute