JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln

Peter Hecker
Peter HeckerBerater, Coach, Dozent, Trainer + Digital-Experte
JavaScript goes
Enterprise
Node.js-Anwendungen
mit Visual Studio entwickeln
Agenda
• Einführung in Node.js
• Node.js und .NET
• Anwendungsfälle und Beispiele
• Fazit
Einführung in Node.js
Node.js
• Node.js ist eine plattformübergreifende
Laufzeitumgebung für JavaScript-Anwendungen.
• Node.js ermöglicht die einfache Entwicklung von
schnellen und skalierbaren JavaScript-
Applikationen.
• Node.js JavaScript-Anwendungen laufen
typischerweise auf einem Server.
Der Erfinder
Ryan Dahl: „Node.js, Evented I/O for V8 Javascript“
JSConf.EU, Sunday November 8th, 2009
node.js in brief (2009)
• Server-Side JavaScript
• Built on Google’s V8
• Evented, Non-Blocking I/O
• CommonJS module system
• 8000 lines of C/C++, 2000
lines of JavaScript 

(14 Contributor)
http://www.youtube.com/watch?v=ztspvPYybIY
What ist V8?
• V8 is Google's open source high-
performance JavaScript engine,
written in C++ and used in
Google Chrome, the open source
browser from Google.
• It implements ECMAScript as
specified in ECMA-262, 3rd
edition, and runs on Windows XP
and Vista, Mac OS X 10.5+, and
Linux systems that use IA-32,
ARM or MIPS processors.
• V8 can run standalone, or can be
embedded into any C++
application.
https://developers.google.com/v8/
node standard library
node bindings
(http, socket, file system)
V8 thread pool
(libeio)
event loop
(libev)
cypto
(OpenSSL)
DNC
(c-ares)
JavaScript
C/C++
Node.js - Architektur
• Single Threaded
• Asynchronous
• Event Loop
• Non blocking I/O
Ryan Dahl
„I/O needs to be done differently“
Ryan Dahl
„In many cases, just waiting for the response“
Klassische Server
Multi-Threaded - Blocking I/O
http://blog.cloudfoundry.com/2012/06/27/future-proofing-your-apps-cloud-foundry-and-node-js/
Ryan Dahl
„This is the node.js project: To provide a purely evented, non-
blocking infrastructure to script highly concurrent programs“
Node.js
Single Threaded, Event Loop, Non-Blocking I/O
http://blog.cloudfoundry.com/2012/06/27/future-proofing-your-apps-cloud-foundry-and-node-js/
Single Threaded, Event
Loop, Non-Blocking I/O
• Weniger Speicherverbrauch
• Weniger CPU-Overhead
• Bessere Skalierbarkeit
Fundamentals!
• Globals
• STDIO
• Timers
• Modules
• Events
• Buffers
• Streams
• C/C++ Addons
Network I/O!
• HTTP
• HTTPS
• URL
• Query Strings
• Net
• UDP/Datagram
• DNS
File system I/O!
• File System
• Path
Process I/O / V8 VM!
• Process
• VM
• Child Processes
• Cluster
Terminal/Console!
• REPL
• Readline
• TTY
Testing & debugging!
• Assertion Testing
• Debugger
• Utilities
Misc!
• Crypto
• TLS/SSL
• String Decoder
• ZLIB
• OS
http://nodejs.org/api/modules.html
Node.js Core Modules
Node.js Module
npm - Node Package Manager
https://www.npmjs.org/
Node.js - Homepage
http://nodejs.org/
Joyent
Das Unternehmen hinter Node.js und npm.
http://www.joyent.com
Node.js und .NET
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
Node.js und .NET
• Node.js für Windows
• http://nodejs.org/
• Node.js Tools for Visual Studio (NTVS)
• https://nodejstools.codeplex.com/
• Edge.js
• http://tjanczuk.github.io/edge/
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
npm install edge
VS.NET + NTVS
• Verschiedene Projektvorlagen
• Integration der Node.js-Paketverwaltung (npm)
• JavaScript-Code-Vervollständigung (Intellisense)
• Node.js-Interactive Window
• Node.js-Debugger-Integration
• Windows Azure Veröffentlichung
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
Edge.js
• npm-Module und nuget-
Pakete für die Integration von
Node.js und .NET auf
Prozessebene
• Für C#, F#, Python (mit
IronPython) und Windows
PowerShell
http://tjanczuk.github.io/edge/
„Edge.js is 32x faster
than a cross-process call“
https://github.com/tjanczuk/edge/wiki/Performance
Kleiner Exkurs:
Node.js und Java
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
http://nodyn.io/
Anwendungsfälle und
Beispiele
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
Anwendungsfälle
• The Internet of Things
• E-Commerce
• Payment Processing
• Social Media
• Realtime Services
• Media
• Enterprise Web Services
IBM und Node.js
• „When you add thousands of
devices to a network it’s going
to be impossible to program in
the same way we program
computers today. IBM is
working on Node-RED a tool
to help “wire” the internet of
things.“
http://nodered.org/
LinkedIn und Node.js
• Anforderung: 

„Mobilen App-Infrastruktur“
• Weniger Code
• Weniger Ressourcen - von 30
auf 3 Server
• Schneller - teilweise bis 20x
• Stabiler
http://highscalability.com/blog/2012/10/4/linkedin-moved-from-rails-to-node-27-servers-cut-and-up-to-2.html
Groupon und Node.js
• Anforderung: 

„50.000 Requests / Minute“
• Node.js-Infrastruktur schafft
diese Datenverkehr mit
weniger Hardware
• Ladezeiten verbessern sich
um 50%
• Globale Änderungen lassen
sich schneller realisieren und
verteilen
http://www.datacenterknowledge.com/archives/2013/12/06/need-speed-groupon-migrated-node-js/
Walmart und Node.js
• Anforderung: 

„Black Friday“
• 55% des Datenverkehrs
wurde über Node.js-Server
verarbeitet, ohne einen
einzigen Serverausfall
• Die durchschnittliche CPU-
Auslastung lag bei 1%
• Softwareverteilung bei
200.000.000 aktiven Nutzern
http://www.joyent.com/developers/videos/node-js-at-walmart-going-to-production-debugging-monitoring
Yahoo und Node.js
• Ca. 200 Entwickler
programmieren für Node.js
• 500 interne Node-Module
• 800 externe Node-Module
• Node.js-Services verarbeiten
bis zu 2.000.000 Requests /
Minute
Build 2013 - Channel 9
June 28, 2013:
„Doug Crockford and Steve Lucco on JavaScript“
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
Paypal und Node.js
• Anforderung: 

„Java versus JavaScript“
• Weniger Entwickler, weniger Code
(LoC) in der Hälfte der Zeit
• Verdoppelung der Anzahl der
Anfragen pro Sekunde (Requests/sec)
• Steigerung der Antwortzeit um 35%
auf 200 ms
• Umsetzung von 12 Node.js-
Anwendungen in sechs Monaten
• Alle zukünftigen Anwendungen
werden in Node.js entwickelt
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
Bill Scott: “Clash of the Titans: Releasing
the Kraken NodeJS @paypal"
http://www.youtube.com/watch?v=tZWGb0HU2QM
Node.js - Nicht nur
für’s Web:
PDFKit
http://pdfkit.org/
Grunt
http://gruntjs.com/
Bower
http://bower.io/
Yeoman
http://yeoman.io/
log.io
http://logio.org/
noduino
http://semu.github.io/noduino/
NodeOS
http://node-os.com/
Fazit
Was wäre wenn
• Verringerung der Entwicklerkapazitäten
• Verringerung der Seitenladezeit
• Verringerung der Anzahl von Servern
• Zufriedene Kunden
• Zufriedene Entwickler
„Get Happy with Node.js“
!
;-) Vielen Dank!
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln
1 de 86

Recomendados

JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No... por
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...Peter Hecker
286 vistas130 diapositivas
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg) por
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)André Krämer
542 vistas38 diapositivas
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ... por
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...LeanIX GmbH
3.8K vistas27 diapositivas
Hybrid cloud iaa-s_office-365-azure_sharepoint-konferenz-wien-2013_ankbs_mich... por
Hybrid cloud iaa-s_office-365-azure_sharepoint-konferenz-wien-2013_ankbs_mich...Hybrid cloud iaa-s_office-365-azure_sharepoint-konferenz-wien-2013_ankbs_mich...
Hybrid cloud iaa-s_office-365-azure_sharepoint-konferenz-wien-2013_ankbs_mich...Michael Kirst-Neshva
1.1K vistas49 diapositivas
WebSocket my APEX! por
WebSocket my APEX!WebSocket my APEX!
WebSocket my APEX!Kai Donato
1.5K vistas34 diapositivas
JavaScript-Erweiterungen für UI und UX por
JavaScript-Erweiterungen für UI und UXJavaScript-Erweiterungen für UI und UX
JavaScript-Erweiterungen für UI und UXKai Donato
2.7K vistas17 diapositivas

Más contenido relacionado

La actualidad más candente

Node.js - Von der Entwicklugn bis zum produktiven Einsatz por
Node.js - Von der Entwicklugn bis zum produktiven EinsatzNode.js - Von der Entwicklugn bis zum produktiven Einsatz
Node.js - Von der Entwicklugn bis zum produktiven EinsatzKai Donato
989 vistas35 diapositivas
Performanter, hochskalierbarer Web 2.0-Dienst in Ruby por
Performanter, hochskalierbarer Web 2.0-Dienst in RubyPerformanter, hochskalierbarer Web 2.0-Dienst in Ruby
Performanter, hochskalierbarer Web 2.0-Dienst in Rubyvesparun
580 vistas47 diapositivas
Workshop Vue js por
Workshop Vue jsWorkshop Vue js
Workshop Vue jsHendrik Lösch
524 vistas103 diapositivas
Ruby on Rails in a metro session por
Ruby on Rails in a metro sessionRuby on Rails in a metro session
Ruby on Rails in a metro sessionVirttoo org
432 vistas42 diapositivas
ColdFusion im Enterprise Umfeld - Deep Dive por
ColdFusion im Enterprise Umfeld - Deep DiveColdFusion im Enterprise Umfeld - Deep Dive
ColdFusion im Enterprise Umfeld - Deep DiveBokowsky + Laymann GmbH
1.2K vistas47 diapositivas
Tipps zur Performanceoptimierung für Liferay Portal por
Tipps zur  Performanceoptimierung für Liferay PortalTipps zur  Performanceoptimierung für Liferay Portal
Tipps zur Performanceoptimierung für Liferay PortalStefan Hilpp
791 vistas21 diapositivas

La actualidad más candente(19)

Node.js - Von der Entwicklugn bis zum produktiven Einsatz por Kai Donato
Node.js - Von der Entwicklugn bis zum produktiven EinsatzNode.js - Von der Entwicklugn bis zum produktiven Einsatz
Node.js - Von der Entwicklugn bis zum produktiven Einsatz
Kai Donato989 vistas
Performanter, hochskalierbarer Web 2.0-Dienst in Ruby por vesparun
Performanter, hochskalierbarer Web 2.0-Dienst in RubyPerformanter, hochskalierbarer Web 2.0-Dienst in Ruby
Performanter, hochskalierbarer Web 2.0-Dienst in Ruby
vesparun580 vistas
Ruby on Rails in a metro session por Virttoo org
Ruby on Rails in a metro sessionRuby on Rails in a metro session
Ruby on Rails in a metro session
Virttoo org432 vistas
Tipps zur Performanceoptimierung für Liferay Portal por Stefan Hilpp
Tipps zur  Performanceoptimierung für Liferay PortalTipps zur  Performanceoptimierung für Liferay Portal
Tipps zur Performanceoptimierung für Liferay Portal
Stefan Hilpp791 vistas
MongoDB on Linux VM in Windows Azure por Jan Hentschel
MongoDB on Linux VM in Windows AzureMongoDB on Linux VM in Windows Azure
MongoDB on Linux VM in Windows Azure
Jan Hentschel943 vistas
Collaboration Days 2011 - Damit die Tester schneller ran können. por David Schneider
Collaboration Days 2011 - Damit die Tester schneller ran können.Collaboration Days 2011 - Damit die Tester schneller ran können.
Collaboration Days 2011 - Damit die Tester schneller ran können.
David Schneider495 vistas
Boost your APEX Deployment and Provisioning with Docker por Steven Grzbielok
Boost your APEX Deployment and Provisioning with DockerBoost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with Docker
Steven Grzbielok1.3K vistas
OSMC 2014: Icinga Web 2 kann mehr | Thomas Gelf por NETWAYS
OSMC 2014: Icinga Web 2 kann mehr | Thomas GelfOSMC 2014: Icinga Web 2 kann mehr | Thomas Gelf
OSMC 2014: Icinga Web 2 kann mehr | Thomas Gelf
NETWAYS761 vistas
skilllocation Foliensatz zu Microsoft Azure por Carola Pantenburg
skilllocation Foliensatz zu Microsoft Azureskilllocation Foliensatz zu Microsoft Azure
skilllocation Foliensatz zu Microsoft Azure
Carola Pantenburg2.4K vistas
WebLogic im Docker Container por Andreas Koop
WebLogic im Docker ContainerWebLogic im Docker Container
WebLogic im Docker Container
Andreas Koop12.5K vistas
SQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreiben por Jan Hentschel
SQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreibenSQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreiben
SQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreiben
Jan Hentschel866 vistas
JAX 2015 - Continuous Integration mit Java & Javascript por dzuvic
JAX 2015 - Continuous Integration mit Java & JavascriptJAX 2015 - Continuous Integration mit Java & Javascript
JAX 2015 - Continuous Integration mit Java & Javascript
dzuvic756 vistas
Scala.js at code.talks 2014, Hamburg por Lutz Hühnken
Scala.js at code.talks 2014, HamburgScala.js at code.talks 2014, Hamburg
Scala.js at code.talks 2014, Hamburg
Lutz Hühnken1K vistas
Where are all transactions gone? Was in_der_cloud_alles_verboten_ist por Ramon Anger
Where are all transactions gone? Was in_der_cloud_alles_verboten_istWhere are all transactions gone? Was in_der_cloud_alles_verboten_ist
Where are all transactions gone? Was in_der_cloud_alles_verboten_ist
Ramon Anger817 vistas
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur por QAware GmbH
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturContinuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
QAware GmbH981 vistas

Similar a JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln

Creasoft-Akademie - Mobile Multiplattform Apps por
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft AG
1.4K vistas45 diapositivas
Never Code Alone: Von Symfony Forms zu einer SPA auf APIs por
Never Code Alone: Von Symfony Forms zu einer SPA auf APIsNever Code Alone: Von Symfony Forms zu einer SPA auf APIs
Never Code Alone: Von Symfony Forms zu einer SPA auf APIsStefan Adolf
213 vistas17 diapositivas
BizSpark goes Cloud por
BizSpark goes CloudBizSpark goes Cloud
BizSpark goes CloudPatric Boscolo
669 vistas48 diapositivas
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben por
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und behebenPimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und behebenDavid Schneider
3.6K vistas32 diapositivas
Desktop Containers 12: Next Generation of ZENworks Application Virtualization por
Desktop Containers 12: Next Generation of ZENworks Application VirtualizationDesktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application VirtualizationGWAVA
1.2K vistas33 diapositivas
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI por
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDISchlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDIadesso AG
2.1K vistas23 diapositivas

Similar a JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln(20)

Creasoft-Akademie - Mobile Multiplattform Apps por Creasoft AG
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform Apps
Creasoft AG1.4K vistas
Never Code Alone: Von Symfony Forms zu einer SPA auf APIs por Stefan Adolf
Never Code Alone: Von Symfony Forms zu einer SPA auf APIsNever Code Alone: Von Symfony Forms zu einer SPA auf APIs
Never Code Alone: Von Symfony Forms zu einer SPA auf APIs
Stefan Adolf213 vistas
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben por David Schneider
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und behebenPimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
David Schneider3.6K vistas
Desktop Containers 12: Next Generation of ZENworks Application Virtualization por GWAVA
Desktop Containers 12: Next Generation of ZENworks Application VirtualizationDesktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application Virtualization
GWAVA 1.2K vistas
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI por adesso AG
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDISchlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
adesso AG2.1K vistas
PHP Kongress 2010 - Web-Performance por Nico Steiner
PHP Kongress 2010 - Web-PerformancePHP Kongress 2010 - Web-Performance
PHP Kongress 2010 - Web-Performance
Nico Steiner1K vistas
Agile Softwareentwicklung mit Rails por Hussein Morsy
Agile Softwareentwicklung mit RailsAgile Softwareentwicklung mit Rails
Agile Softwareentwicklung mit Rails
Hussein Morsy1.5K vistas
DevOps der Triple-E Klasse - Eclipse DemoCamp por Werner Keil
DevOps der Triple-E Klasse - Eclipse DemoCampDevOps der Triple-E Klasse - Eclipse DemoCamp
DevOps der Triple-E Klasse - Eclipse DemoCamp
Werner Keil1.6K vistas
Grails im Überblick und in der Praxis por Tobias Kraft
Grails im Überblick und in der PraxisGrails im Überblick und in der Praxis
Grails im Überblick und in der Praxis
Tobias Kraft2.4K vistas
JavaScript für Java-Entwickler W-JAX 2013 por Oliver Zeigermann
JavaScript für Java-Entwickler W-JAX 2013JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013
Oliver Zeigermann1.6K vistas
Serverless Application Framework por BATbern
Serverless Application FrameworkServerless Application Framework
Serverless Application Framework
BATbern103 vistas
Automatische Erstellung einer SharePoint 2013 Entwicklungsumgebung in Microso... por Sebastian Huppmann
Automatische Erstellung einer SharePoint 2013 Entwicklungsumgebung in Microso...Automatische Erstellung einer SharePoint 2013 Entwicklungsumgebung in Microso...
Automatische Erstellung einer SharePoint 2013 Entwicklungsumgebung in Microso...
Sebastian Huppmann1.8K vistas
Building Enterprise Applications with AngularJS (GDG DevFest Karlsruhe 2014) por Christian Janz
Building Enterprise Applications with AngularJS (GDG DevFest Karlsruhe 2014)Building Enterprise Applications with AngularJS (GDG DevFest Karlsruhe 2014)
Building Enterprise Applications with AngularJS (GDG DevFest Karlsruhe 2014)
Christian Janz1.7K vistas
Echtzeitvisualisierung von Twitter und Co. por Kai Donato
Echtzeitvisualisierung von Twitter und Co.Echtzeitvisualisierung von Twitter und Co.
Echtzeitvisualisierung von Twitter und Co.
Kai Donato60 vistas
Echtzeitvisualisierung von Twitter & Co por Oliver Lemm
Echtzeitvisualisierung von Twitter & CoEchtzeitvisualisierung von Twitter & Co
Echtzeitvisualisierung von Twitter & Co
Oliver Lemm1.8K vistas
node.js - Eine kurze Einführung por nodeio
node.js - Eine kurze Einführungnode.js - Eine kurze Einführung
node.js - Eine kurze Einführung
nodeio4.2K vistas

Más de Peter Hecker

Vom Framework zur App - Ein Blick in das React-Ökosystem por
Vom Framework zur App - Ein Blick in das React-ÖkosystemVom Framework zur App - Ein Blick in das React-Ökosystem
Vom Framework zur App - Ein Blick in das React-ÖkosystemPeter Hecker
4 vistas43 diapositivas
Was darf’s denn sein: Angular, React, Vue.js – Über Frontend-Entwicklung im J... por
Was darf’s denn sein: Angular, React, Vue.js – Über Frontend-Entwicklung im J...Was darf’s denn sein: Angular, React, Vue.js – Über Frontend-Entwicklung im J...
Was darf’s denn sein: Angular, React, Vue.js – Über Frontend-Entwicklung im J...Peter Hecker
9 vistas109 diapositivas
TypeScript - Gut genug für große Anwendungen? Oder nur Brückentechnologie für... por
TypeScript - Gut genug für große Anwendungen? Oder nur Brückentechnologie für...TypeScript - Gut genug für große Anwendungen? Oder nur Brückentechnologie für...
TypeScript - Gut genug für große Anwendungen? Oder nur Brückentechnologie für...Peter Hecker
332 vistas47 diapositivas
AngularJS für .NET-Entwickler por
AngularJS für .NET-EntwicklerAngularJS für .NET-Entwickler
AngularJS für .NET-EntwicklerPeter Hecker
455 vistas52 diapositivas
Cross Plattform Apps mit Visual Studio und Apache Cordova por
Cross Plattform Apps mit Visual Studio und Apache CordovaCross Plattform Apps mit Visual Studio und Apache Cordova
Cross Plattform Apps mit Visual Studio und Apache CordovaPeter Hecker
274 vistas42 diapositivas
NRWConf - Workshop Mobile Apps por
NRWConf - Workshop Mobile AppsNRWConf - Workshop Mobile Apps
NRWConf - Workshop Mobile AppsPeter Hecker
272 vistas44 diapositivas

Más de Peter Hecker(13)

Vom Framework zur App - Ein Blick in das React-Ökosystem por Peter Hecker
Vom Framework zur App - Ein Blick in das React-ÖkosystemVom Framework zur App - Ein Blick in das React-Ökosystem
Vom Framework zur App - Ein Blick in das React-Ökosystem
Peter Hecker4 vistas
Was darf’s denn sein: Angular, React, Vue.js – Über Frontend-Entwicklung im J... por Peter Hecker
Was darf’s denn sein: Angular, React, Vue.js – Über Frontend-Entwicklung im J...Was darf’s denn sein: Angular, React, Vue.js – Über Frontend-Entwicklung im J...
Was darf’s denn sein: Angular, React, Vue.js – Über Frontend-Entwicklung im J...
Peter Hecker9 vistas
TypeScript - Gut genug für große Anwendungen? Oder nur Brückentechnologie für... por Peter Hecker
TypeScript - Gut genug für große Anwendungen? Oder nur Brückentechnologie für...TypeScript - Gut genug für große Anwendungen? Oder nur Brückentechnologie für...
TypeScript - Gut genug für große Anwendungen? Oder nur Brückentechnologie für...
Peter Hecker332 vistas
AngularJS für .NET-Entwickler por Peter Hecker
AngularJS für .NET-EntwicklerAngularJS für .NET-Entwickler
AngularJS für .NET-Entwickler
Peter Hecker455 vistas
Cross Plattform Apps mit Visual Studio und Apache Cordova por Peter Hecker
Cross Plattform Apps mit Visual Studio und Apache CordovaCross Plattform Apps mit Visual Studio und Apache Cordova
Cross Plattform Apps mit Visual Studio und Apache Cordova
Peter Hecker274 vistas
NRWConf - Workshop Mobile Apps por Peter Hecker
NRWConf - Workshop Mobile AppsNRWConf - Workshop Mobile Apps
NRWConf - Workshop Mobile Apps
Peter Hecker272 vistas
JavaScript nicht nur für Programmierer: Einblicke in die weltweit am meisten ... por Peter Hecker
JavaScript nicht nur für Programmierer: Einblicke in die weltweit am meisten ...JavaScript nicht nur für Programmierer: Einblicke in die weltweit am meisten ...
JavaScript nicht nur für Programmierer: Einblicke in die weltweit am meisten ...
Peter Hecker438 vistas
JavaScript nicht nur für Programmierer: Einblicke in die weltweit am meisten ... por Peter Hecker
JavaScript nicht nur für Programmierer: Einblicke in die weltweit am meisten ...JavaScript nicht nur für Programmierer: Einblicke in die weltweit am meisten ...
JavaScript nicht nur für Programmierer: Einblicke in die weltweit am meisten ...
Peter Hecker441 vistas
Mobile Websites und (Web)-Apps mit jQuery Mobile por Peter Hecker
Mobile Websites und (Web)-Apps mit jQuery MobileMobile Websites und (Web)-Apps mit jQuery Mobile
Mobile Websites und (Web)-Apps mit jQuery Mobile
Peter Hecker1.1K vistas
Cross-Apps-Entwicklung für iPhone, Android und Co. por Peter Hecker
Cross-Apps-Entwicklung für iPhone, Android und Co.Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.
Peter Hecker199 vistas
Cross-Apps-Entwicklung für iPhone, Android und Co. por Peter Hecker
Cross-Apps-Entwicklung für iPhone, Android und Co.Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.
Peter Hecker130 vistas

JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den Node.js-Tools entwickeln

  • 2. Agenda • Einführung in Node.js • Node.js und .NET • Anwendungsfälle und Beispiele • Fazit
  • 4. Node.js • Node.js ist eine plattformübergreifende Laufzeitumgebung für JavaScript-Anwendungen. • Node.js ermöglicht die einfache Entwicklung von schnellen und skalierbaren JavaScript- Applikationen. • Node.js JavaScript-Anwendungen laufen typischerweise auf einem Server.
  • 5. Der Erfinder Ryan Dahl: „Node.js, Evented I/O for V8 Javascript“ JSConf.EU, Sunday November 8th, 2009
  • 6. node.js in brief (2009) • Server-Side JavaScript • Built on Google’s V8 • Evented, Non-Blocking I/O • CommonJS module system • 8000 lines of C/C++, 2000 lines of JavaScript 
 (14 Contributor) http://www.youtube.com/watch?v=ztspvPYybIY
  • 7. What ist V8? • V8 is Google's open source high- performance JavaScript engine, written in C++ and used in Google Chrome, the open source browser from Google. • It implements ECMAScript as specified in ECMA-262, 3rd edition, and runs on Windows XP and Vista, Mac OS X 10.5+, and Linux systems that use IA-32, ARM or MIPS processors. • V8 can run standalone, or can be embedded into any C++ application. https://developers.google.com/v8/
  • 8. node standard library node bindings (http, socket, file system) V8 thread pool (libeio) event loop (libev) cypto (OpenSSL) DNC (c-ares) JavaScript C/C++
  • 9. Node.js - Architektur • Single Threaded • Asynchronous • Event Loop • Non blocking I/O
  • 10. Ryan Dahl „I/O needs to be done differently“
  • 11. Ryan Dahl „In many cases, just waiting for the response“
  • 12. Klassische Server Multi-Threaded - Blocking I/O http://blog.cloudfoundry.com/2012/06/27/future-proofing-your-apps-cloud-foundry-and-node-js/
  • 13. Ryan Dahl „This is the node.js project: To provide a purely evented, non- blocking infrastructure to script highly concurrent programs“
  • 14. Node.js Single Threaded, Event Loop, Non-Blocking I/O http://blog.cloudfoundry.com/2012/06/27/future-proofing-your-apps-cloud-foundry-and-node-js/
  • 15. Single Threaded, Event Loop, Non-Blocking I/O • Weniger Speicherverbrauch • Weniger CPU-Overhead • Bessere Skalierbarkeit
  • 16. Fundamentals! • Globals • STDIO • Timers • Modules • Events • Buffers • Streams • C/C++ Addons Network I/O! • HTTP • HTTPS • URL • Query Strings • Net • UDP/Datagram • DNS File system I/O! • File System • Path Process I/O / V8 VM! • Process • VM • Child Processes • Cluster Terminal/Console! • REPL • Readline • TTY Testing & debugging! • Assertion Testing • Debugger • Utilities Misc! • Crypto • TLS/SSL • String Decoder • ZLIB • OS http://nodejs.org/api/modules.html Node.js Core Modules
  • 18. npm - Node Package Manager https://www.npmjs.org/
  • 20. Joyent Das Unternehmen hinter Node.js und npm. http://www.joyent.com
  • 23. Node.js und .NET • Node.js für Windows • http://nodejs.org/ • Node.js Tools for Visual Studio (NTVS) • https://nodejstools.codeplex.com/ • Edge.js • http://tjanczuk.github.io/edge/
  • 39. VS.NET + NTVS • Verschiedene Projektvorlagen • Integration der Node.js-Paketverwaltung (npm) • JavaScript-Code-Vervollständigung (Intellisense) • Node.js-Interactive Window • Node.js-Debugger-Integration • Windows Azure Veröffentlichung
  • 56. Edge.js • npm-Module und nuget- Pakete für die Integration von Node.js und .NET auf Prozessebene • Für C#, F#, Python (mit IronPython) und Windows PowerShell http://tjanczuk.github.io/edge/
  • 57. „Edge.js is 32x faster than a cross-process call“ https://github.com/tjanczuk/edge/wiki/Performance
  • 64. Anwendungsfälle • The Internet of Things • E-Commerce • Payment Processing • Social Media • Realtime Services • Media • Enterprise Web Services
  • 65. IBM und Node.js • „When you add thousands of devices to a network it’s going to be impossible to program in the same way we program computers today. IBM is working on Node-RED a tool to help “wire” the internet of things.“ http://nodered.org/
  • 66. LinkedIn und Node.js • Anforderung: 
 „Mobilen App-Infrastruktur“ • Weniger Code • Weniger Ressourcen - von 30 auf 3 Server • Schneller - teilweise bis 20x • Stabiler http://highscalability.com/blog/2012/10/4/linkedin-moved-from-rails-to-node-27-servers-cut-and-up-to-2.html
  • 67. Groupon und Node.js • Anforderung: 
 „50.000 Requests / Minute“ • Node.js-Infrastruktur schafft diese Datenverkehr mit weniger Hardware • Ladezeiten verbessern sich um 50% • Globale Änderungen lassen sich schneller realisieren und verteilen http://www.datacenterknowledge.com/archives/2013/12/06/need-speed-groupon-migrated-node-js/
  • 68. Walmart und Node.js • Anforderung: 
 „Black Friday“ • 55% des Datenverkehrs wurde über Node.js-Server verarbeitet, ohne einen einzigen Serverausfall • Die durchschnittliche CPU- Auslastung lag bei 1% • Softwareverteilung bei 200.000.000 aktiven Nutzern http://www.joyent.com/developers/videos/node-js-at-walmart-going-to-production-debugging-monitoring
  • 69. Yahoo und Node.js • Ca. 200 Entwickler programmieren für Node.js • 500 interne Node-Module • 800 externe Node-Module • Node.js-Services verarbeiten bis zu 2.000.000 Requests / Minute
  • 70. Build 2013 - Channel 9 June 28, 2013: „Doug Crockford and Steve Lucco on JavaScript“
  • 72. Paypal und Node.js • Anforderung: 
 „Java versus JavaScript“ • Weniger Entwickler, weniger Code (LoC) in der Hälfte der Zeit • Verdoppelung der Anzahl der Anfragen pro Sekunde (Requests/sec) • Steigerung der Antwortzeit um 35% auf 200 ms • Umsetzung von 12 Node.js- Anwendungen in sechs Monaten • Alle zukünftigen Anwendungen werden in Node.js entwickelt
  • 74. Bill Scott: “Clash of the Titans: Releasing the Kraken NodeJS @paypal" http://www.youtube.com/watch?v=tZWGb0HU2QM
  • 75. Node.js - Nicht nur für’s Web:
  • 83. Fazit
  • 84. Was wäre wenn • Verringerung der Entwicklerkapazitäten • Verringerung der Seitenladezeit • Verringerung der Anzahl von Servern • Zufriedene Kunden • Zufriedene Entwickler
  • 85. „Get Happy with Node.js“ ! ;-) Vielen Dank!