Upload
others
View
38
Download
0
Embed Size (px)
Citation preview
1 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
Daniel KhanTechnology Strategist at Dynatrace@dkhan
JavaScript Everywhere
2 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
3 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
1980 20001995 2005 2010 2015
Stakeholders
4 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
Frontend Middleware Backend
5 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE5
The FrontendA funny bag of stuff
6 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
7 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
8 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
9 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
Make your choice!
11 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
12 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
Event Handling
DOM Manipulation
Data Binding
JavaScript Frameworks provide
14 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
To every action there is
always opposed an equal
reaction: or the mutual
actions of two bodies upon
each other are always
equal, and directed to
contrary parts.
Sir Isaac Newton
15 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
A simple jQuery Example#button
jQuery start
Click Event Handler
Ajax Call
Callback
16 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
Add to Cart
sendToServer()
updateDom()
17 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE17
Why should I care?
18 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
Add to Cart
19 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
20 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE20
How to Monitor?UEM
21 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
22 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
∆Action ... Reaction
23 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
24 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
25 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
27 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
28 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE28
The MiddlewareA crash course to Node.js
32 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
33 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
34 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
So it’s the next Ruby on Rails, right?
36 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
Foundation
37 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
38 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
Who uses it?
39 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
40 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
Eran Hammer
41 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
42 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
A “Hello World” Node.js web “application”
43 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
Node.js is …
… a C++ Program controlled by V8 JavaScript
44 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
46 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
47 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE47
Understanding the Event Loop
48 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
DatabaseBrowser Java Application
Traditional approach
49 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
DatabaseBrowser Node.js Application
IO Threads
Nodes approach
51 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
Blocking vs. Non-Blocking
PHP
Node.js
52 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
Node.js is a long running process
53 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE53
How to Monitor
54 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
55 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
Complete visibility through all tiers
Frontend Middleware Backend
56 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE56
Node.js in Ruxit
57 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
58 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
59 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE59
Node.js Roadmap• Memory Metrics
• Process Metrics
• Deeper Insights
• CPU Sampling
60 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE60
Questions?Daniel [email protected]
http://apmblog.dynatrace.com/author/daniel-khan/
@dkhan
62 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
Persona Icons – For your use
Recolor these icons as
needed to match
Dynatrace brand
colors. PictureTools/Format/Color
Customer Conversion
Fanatic
for
Digital Business
Owners
Deployment-obsessed
Releasearaptor
for
Development
War Room
Peacemaker
for
Operations
63 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE