SlideShare a Scribd company logo
1 of 147
Download to read offline
InterConnect
2017
5118:
Java, Node.js and Swift:
Which, When and Why
Chris Bailey

STSM, Technical Architect
Java, Node.js and Swift
Gary Cernosek,
Offering Manager

Application Runtimes & Frameworks
1 1/17/17
6 1/17/17
7 1/17/17
GATEWAY
PUBLIC NETWORK CLOUD NETWORK
Client Devices Application Tier Database Tier
8 1/17/17
9 1/17/17
0	
10	
20	
30	
40	
50	
60	
01/02/12	
01/08/12	
01/02/13	
01/08/13	
01/02/14	
01/08/14	
01/02/15	
01/08/15	
01/02/16	
01/08/16	
Java	
JavaScript	
		
10 1/17/17
Redmonk Programming Languages Rankings
http://redmonk.com/sogrady/category/programming-languages/
0	
10	
20	
30	
40	
50	
60	
01/02/12	
01/08/12	
01/02/13	
01/08/13	
01/02/14	
01/08/14	
01/02/15	
01/08/15	
01/02/16	
01/08/16	
Java	
JavaScript	
		
11 1/17/17
Redmonk Programming Languages Rankings
http://redmonk.com/sogrady/category/programming-languages/
0	
10	
20	
30	
40	
50	
60	
01/02/12	
01/08/12	
01/02/13	
01/08/13	
01/02/14	
01/08/14	
01/02/15	
01/08/15	
01/02/16	
01/08/16	
Java	
JavaScript	
Swi5	
12 1/17/17
Redmonk Programming Languages Rankings
http://redmonk.com/sogrady/category/programming-languages/
13 1/17/17
PopularitY of Programming Language (PYPL)
http://pypl.github.io/PYPL.html
14 1/17/17
GitHut 2.0
https://madnight.github.io/githut/
15
TIOBE Index
https://www.tiobe.com/tiobe-index/
16
17
Runtime Language
18
Scripting LanguageRuntime Language
19
Scripting Language Modern Native LanguageRuntime Language
20
Type Safe Type Safe, with InferenceDynamically Typed
Scripting Language Modern Native LanguageRuntime Language
21
Type Safe Type Safe, with InferenceDynamically Typed
Scripting Language Modern Native LanguageRuntime Language
Bytecode and JIT Compiled JIT Compiled Pre-Compiled
22
Type Safe Type Safe, with InferenceDynamically Typed
Garbage Collected
Scripting Language Modern Native LanguageRuntime Language
Garbage Collected Reference Counted
Bytecode and JIT Compiled JIT Compiled Pre-Compiled
23
Type Safe Type Safe, with InferenceDynamically Typed
Concurrent Threaded
Garbage Collected
Scripting Language Modern Native LanguageRuntime Language
Garbage Collected Reference Counted
Single Thread Concurrent Work Pool
Bytecode and JIT Compiled JIT Compiled Pre-Compiled
24
Type Safe Type Safe, with InferenceDynamically Typed
Concurrent Threaded
Garbage Collected
Scripting Language Modern Native LanguageRuntime Language
Garbage Collected Reference Counted
Single Thread Concurrent Work Pool
Bytecode and JIT Compiled JIT Compiled Pre-Compiled
All Platforms All Platforms Apple Platforms and Linux
25
Type Safety
Swift @ IBM
func add(_ a: Int, to b: Int) -> Void {
print(a + b)
}
Swift Node.js
Swift @ IBM
var add = function (a, b) {
console.log(a + b);
}
func add(_ a: Int, to b: Int) -> Void {
print(a + b)
}
Swift Node.js
Swift @ IBM
var add = function (a, b) {
console.log(a + b);
}
func add(_ a: Int, to b: Int) -> Void {
print(a + b)
}
Swift Node.js
Swift @ IBM
var add = function (a, b) {
console.log(a + b);
}
func add(_ a: Int, to b: Int) -> Void {
print(a + b)
}
Swift Node.js
Swift @ IBM
var add = function (a, b) {
console.log(a + b);
}
var a = 5;
var b = 3;
func add(_ a: Int, to b: Int) -> Void {
print(a + b)
}
let a = 5
let b = 3
Swift Node.js
Swift @ IBM
var add = function (a, b) {
console.log(a + b);
}
var a = 5;
var b = 3;
add(a, b);
func add(_ a: Int, to b: Int) -> Void {
print(a + b)
}
let a = 5
let b = 3
add(a, to: b)
Swift Node.js
Swift @ IBM
var add = function (a, b) {
console.log(a + b);
}
var a = 5;
var b = 3;
add(a, b);
func add(_ a: Int, to b: Int) -> Void {
print(a + b)
}
let a = 5
let b = 3
add(a, to: b)
> swiftc main.swift
Swift Node.js
Swift @ IBM
var add = function (a, b) {
console.log(a + b);
}
var a = 5;
var b = 3;
add(a, b);
> node app.js
func add(_ a: Int, to b: Int) -> Void {
print(a + b)
}
let a = 5
let b = 3
add(a, to: b)
> swiftc main.swift
> main
Swift Node.js
Swift @ IBM
var add = function (a, b) {
console.log(a + b);
}
var a = 5;
var b = 3;
add(a, b);
> node app.js
8
func add(_ a: Int, to b: Int) -> Void {
print(a + b)
}
let a = 5
let b = 3
add(a, to: b)
> swiftc main.swift
> main
8
Swift Node.js
Swift @ IBM
var add = function (a, b) {
console.log(a + b);
}
var a = '5';
var b = 3;
add(a, b);
func add(_ a: Int, to b: Int) -> Void {
print(a + b)
}
let a = ”5”
let b = 3
add(a, to: b)
Swift Node.js
Swift @ IBM
var add = function (a, b) {
console.log(a + b);
}
var a = '5';
var b = 3;
add(a, b);
func add(_ a: Int, to b: Int) -> Void {
print(a + b)
}
let a = ”5”
let b = 3
add(a, to: b)
> swiftc main.swift

Swift Node.js
Swift @ IBM
var add = function (a, b) {
console.log(a + b);
}
var a = '5';
var b = 3;
add(a, b);
func add(_ a: Int, to b: Int) -> Void {
print(a + b)
}
let a = ”5”
let b = 3
add(a, to: b)
> swiftc main.swift

> Error line 6: Cannot convert value of
type ‘String’ into argument of type ‘Int’
Swift Node.js
Swift @ IBM
var add = function (a, b) {
console.log(a + b);
}
var a = '5';
var b = 3;
add(a, b);
> node app.js
> 53
func add(_ a: Int, to b: Int) -> Void {
print(a + b)
}
let a = ”5”
let b = 3
add(a, to: b)
> swiftc main.swift


> Error line 6: Cannot convert value of
type ‘String’ into argument of type ‘Int’
Swift Node.js
Swift @ IBM
console.log('Hello' + + 'World')
Node.js
Swift @ IBM
console.log('Hello' + + 'World')
> 'HelloNaN'
Node.js
Swift @ IBM
console.log('Hello' + + 'World')
> 'HelloNaN'
var x = 3
console.log('5' - x + x)
Node.js
Swift @ IBM
console.log('Hello' + + 'World')
> 'HelloNaN'
var x = 3
console.log('5' - x + x)
> 5
Node.js
Swift @ IBM
console.log('Hello' + + 'World')
> 'HelloNaN'
var x = 3
console.log('5' - x + x)
> 5
var x = 3
console.log('5' + x - x)
Node.js
Swift @ IBM
console.log('Hello' + + 'World')
> 'HelloNaN'
var x = 3
console.log('5' - x + x)
> 5
var x = 3
console.log('5' + x - x)
> 50
Node.js
45
Performance
Runtime cost of dynamic typing
func add(_ a: Int, to b: Int) -> Int {
return(a + b)
}
Runtime cost of dynamic typing
func add(_ a: Int, to b: Int) -> Int {
return(a + b)
}
Runtime cost of dynamic typing
func add(_ a: Int, to b: Int) -> Int {
return(a + b)
}
addi
Runtime cost of dynamic typing
var add = function (a, b) {
return(a + b);
}
Check type of
A
var add = function (a, b) {
return(a + b);
}
Runtime cost of dynamic typing
Check type of
A
String
var add = function (a, b) {
return(a + b);
}
Check type of
A
StringCheck type of
B
var add = function (a, b) {
return(a + b);
}
Check type of
A
StringConcatenate Check type of
B
String
var add = function (a, b) {
return(a + b);
}
Check type of
A
StringNumber
Concatenate Check type of
B
String
Convert Number

to String
var add = function (a, b) {
return(a + b);
}
Check type of
A
StringNumber
Concatenate Check type of
B
String
Convert Number

to String
Concatenate
var add = function (a, b) {
return(a + b);
}
Check type of
A
StringConcatenate Check type of
B
String NumberNumber
Convert Number

to String
Concatenate
var add = function (a, b) {
return(a + b);
}
Check type of
A
StringConcatenate Check type of
B
Check type of
B
String NumberNumber
Convert Number

to String
Concatenate
var add = function (a, b) {
return(a + b);
}
Check type of
A
StringConcatenate Check type of
B
Check type of
B
StringString NumberNumber
Convert Number

to String
Concatenate
Convert Number

to String
var add = function (a, b) {
return(a + b);
}
Check type of
A
StringConcatenate Check type of
B
Check type of
B
StringString NumberNumber
Convert Number

to String
Concatenate
Convert Number

to String
Concatenate
var add = function (a, b) {
return(a + b);
}
Convert Number

to String
Check type of
A
StringConcatenate Check type of
B
Check type of
B
StringString NumberNumber
Convert Number

to String
Concatenate
Concatenate
Number
var add = function (a, b) {
return(a + b);
}
Check type of
A
StringConcatenate
Floating

Point or

Normal
Check type of
B
Check type of
B
StringString NumberNumber
Convert Number

to String
Concatenate
Concatenate
Number
Convert Number

to String
var add = function (a, b) {
return(a + b);
}
Check type of
A
StringConcatenate
Floating

Point or

Normal
Float Calculation
Check type of
B
Check type of
B
StringString
Float
NumberNumber
Convert Number

to String
Concatenate
Concatenate
Number
Convert Number

to String
var add = function (a, b) {
return(a + b);
}
Check type of
A
StringConcatenate
Floating

Point or

Normal
Normal Add InstructionFloat Calculation
Check type of
B
Check type of
B
StringString
Float
NumberNumber
Convert Number

to String
Concatenate
Concatenate
Number
Convert Number

to String
var add = function (a, b) {
return(a + b);
}
0	
2	
4	
6	
8	
10	
12	
14	
16	
18	
				
Duration(s)
(lowerisbetter)
http://benchmarksgame.alioth.debian.org/u64q/performance.php?test=spectralnorm
Typed vs Untyped Performance
4	
0	
2	
4	
6	
8	
10	
12	
14	
16	
18	
				
http://benchmarksgame.alioth.debian.org/u64q/performance.php?test=spectralnorm
Typed vs Untyped Performance
Duration(s)
(lowerisbetter)
4	 4.3	
0	
2	
4	
6	
8	
10	
12	
14	
16	
18	
				
http://benchmarksgame.alioth.debian.org/u64q/performance.php?test=spectralnorm
Typed vs Untyped Performance
Duration(s)
(lowerisbetter)
4	 4.3	
15.8	
0	
2	
4	
6	
8	
10	
12	
14	
16	
18	
				
http://benchmarksgame.alioth.debian.org/u64q/performance.php?test=spectralnorm
Typed vs Untyped Performance
Duration(s)
(lowerisbetter)
0	
20	
40	
60	
80	
100	
120	
JSON	Serializa2on	 Single	Query	 Data	Updates	
TechEmpower	Performance	
(%age	of	best	-	higher	is	be0er)	
More
Computation
More
I/O
0	
20	
40	
60	
80	
100	
120	
JSON	Serializa2on	 Single	Query	 Data	Updates	
TechEmpower	Performance	
(%age	of	best	-	higher	is	be0er)	
More
Computation
More
I/O
0	
20	
40	
60	
80	
100	
120	
JSON	Serializa2on	 Single	Query	 Data	Updates	
TechEmpower	Performance	
(%age	of	best	-	higher	is	be0er)	
More
Computation
More
I/O
More
Computation
More
I/O
0	
20	
40	
60	
80	
100	
120	
JSON	Serializa2on	 Single	Query	 Data	Updates	
TechEmpower	Performance	
(%age	of	best	-	higher	is	be0er)
72
Developer

Productivity
0	
100	
200	
300	
400	
500	
600	
700	
800	
900	
1000	
VolumeofCode
(lowerisbetter)
http://benchmarksgame.alioth.debian.org/u64q/performance.php?test=spectralnorm
Typed vs Untyped Developer Productivity
601	
0	
100	
200	
300	
400	
500	
600	
700	
800	
900	
1000	
http://benchmarksgame.alioth.debian.org/u64q/performance.php?test=spectralnorm
Typed vs Untyped Developer Productivity
VolumeofCode
(lowerisbetter)
VolumeofCode
(lowerisbetter)
601	
950	
0	
100	
200	
300	
400	
500	
600	
700	
800	
900	
1000	
http://benchmarksgame.alioth.debian.org/u64q/performance.php?test=spectralnorm
Typed vs Untyped Developer Productivity
VolumeofCode
(lowerisbetter)
VolumeofCode
(lowerisbetter)
601	
950	
413	
0	
100	
200	
300	
400	
500	
600	
700	
800	
900	
1000	
http://benchmarksgame.alioth.debian.org/u64q/performance.php?test=spectralnorm
Typed vs Untyped Developer Productivity
VolumeofCode
(lowerisbetter)
VolumeofCode
(lowerisbetter)
77
Memory Management
Memory
Heap Size
Memory
Live in-use data
(Retained Set)
Heap Size
Memory
Live in-use data
(Retained Set)
Heap Size
Temporary Data
(Garbage)
Temporary Data
(Garbage)
Memory
Live in-use data
(Retained Set)
Heap Size
Temporary Data
(Garbage)
Temporary Data
(Garbage)
Memory
Live in-use data
(Retained Set)
Heap Size
Temporary Data
(Garbage)
Temporary Data
(Garbage)
Memory
Live in-use data
(Retained Set)
Heap Size
Temporary Data
(Garbage)
Temporary Data
(Garbage)
40 to 70%
Memory
Live in-use data
(Retained Set)
Heap Size
Temporary Data
(Garbage)
Temporary Data
(Garbage)
40 to 70%
~2X additional memory for additional performance
0	
5	
10	
15	
20	
25	
30	
35	
			
ARC vs Garage Collection
MemoryUsage(MB)
(lowerisbetter)
http://benchmarksgame.alioth.debian.org/u64q/performance.php?test=spectralnorm
15	
0	
5	
10	
15	
20	
25	
30	
35	
			
ARC vs Garage Collection
http://benchmarksgame.alioth.debian.org/u64q/performance.php?test=spectralnorm
MemoryUsage(MB)
(lowerisbetter)
15	
32.2	
0	
5	
10	
15	
20	
25	
30	
35	
			
ARC vs Garage Collection
http://benchmarksgame.alioth.debian.org/u64q/performance.php?test=spectralnorm
MemoryUsage(MB)
(lowerisbetter)
15	
32.2	
25.3	
0	
5	
10	
15	
20	
25	
30	
35	
			
ARC vs Garage Collection
http://benchmarksgame.alioth.debian.org/u64q/performance.php?test=spectralnorm
MemoryUsage(MB)
(lowerisbetter)
Cloud Costs
Provider Type Memory CPUs Cost/month
Amazon EC2 Linux t2.nano 512MB 1 vCPU $4.68
Digital Ocean Standard 512MB 1 Core Processor $5.00
Pivotal Cloud
Foundry
App Instance 512MB 4 vCPUs $10.80
Heroku Standard 1x 512MB 1 Share $25.00
IBM Bluemix Instant
Runtimes
512MB 4 vCPUs $24.15
Containers 512MB 4 vCPUs $10.22
Cloud Costs
Provider Type Memory CPUs Cost/month
Amazon EC2 Linux t2.nano 512MB 1 vCPU $4.68
Linux t2.micro 1GB 1 vCPU $9.36
Digital Ocean Standard 512MB 1 Core Processor $5.00
Standard 1GB 1 Core Processor $10.00
Pivotal Cloud
Foundry
App Instance 512MB 4 vCPUs $10.80
App Instance 1GB 4 vCPUs $21.60
Heroku Standard 1x 512MB 1 Share $25.00
Standard 2x 1GB 2 Shares $50.00
IBM Bluemix Instant
Runtimes
512MB 4 vCPUs $24.15
Instant
Runtimes
1GB 4 vCPUs $49.35
Containers 512MB 4 vCPUs $10.22
Containers 1GB 4 vCPUs $20.59
Cloud Costs
Provider Type Memory CPUs Cost/month
Amazon EC2 Linux t2.nano 512MB 1 vCPU $4.68
Linux t2.micro 1GB 1 vCPU $9.36
Linux t2.small 2GB 1 vCPU $18.72
Digital Ocean Standard 512MB 1 Core Processor $5.00
Standard 1GB 1 Core Processor $10.00
Standard 2GB 2 Core
Processors
$20.00
Pivotal Cloud
Foundry
App Instance 512MB 4 vCPUs $10.80
App Instance 1GB 4 vCPUs $21.60
App Instance 2GB 4 vCPUs $43.20
Heroku Standard 1x 512MB 1 Share $25.00
Standard 2x 1GB 2 Shares $50.00
IBM Bluemix Instant
Runtimes
512MB 4 vCPUs $24.15
Instant
Runtimes
1GB 4 vCPUs $49.35
Containers 512MB 4 vCPUs $10.22
Containers 1GB 4 vCPUs $20.59
Cloud Costs
Provider Type Memory CPUs Cost/month
Amazon EC2 Linux t2.nano 512MB 1 vCPU $4.68
Linux t2.micro 1GB 1 vCPU $9.36
Linux t2.small 2GB 1 vCPU $18.72
Linux t2.medium 4GB 2 vCPUs $37.44
Digital Ocean Standard 512MB 1 Core Processor $5.00
Standard 1GB 1 Core Processor $10.00
Standard 2GB 2 Core
Processors
$20.00
Pivotal Cloud
Foundry
App Instance 512MB 4 vCPUs $10.80
App Instance 1GB 4 vCPUs $21.60
App Instance 2GB 4 vCPUs $43.20
Heroku Standard 1x 512MB 1 Share $25.00
Standard 2x 1GB 2 Shares $50.00
IBM Bluemix Instant
Runtimes
512MB 4 vCPUs $24.15
Instant
Runtimes
1GB 4 vCPUs $49.35
Containers 512MB 4 vCPUs $10.22
Containers 1GB 4 vCPUs $20.59
93
Full Stack Development
94 1/17/17
95
Unless it is absolutely necessary to run Java in web browsers,
disable it as described below, even after updating to 7u11. This will
help mitigate other Java vulnerabilities that may be discovered in
the future.
This and previous Java vulnerabilities have been widely targeted
by attackers, and new Java vulnerabilities are likely to be
discovered. To defend against this and future Java
vulnerabilities, consider disabling Java in web browsers…
96
Unless it is absolutely necessary to run Java in web browsers,
disable it as described below, even after updating to 7u11. This will
help mitigate other Java vulnerabilities that may be discovered in
the future.
This and previous Java vulnerabilities have been widely targeted
by attackers, and new Java vulnerabilities are likely to be
discovered. To defend against this and future Java
vulnerabilities, consider disabling Java in web browsers…
97
98
99
•Reuse of code components
•Write One Run Anywhere
•Sharing of data models
•Less maintenance
•Server-side rendering
•Pre-Initialise UI on the server
•Improves first paint time
•Enables search indexing
100
+
101
+
102
+
103 1/17/17
104
105
106
107
+
108
+
109
Which, Where, When?
110
Node.js SwiftJava
111
High Processing Performance
Transaction Processing Frameworks
Node.js SwiftJava
Type Safety for Calculations
112
High Processing Performance
Transaction Processing Frameworks
Node.js SwiftJava
Type Safety for Calculations
Business Logic
Performance Critical
Batch Processing
113
High Processing Performance High IO Performance
Transaction Processing Frameworks
Node.js SwiftJava
Fullstack Web Development
Type Safety for Calculations Async Programming for Scale
Business Logic
Performance Critical
Batch Processing
114
High Processing Performance High IO Performance
Transaction Processing Frameworks
Node.js SwiftJava
Fullstack Web Development
Type Safety for Calculations Async Programming for Scale
Business Logic
Performance Critical
Batch Processing
Delivery Tier
Enterprise Modernisation
115
High Processing Performance High IO Performance
Transaction Processing Frameworks
Node.js SwiftJava
Fullstack Web Development
Type Safety for Calculations Async Programming for Scale
?
Business Logic
Performance Critical
Batch Processing
Delivery Tier
Enterprise Modernisation
116
Emerging Architectures
117 1/17/17
GATEWAY
PUBLIC NETWORK CLOUD NETWORK
Client Devices Application Tier Database Tier
118 1/17/17
GATEWAY
PUBLIC NETWORK CLOUD NETWORK
Client Devices Service Tier Database Tier
119 1/17/17
GATEWAY
PUBLIC NETWORK CLOUD NETWORK
Client Devices Service Tier Database TierDelivery Tier
120 1/17/17
GATEWAY
PUBLIC NETWORK CLOUD NETWORK
Client Devices Service Tier Hosted ServicesDelivery Tier
121 1/17/17
GATEWAY
PUBLIC NETWORK CLOUD NETWORK
Client Devices Hosted ServicesDelivery Tier
ROUTING PROXY
Micro-Services
122 1/17/17
GATEWAY
PUBLIC NETWORK CLOUD NETWORK
Client Devices Hosted ServicesDelivery Tier
ROUTING PROXY
Micro-Services
123 1/17/17
GATEWAY
PUBLIC NETWORK CLOUD NETWORK
Client Devices Hosted ServicesDelivery Tier
ROUTING PROXY
Micro-Services
124 1/17/17
GATEWAY
PUBLIC NETWORK CLOUD NETWORK
Client Devices Hosted ServicesDelivery Tier
ROUTING PROXY
Micro-Services
125 1/17/17
GATEWAY
PUBLIC NETWORK CLOUD NETWORK
Client Devices Hosted ServicesDelivery Tier
ROUTING PROXY
Micro-Services
API Team
126 1/17/17
GATEWAY
PUBLIC NETWORK CLOUD NETWORK
Client Devices Hosted ServicesDelivery Tier
ROUTING PROXY
Micro-Services
API Team
Web Team
Android Team
iOS Team
127
Server Side Rendering
First Paint Time
Search Engine Optimisation
Network Payload Size
CPU Usage
Request Frequency
Battery Usage
Memory Usage
128
129
130
131 1/17/17
GATEWAY
PUBLIC NETWORK CLOUD NETWORK
Client Devices Hosted ServicesDelivery Tier
ROUTING PROXY
Micro-Services
API Team
Web Team
Android Team
iOS Team
132 1/17/17
GATEWAY
PUBLIC NETWORK CLOUD NETWORK
Client Devices Hosted ServicesDelivery Tier
ROUTING PROXY
Micro-Services
133 1/17/17
GATEWAY
PUBLIC NETWORK CLOUD NETWORK
Client Devices Hosted ServicesDelivery Tier
ROUTING PROXY
Micro-Services
134 1/17/17
GATEWAY
PUBLIC NETWORK CLOUD NETWORK
Client Devices Hosted ServicesDelivery Tier
ROUTING PROXY
Micro-Services
135 1/17/17
GATEWAY
PUBLIC NETWORK CLOUD NETWORK
Client Devices Hosted Services
ROUTING PROXY
Micro-ServicesBackend For Frontend

(BFF)
136
Project
Generation Infra
Local
Plugin
BluemixCLI
Bluemix Dashboard
1. Starts with…
Bluemix
Codes …
Check in to…
App
DevOps
Open Toolchains
Github
Kicks off…
Builds & Deploys…
Project
Plugin
Developer
Calls …
Generates …
Source Code
IDE
Orion, VSCode, Atom,
Xcode…
Autoscale Logmet BAM
Integrates
with …
Provisions …
Local Container
Local container generation
and management
Local build and debug
Project scaffolding
SDK gen
Service provisioning
API Model generation
Swagger generation
137
138
139
140
141
http://developer.ibm.com/cloud-native
Bluemix Mobile & Omni-Channel!
BMO-6321: Patterns in Omni-Channel
Cloud Application Development
Containers & Microservices!
BMC-2173: Introduction to Docker
Containers and Microservices
Visit the DevZone in the Concourse for open
Hello World labs and Ask Me Anything booths!
Wednesday, 11:15 AM - 12:00 PM | South Pacific C | Session ID: 6321A
Tuesday, 4:45 PM - 5:30 PM | South Pacific A | Session ID: 2173A
Tuesday, 11:00 AM - 12:45 PM | DevZone Ask Me Anything # 2 | Session ID: 7087A
Ask Me Anything: Bluemix Cloud-Native Development
Ask Me Anything: Server-Side Swift Development
Wednesday, 2:30 PM - 5:00 PM | DevZone Ask Me Anything # 6 | Session ID: 7088A
Node.js & LoopBack
BAP-1117: Introduction to LoopBack
Node.js Framework
Liberty & Microservices
BAP - 5081: Microservices with IBM WebSphere Liberty:
What, Why and When?
Wednesday, 11:15 AM - 12:00 PM | Islander F | Session ID: 1117A
Tuesday, 7:00 PM - 7:20 PM | Engagement Theater Booth #319 | Session ID: 5081A
143
Questions?
144 1/17/17
Please note
IBM’s statements regarding its plans, directions, and intent 

are subject to change or withdrawal without notice at IBM’s 

sole discretion.
Information regarding potential future products is intended to
outline our general product direction and it should not be relied
on in making a purchasing decision.
The information mentioned regarding potential future products
is not a commitment, promise, or legal obligation to deliver 

any material, code or functionality. Information about potential
future products may not be incorporated into any contract.
The development, release, and timing of any future features 

or functionality described for our products remains at our sole
discretion.
Performance is based on measurements and projections 

using standard IBM benchmarks in a controlled environment.
The actual throughput or performance that any user will
experience will vary depending upon many factors, including
considerations such as the amount of multiprogramming in

the user’s job stream, the I/O configuration, the storage
configuration, and the workload processed. Therefore, no
assurance can be given that an individual user will achieve
results similar to those stated here.
145 1/17/17
Notices and disclaimers
Copyright © 2017 by International Business Machines Corporation (IBM).
No part of this document may be reproduced or transmitted in any form
without written permission from IBM.
U.S. Government Users Restricted Rights — use, duplication or
disclosure restricted by GSA ADP Schedule Contract with IBM.
Information in these presentations (including information relating to
products that have not yet been announced by IBM) has been reviewed
for accuracy as of the date of initial publication and could include
unintentional technical or typographical errors. IBM shall have no
responsibility to update this information. This document is distributed
“as is” without any warranty, either express or implied. In no event
shall IBM be liable for any damage arising from the use of this
information, including but not limited to, loss of data, business
interruption, loss of profit or loss of opportunity. IBM products and
services are warranted according to the terms and conditions of the
agreements under which they are provided.
IBM products are manufactured from new parts or new and used parts. 

In some cases, a product may not be new and may have been previously
installed. Regardless, our warranty terms apply.”
Any statements regarding IBM's future direction, intent or product
plans are subject to change or withdrawal without notice.
Performance data contained herein was generally obtained in a
controlled, isolated environments. Customer examples are presented 

as illustrations of how those customers have used IBM products and 

the results they may have achieved. Actual performance, cost, savings or
other results in other operating environments may vary.
References in this document to IBM products, programs, or services does
not imply that IBM intends to make such products, programs or services
available in all countries in which IBM operates or does business.
Workshops, sessions and associated materials may have been prepared
by independent session speakers, and do not necessarily reflect the 

views of IBM. All materials and discussions are provided for informational
purposes only, and are neither intended to, nor shall constitute legal or
other guidance or advice to any individual participant or their specific
situation.
It is the customer’s responsibility to insure its own compliance with legal
requirements and to obtain advice of competent legal counsel as to
the identification and interpretation of any relevant laws and regulatory
requirements that may affect the customer’s business and any actions

the customer may need to take to comply with such laws. IBM does not
provide legal advice or represent or warrant that its services or products
will ensure that the customer is in compliance with any law.
146 1/17/17
Notices and disclaimers
continued
Information concerning non-IBM products was obtained from the suppliers
of those products, their published announcements or other publicly
available sources. IBM has not tested those products in connection with
this publication and cannot confirm the accuracy of performance,
compatibility or any other claims related to non-IBM products. Questions
on the capabilities of non-IBM products should be addressed to the
suppliers of those products. IBM does not warrant the quality of any third-
party products, or the ability of any such third-party products to
interoperate with IBM’s products. IBM expressly disclaims all
warranties, expressed or implied, including but not limited to, the
implied warranties of merchantability and fitness for a particular,
purpose.
The provision of the information contained herein is not intended to, and
does not, grant any right or license under any IBM patents, copyrights,
trademarks or other intellectual property right.
IBM, the IBM logo, ibm.com, Aspera®, Bluemix, Blueworks Live, CICS,
Clearcase, Cognos®, DOORS®, Emptoris®, Enterprise Document
Management System™, FASP®, FileNet®, Global Business Services®,

Global Technology Services®, IBM ExperienceOne™, IBM SmartCloud®,
IBM Social Business®, Information on Demand, ILOG, Maximo®,
MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower,
PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®,
PureData®, PureExperience®, PureFlex®, pureQuery®, pureScale®,
PureSystems®, QRadar®, Rational®, Rhapsody®, Smarter Commerce®,
SoDA, SPSS, Sterling Commerce®, StoredIQ, Tealeaf®, Tivoli® Trusteer®,
Unica®, urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and
System z® Z/OS, are trademarks of International Business Machines
Corporation, registered in many jurisdictions worldwide. Other product
and service names might be trademarks of IBM or other companies. A
current list of IBM trademarks is available on the Web at "Copyright and
trademark information" at: www.ibm.com/legal/copytrade.shtml.
InterConnect
2017
147 1/17/17

More Related Content

What's hot

Implementing Comet using PHP
Implementing Comet using PHPImplementing Comet using PHP
Implementing Comet using PHPKing Foo
 
Release with confidence
Release with confidenceRelease with confidence
Release with confidenceJohn Congdon
 
Avoiding Callback Hell with Async.js
Avoiding Callback Hell with Async.jsAvoiding Callback Hell with Async.js
Avoiding Callback Hell with Async.jscacois
 
Introducing Middy, Node.js middleware engine for AWS Lambda (FrontConf Munich...
Introducing Middy, Node.js middleware engine for AWS Lambda (FrontConf Munich...Introducing Middy, Node.js middleware engine for AWS Lambda (FrontConf Munich...
Introducing Middy, Node.js middleware engine for AWS Lambda (FrontConf Munich...Luciano Mammino
 
SDPHP - Percona Toolkit (It's Basically Magic)
SDPHP - Percona Toolkit (It's Basically Magic)SDPHP - Percona Toolkit (It's Basically Magic)
SDPHP - Percona Toolkit (It's Basically Magic)Robert Swisher
 
An Introduction to Windows PowerShell
An Introduction to Windows PowerShellAn Introduction to Windows PowerShell
An Introduction to Windows PowerShellDale Lane
 
Mobile Open Day: React Native: Crossplatform fast dive
Mobile Open Day: React Native: Crossplatform fast diveMobile Open Day: React Native: Crossplatform fast dive
Mobile Open Day: React Native: Crossplatform fast diveepamspb
 
Asynchronous programming done right - Node.js
Asynchronous programming done right - Node.jsAsynchronous programming done right - Node.js
Asynchronous programming done right - Node.jsPiotr Pelczar
 
JavaOne 2016 -Emerging Web App Architectures using Java and node.js
JavaOne 2016 -Emerging Web App Architectures using Java and node.jsJavaOne 2016 -Emerging Web App Architectures using Java and node.js
JavaOne 2016 -Emerging Web App Architectures using Java and node.jsSteve Wallin
 
The Promised Land (in Angular)
The Promised Land (in Angular)The Promised Land (in Angular)
The Promised Land (in Angular)Domenic Denicola
 
RubyKaigi2015 making robots-with-mruby
RubyKaigi2015 making robots-with-mrubyRubyKaigi2015 making robots-with-mruby
RubyKaigi2015 making robots-with-mrubyyamanekko
 
Ad-hoc Runtime Object Structure Visualizations with MetaLinks
Ad-hoc Runtime Object Structure Visualizations with MetaLinks Ad-hoc Runtime Object Structure Visualizations with MetaLinks
Ad-hoc Runtime Object Structure Visualizations with MetaLinks ESUG
 
React Native One Day
React Native One DayReact Native One Day
React Native One DayTroy Miles
 
Understanding Asynchronous JavaScript
Understanding Asynchronous JavaScriptUnderstanding Asynchronous JavaScript
Understanding Asynchronous JavaScriptjnewmanux
 
A Lifecycle Of Code Under Test by Robert Fornal
A Lifecycle Of Code Under Test by Robert FornalA Lifecycle Of Code Under Test by Robert Fornal
A Lifecycle Of Code Under Test by Robert FornalQA or the Highway
 
Incredible Machine with Pipelines and Generators
Incredible Machine with Pipelines and GeneratorsIncredible Machine with Pipelines and Generators
Incredible Machine with Pipelines and Generatorsdantleech
 
React Native Evening
React Native EveningReact Native Evening
React Native EveningTroy Miles
 
Introduction to PowerShell
Introduction to PowerShellIntroduction to PowerShell
Introduction to PowerShellSalaudeen Rajack
 

What's hot (20)

Implementing Comet using PHP
Implementing Comet using PHPImplementing Comet using PHP
Implementing Comet using PHP
 
Release with confidence
Release with confidenceRelease with confidence
Release with confidence
 
Avoiding Callback Hell with Async.js
Avoiding Callback Hell with Async.jsAvoiding Callback Hell with Async.js
Avoiding Callback Hell with Async.js
 
Introducing Middy, Node.js middleware engine for AWS Lambda (FrontConf Munich...
Introducing Middy, Node.js middleware engine for AWS Lambda (FrontConf Munich...Introducing Middy, Node.js middleware engine for AWS Lambda (FrontConf Munich...
Introducing Middy, Node.js middleware engine for AWS Lambda (FrontConf Munich...
 
SDPHP - Percona Toolkit (It's Basically Magic)
SDPHP - Percona Toolkit (It's Basically Magic)SDPHP - Percona Toolkit (It's Basically Magic)
SDPHP - Percona Toolkit (It's Basically Magic)
 
An Introduction to Windows PowerShell
An Introduction to Windows PowerShellAn Introduction to Windows PowerShell
An Introduction to Windows PowerShell
 
Mobile Open Day: React Native: Crossplatform fast dive
Mobile Open Day: React Native: Crossplatform fast diveMobile Open Day: React Native: Crossplatform fast dive
Mobile Open Day: React Native: Crossplatform fast dive
 
PlantUML
PlantUMLPlantUML
PlantUML
 
Asynchronous programming done right - Node.js
Asynchronous programming done right - Node.jsAsynchronous programming done right - Node.js
Asynchronous programming done right - Node.js
 
Draw More, Work Less
Draw More, Work LessDraw More, Work Less
Draw More, Work Less
 
JavaOne 2016 -Emerging Web App Architectures using Java and node.js
JavaOne 2016 -Emerging Web App Architectures using Java and node.jsJavaOne 2016 -Emerging Web App Architectures using Java and node.js
JavaOne 2016 -Emerging Web App Architectures using Java and node.js
 
The Promised Land (in Angular)
The Promised Land (in Angular)The Promised Land (in Angular)
The Promised Land (in Angular)
 
RubyKaigi2015 making robots-with-mruby
RubyKaigi2015 making robots-with-mrubyRubyKaigi2015 making robots-with-mruby
RubyKaigi2015 making robots-with-mruby
 
Ad-hoc Runtime Object Structure Visualizations with MetaLinks
Ad-hoc Runtime Object Structure Visualizations with MetaLinks Ad-hoc Runtime Object Structure Visualizations with MetaLinks
Ad-hoc Runtime Object Structure Visualizations with MetaLinks
 
React Native One Day
React Native One DayReact Native One Day
React Native One Day
 
Understanding Asynchronous JavaScript
Understanding Asynchronous JavaScriptUnderstanding Asynchronous JavaScript
Understanding Asynchronous JavaScript
 
A Lifecycle Of Code Under Test by Robert Fornal
A Lifecycle Of Code Under Test by Robert FornalA Lifecycle Of Code Under Test by Robert Fornal
A Lifecycle Of Code Under Test by Robert Fornal
 
Incredible Machine with Pipelines and Generators
Incredible Machine with Pipelines and GeneratorsIncredible Machine with Pipelines and Generators
Incredible Machine with Pipelines and Generators
 
React Native Evening
React Native EveningReact Native Evening
React Native Evening
 
Introduction to PowerShell
Introduction to PowerShellIntroduction to PowerShell
Introduction to PowerShell
 

Viewers also liked

Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?Phil Estes
 
Playgrounds: Mobile + Swift = BFF
Playgrounds: Mobile + Swift = BFFPlaygrounds: Mobile + Swift = BFF
Playgrounds: Mobile + Swift = BFFChris Bailey
 
Swift Tutorial Part 1. The Complete Guide For Swift Programming Language
Swift Tutorial Part 1. The Complete Guide For Swift Programming LanguageSwift Tutorial Part 1. The Complete Guide For Swift Programming Language
Swift Tutorial Part 1. The Complete Guide For Swift Programming LanguageHossam Ghareeb
 
iOS for Android Developers (with Swift)
iOS for Android Developers (with Swift)iOS for Android Developers (with Swift)
iOS for Android Developers (with Swift)David Truxall
 
A swift introduction to Swift
A swift introduction to SwiftA swift introduction to Swift
A swift introduction to SwiftGiordano Scalzo
 
To Swift 2...and Beyond!
To Swift 2...and Beyond!To Swift 2...and Beyond!
To Swift 2...and Beyond!Scott Gardner
 
iOS Swift & OCR 玩文字辨識
iOS Swift & OCR 玩文字辨識iOS Swift & OCR 玩文字辨識
iOS Swift & OCR 玩文字辨識政斌 楊
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheLeslie Samuel
 
Regione Lombardia - Bando AttrACT - Accordi per l’attrattività
Regione Lombardia - Bando AttrACT - Accordi per l’attrattivitàRegione Lombardia - Bando AttrACT - Accordi per l’attrattività
Regione Lombardia - Bando AttrACT - Accordi per l’attrattivitàGuido Alberto Micci
 
EL FRAUDE DE CEDATOS / https://www.youtube.com/watch?v=ouLs1O2bmN0&t=1199s
EL FRAUDE DE CEDATOS / https://www.youtube.com/watch?v=ouLs1O2bmN0&t=1199sEL FRAUDE DE CEDATOS / https://www.youtube.com/watch?v=ouLs1O2bmN0&t=1199s
EL FRAUDE DE CEDATOS / https://www.youtube.com/watch?v=ouLs1O2bmN0&t=1199spolitao
 
Guida alla realizzazione di un localization kit
Guida alla realizzazione di un localization kitGuida alla realizzazione di un localization kit
Guida alla realizzazione di un localization kitLuigi Muzii
 
Winston Churchill Presentation
Winston Churchill PresentationWinston Churchill Presentation
Winston Churchill Presentation71721
 
Medición por ecografía basado en radiofrecuencia del Grosor Intima Media Caro...
Medición por ecografía basado en radiofrecuencia del Grosor Intima Media Caro...Medición por ecografía basado en radiofrecuencia del Grosor Intima Media Caro...
Medición por ecografía basado en radiofrecuencia del Grosor Intima Media Caro...Conferencia Sindrome Metabolico
 
Mba assignments projects
Mba assignments projectsMba assignments projects
Mba assignments projectsDistPub India
 
Mujeres importantes en la historia de Marruecos
Mujeres importantes en la historia de MarruecosMujeres importantes en la historia de Marruecos
Mujeres importantes en la historia de Marruecosluifaris
 
Unfair dismissal
Unfair dismissalUnfair dismissal
Unfair dismissalTommy Myles
 
What successful it managers do from 8am 8pm: Your timetable
What successful it managers do from 8am 8pm: Your timetableWhat successful it managers do from 8am 8pm: Your timetable
What successful it managers do from 8am 8pm: Your timetableRedspire Ltd
 
La diferencia entre investigar un insight y descubrir un insight
La diferencia entre  investigar un insight y  descubrir un insightLa diferencia entre  investigar un insight y  descubrir un insight
La diferencia entre investigar un insight y descubrir un insightUPN Universidad Privada del Norte
 
S&OP IBF-3 Core-Questions-Biel-07-07-12
S&OP IBF-3 Core-Questions-Biel-07-07-12S&OP IBF-3 Core-Questions-Biel-07-07-12
S&OP IBF-3 Core-Questions-Biel-07-07-12Jim Biel
 
7 Hacks for Google AdWords to Driver More Leads & Conversion
7 Hacks for Google AdWords to Driver More Leads & Conversion7 Hacks for Google AdWords to Driver More Leads & Conversion
7 Hacks for Google AdWords to Driver More Leads & ConversionArayan Kummar Sharma
 

Viewers also liked (20)

Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?
 
Playgrounds: Mobile + Swift = BFF
Playgrounds: Mobile + Swift = BFFPlaygrounds: Mobile + Swift = BFF
Playgrounds: Mobile + Swift = BFF
 
Swift Tutorial Part 1. The Complete Guide For Swift Programming Language
Swift Tutorial Part 1. The Complete Guide For Swift Programming LanguageSwift Tutorial Part 1. The Complete Guide For Swift Programming Language
Swift Tutorial Part 1. The Complete Guide For Swift Programming Language
 
iOS for Android Developers (with Swift)
iOS for Android Developers (with Swift)iOS for Android Developers (with Swift)
iOS for Android Developers (with Swift)
 
A swift introduction to Swift
A swift introduction to SwiftA swift introduction to Swift
A swift introduction to Swift
 
To Swift 2...and Beyond!
To Swift 2...and Beyond!To Swift 2...and Beyond!
To Swift 2...and Beyond!
 
iOS Swift & OCR 玩文字辨識
iOS Swift & OCR 玩文字辨識iOS Swift & OCR 玩文字辨識
iOS Swift & OCR 玩文字辨識
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 
Regione Lombardia - Bando AttrACT - Accordi per l’attrattività
Regione Lombardia - Bando AttrACT - Accordi per l’attrattivitàRegione Lombardia - Bando AttrACT - Accordi per l’attrattività
Regione Lombardia - Bando AttrACT - Accordi per l’attrattività
 
EL FRAUDE DE CEDATOS / https://www.youtube.com/watch?v=ouLs1O2bmN0&t=1199s
EL FRAUDE DE CEDATOS / https://www.youtube.com/watch?v=ouLs1O2bmN0&t=1199sEL FRAUDE DE CEDATOS / https://www.youtube.com/watch?v=ouLs1O2bmN0&t=1199s
EL FRAUDE DE CEDATOS / https://www.youtube.com/watch?v=ouLs1O2bmN0&t=1199s
 
Guida alla realizzazione di un localization kit
Guida alla realizzazione di un localization kitGuida alla realizzazione di un localization kit
Guida alla realizzazione di un localization kit
 
Winston Churchill Presentation
Winston Churchill PresentationWinston Churchill Presentation
Winston Churchill Presentation
 
Medición por ecografía basado en radiofrecuencia del Grosor Intima Media Caro...
Medición por ecografía basado en radiofrecuencia del Grosor Intima Media Caro...Medición por ecografía basado en radiofrecuencia del Grosor Intima Media Caro...
Medición por ecografía basado en radiofrecuencia del Grosor Intima Media Caro...
 
Mba assignments projects
Mba assignments projectsMba assignments projects
Mba assignments projects
 
Mujeres importantes en la historia de Marruecos
Mujeres importantes en la historia de MarruecosMujeres importantes en la historia de Marruecos
Mujeres importantes en la historia de Marruecos
 
Unfair dismissal
Unfair dismissalUnfair dismissal
Unfair dismissal
 
What successful it managers do from 8am 8pm: Your timetable
What successful it managers do from 8am 8pm: Your timetableWhat successful it managers do from 8am 8pm: Your timetable
What successful it managers do from 8am 8pm: Your timetable
 
La diferencia entre investigar un insight y descubrir un insight
La diferencia entre  investigar un insight y  descubrir un insightLa diferencia entre  investigar un insight y  descubrir un insight
La diferencia entre investigar un insight y descubrir un insight
 
S&OP IBF-3 Core-Questions-Biel-07-07-12
S&OP IBF-3 Core-Questions-Biel-07-07-12S&OP IBF-3 Core-Questions-Biel-07-07-12
S&OP IBF-3 Core-Questions-Biel-07-07-12
 
7 Hacks for Google AdWords to Driver More Leads & Conversion
7 Hacks for Google AdWords to Driver More Leads & Conversion7 Hacks for Google AdWords to Driver More Leads & Conversion
7 Hacks for Google AdWords to Driver More Leads & Conversion
 

Similar to InterConnect: Java, Node.js and Swift - Which, Why and When

JavaOne 2013: Java 8 - The Good Parts
JavaOne 2013: Java 8 - The Good PartsJavaOne 2013: Java 8 - The Good Parts
JavaOne 2013: Java 8 - The Good PartsKonrad Malawski
 
InterConnect2016: WebApp Architectures with Java and Node.js
InterConnect2016: WebApp Architectures with Java and Node.jsInterConnect2016: WebApp Architectures with Java and Node.js
InterConnect2016: WebApp Architectures with Java and Node.jsChris Bailey
 
GDG Devfest 2019 - Build go kit microservices at kubernetes with ease
GDG Devfest 2019 - Build go kit microservices at kubernetes with easeGDG Devfest 2019 - Build go kit microservices at kubernetes with ease
GDG Devfest 2019 - Build go kit microservices at kubernetes with easeKAI CHU CHUNG
 
Swift Cloud Workshop - Swift Microservices
Swift Cloud Workshop - Swift MicroservicesSwift Cloud Workshop - Swift Microservices
Swift Cloud Workshop - Swift MicroservicesChris Bailey
 
"О некоторых особенностях Objective-C++" Влад Михайленко (Maps.Me)
"О некоторых особенностях Objective-C++" Влад Михайленко (Maps.Me)"О некоторых особенностях Objective-C++" Влад Михайленко (Maps.Me)
"О некоторых особенностях Objective-C++" Влад Михайленко (Maps.Me)AvitoTech
 
Working effectively with legacy code
Working effectively with legacy codeWorking effectively with legacy code
Working effectively with legacy codeShriKant Vashishtha
 
C#7, 7.1, 7.2, 7.3 e C# 8
C#7, 7.1, 7.2, 7.3 e C# 8C#7, 7.1, 7.2, 7.3 e C# 8
C#7, 7.1, 7.2, 7.3 e C# 8Giovanni Bassi
 
Visual studio 2008
Visual studio 2008Visual studio 2008
Visual studio 2008Luis Enrique
 
Building Robust Applications with Dynamic Visualforce
Building Robust Applications with Dynamic Visualforce Building Robust Applications with Dynamic Visualforce
Building Robust Applications with Dynamic Visualforce vraopolisetti
 
Build pipelines with TeamCity and Kotlin DSL
Build pipelines with TeamCity and Kotlin DSLBuild pipelines with TeamCity and Kotlin DSL
Build pipelines with TeamCity and Kotlin DSLAnton Arhipov
 
Interoperable Web Services with JAX-WS
Interoperable Web Services with JAX-WSInteroperable Web Services with JAX-WS
Interoperable Web Services with JAX-WSCarol McDonald
 
Altitude San Francisco 2018: WebAssembly Tools & Applications
Altitude San Francisco 2018: WebAssembly Tools & ApplicationsAltitude San Francisco 2018: WebAssembly Tools & Applications
Altitude San Francisco 2018: WebAssembly Tools & ApplicationsFastly
 
2. Data, Operators, IO (5).ppt
2. Data, Operators, IO (5).ppt2. Data, Operators, IO (5).ppt
2. Data, Operators, IO (5).pptElisée Ndjabu
 

Similar to InterConnect: Java, Node.js and Swift - Which, Why and When (20)

Java 8: the good parts!
Java 8: the good parts!Java 8: the good parts!
Java 8: the good parts!
 
JavaOne 2013: Java 8 - The Good Parts
JavaOne 2013: Java 8 - The Good PartsJavaOne 2013: Java 8 - The Good Parts
JavaOne 2013: Java 8 - The Good Parts
 
InterConnect2016: WebApp Architectures with Java and Node.js
InterConnect2016: WebApp Architectures with Java and Node.jsInterConnect2016: WebApp Architectures with Java and Node.js
InterConnect2016: WebApp Architectures with Java and Node.js
 
GDG Devfest 2019 - Build go kit microservices at kubernetes with ease
GDG Devfest 2019 - Build go kit microservices at kubernetes with easeGDG Devfest 2019 - Build go kit microservices at kubernetes with ease
GDG Devfest 2019 - Build go kit microservices at kubernetes with ease
 
Cocoa heads 09112017
Cocoa heads 09112017Cocoa heads 09112017
Cocoa heads 09112017
 
C++ Overview PPT
C++ Overview PPTC++ Overview PPT
C++ Overview PPT
 
C++
C++C++
C++
 
Linq intro
Linq introLinq intro
Linq intro
 
Swift Cloud Workshop - Swift Microservices
Swift Cloud Workshop - Swift MicroservicesSwift Cloud Workshop - Swift Microservices
Swift Cloud Workshop - Swift Microservices
 
"О некоторых особенностях Objective-C++" Влад Михайленко (Maps.Me)
"О некоторых особенностях Objective-C++" Влад Михайленко (Maps.Me)"О некоторых особенностях Objective-C++" Влад Михайленко (Maps.Me)
"О некоторых особенностях Objective-C++" Влад Михайленко (Maps.Me)
 
Working effectively with legacy code
Working effectively with legacy codeWorking effectively with legacy code
Working effectively with legacy code
 
C#7, 7.1, 7.2, 7.3 e C# 8
C#7, 7.1, 7.2, 7.3 e C# 8C#7, 7.1, 7.2, 7.3 e C# 8
C#7, 7.1, 7.2, 7.3 e C# 8
 
Visual studio 2008
Visual studio 2008Visual studio 2008
Visual studio 2008
 
Building Robust Applications with Dynamic Visualforce
Building Robust Applications with Dynamic Visualforce Building Robust Applications with Dynamic Visualforce
Building Robust Applications with Dynamic Visualforce
 
PHP Technical Question
PHP Technical QuestionPHP Technical Question
PHP Technical Question
 
Build pipelines with TeamCity and Kotlin DSL
Build pipelines with TeamCity and Kotlin DSLBuild pipelines with TeamCity and Kotlin DSL
Build pipelines with TeamCity and Kotlin DSL
 
2. data, operators, io
2. data, operators, io2. data, operators, io
2. data, operators, io
 
Interoperable Web Services with JAX-WS
Interoperable Web Services with JAX-WSInteroperable Web Services with JAX-WS
Interoperable Web Services with JAX-WS
 
Altitude San Francisco 2018: WebAssembly Tools & Applications
Altitude San Francisco 2018: WebAssembly Tools & ApplicationsAltitude San Francisco 2018: WebAssembly Tools & Applications
Altitude San Francisco 2018: WebAssembly Tools & Applications
 
2. Data, Operators, IO (5).ppt
2. Data, Operators, IO (5).ppt2. Data, Operators, IO (5).ppt
2. Data, Operators, IO (5).ppt
 

More from Chris Bailey

NodeJS Interactive 2019: FaaS meets Frameworks
NodeJS Interactive 2019:  FaaS meets FrameworksNodeJS Interactive 2019:  FaaS meets Frameworks
NodeJS Interactive 2019: FaaS meets FrameworksChris Bailey
 
Voxxed Micro-services: Serverless JakartaEE - JAX-RS comes to FaaS
Voxxed Micro-services: Serverless JakartaEE - JAX-RS comes to FaaSVoxxed Micro-services: Serverless JakartaEE - JAX-RS comes to FaaS
Voxxed Micro-services: Serverless JakartaEE - JAX-RS comes to FaaSChris Bailey
 
Silicon Valley Code Camp 2019 - Reaching the Cloud Native World
Silicon Valley Code Camp 2019 - Reaching the Cloud Native WorldSilicon Valley Code Camp 2019 - Reaching the Cloud Native World
Silicon Valley Code Camp 2019 - Reaching the Cloud Native WorldChris Bailey
 
FaaS Meets Java EE: Developing Cloud Native Applications at Speed
FaaS Meets Java EE: Developing Cloud Native Applications at SpeedFaaS Meets Java EE: Developing Cloud Native Applications at Speed
FaaS Meets Java EE: Developing Cloud Native Applications at SpeedChris Bailey
 
AltConf 2019: Server-Side Swift State of the Union
AltConf 2019:  Server-Side Swift State of the UnionAltConf 2019:  Server-Side Swift State of the Union
AltConf 2019: Server-Side Swift State of the UnionChris Bailey
 
Server-side Swift with Swagger
Server-side Swift with SwaggerServer-side Swift with Swagger
Server-side Swift with SwaggerChris Bailey
 
Node Summit 2018: Cloud Native Node.js
Node Summit 2018: Cloud Native Node.jsNode Summit 2018: Cloud Native Node.js
Node Summit 2018: Cloud Native Node.jsChris Bailey
 
Index - BFFs vs GraphQL
Index - BFFs vs GraphQLIndex - BFFs vs GraphQL
Index - BFFs vs GraphQLChris Bailey
 
Swift Cloud Workshop - Codable, the key to Fullstack Swift
Swift Cloud Workshop - Codable, the key to Fullstack SwiftSwift Cloud Workshop - Codable, the key to Fullstack Swift
Swift Cloud Workshop - Codable, the key to Fullstack SwiftChris Bailey
 
Try!Swift India 2017: All you need is Swift
Try!Swift India 2017: All you need is SwiftTry!Swift India 2017: All you need is Swift
Try!Swift India 2017: All you need is SwiftChris Bailey
 
Swift Summit 2017: Server Swift State of the Union
Swift Summit 2017: Server Swift State of the UnionSwift Summit 2017: Server Swift State of the Union
Swift Summit 2017: Server Swift State of the UnionChris Bailey
 
IBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js MicroservicesIBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js MicroservicesChris Bailey
 
Node Interactive: Node.js Performance and Highly Scalable Micro-Services
Node Interactive: Node.js Performance and Highly Scalable Micro-ServicesNode Interactive: Node.js Performance and Highly Scalable Micro-Services
Node Interactive: Node.js Performance and Highly Scalable Micro-ServicesChris Bailey
 
FrenchKit 2017: Server(less) Swift
FrenchKit 2017: Server(less) SwiftFrenchKit 2017: Server(less) Swift
FrenchKit 2017: Server(less) SwiftChris Bailey
 
AltConf 2017: Full Stack Swift in 30 Minutes
AltConf 2017: Full Stack Swift in 30 MinutesAltConf 2017: Full Stack Swift in 30 Minutes
AltConf 2017: Full Stack Swift in 30 MinutesChris Bailey
 
Swift Summit: Pushing the boundaries of Swift to the Server
Swift Summit: Pushing the boundaries of Swift to the ServerSwift Summit: Pushing the boundaries of Swift to the Server
Swift Summit: Pushing the boundaries of Swift to the ServerChris Bailey
 
O'Reilly Software Architecture Conf: Cloud Economics
O'Reilly Software Architecture Conf: Cloud EconomicsO'Reilly Software Architecture Conf: Cloud Economics
O'Reilly Software Architecture Conf: Cloud EconomicsChris Bailey
 
FrenchKit: End to End Application Development with Swift
FrenchKit: End to End Application Development with SwiftFrenchKit: End to End Application Development with Swift
FrenchKit: End to End Application Development with SwiftChris Bailey
 
Node Summit 2016: Web App Architectures
Node Summit 2016:  Web App ArchitecturesNode Summit 2016:  Web App Architectures
Node Summit 2016: Web App ArchitecturesChris Bailey
 

More from Chris Bailey (20)

NodeJS Interactive 2019: FaaS meets Frameworks
NodeJS Interactive 2019:  FaaS meets FrameworksNodeJS Interactive 2019:  FaaS meets Frameworks
NodeJS Interactive 2019: FaaS meets Frameworks
 
Voxxed Micro-services: Serverless JakartaEE - JAX-RS comes to FaaS
Voxxed Micro-services: Serverless JakartaEE - JAX-RS comes to FaaSVoxxed Micro-services: Serverless JakartaEE - JAX-RS comes to FaaS
Voxxed Micro-services: Serverless JakartaEE - JAX-RS comes to FaaS
 
Silicon Valley Code Camp 2019 - Reaching the Cloud Native World
Silicon Valley Code Camp 2019 - Reaching the Cloud Native WorldSilicon Valley Code Camp 2019 - Reaching the Cloud Native World
Silicon Valley Code Camp 2019 - Reaching the Cloud Native World
 
FaaS Meets Java EE: Developing Cloud Native Applications at Speed
FaaS Meets Java EE: Developing Cloud Native Applications at SpeedFaaS Meets Java EE: Developing Cloud Native Applications at Speed
FaaS Meets Java EE: Developing Cloud Native Applications at Speed
 
AltConf 2019: Server-Side Swift State of the Union
AltConf 2019:  Server-Side Swift State of the UnionAltConf 2019:  Server-Side Swift State of the Union
AltConf 2019: Server-Side Swift State of the Union
 
Server-side Swift with Swagger
Server-side Swift with SwaggerServer-side Swift with Swagger
Server-side Swift with Swagger
 
Node Summit 2018: Cloud Native Node.js
Node Summit 2018: Cloud Native Node.jsNode Summit 2018: Cloud Native Node.js
Node Summit 2018: Cloud Native Node.js
 
Index - BFFs vs GraphQL
Index - BFFs vs GraphQLIndex - BFFs vs GraphQL
Index - BFFs vs GraphQL
 
Swift Cloud Workshop - Codable, the key to Fullstack Swift
Swift Cloud Workshop - Codable, the key to Fullstack SwiftSwift Cloud Workshop - Codable, the key to Fullstack Swift
Swift Cloud Workshop - Codable, the key to Fullstack Swift
 
Try!Swift India 2017: All you need is Swift
Try!Swift India 2017: All you need is SwiftTry!Swift India 2017: All you need is Swift
Try!Swift India 2017: All you need is Swift
 
Swift Summit 2017: Server Swift State of the Union
Swift Summit 2017: Server Swift State of the UnionSwift Summit 2017: Server Swift State of the Union
Swift Summit 2017: Server Swift State of the Union
 
IBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js MicroservicesIBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js Microservices
 
Node Interactive: Node.js Performance and Highly Scalable Micro-Services
Node Interactive: Node.js Performance and Highly Scalable Micro-ServicesNode Interactive: Node.js Performance and Highly Scalable Micro-Services
Node Interactive: Node.js Performance and Highly Scalable Micro-Services
 
FrenchKit 2017: Server(less) Swift
FrenchKit 2017: Server(less) SwiftFrenchKit 2017: Server(less) Swift
FrenchKit 2017: Server(less) Swift
 
AltConf 2017: Full Stack Swift in 30 Minutes
AltConf 2017: Full Stack Swift in 30 MinutesAltConf 2017: Full Stack Swift in 30 Minutes
AltConf 2017: Full Stack Swift in 30 Minutes
 
Swift Summit: Pushing the boundaries of Swift to the Server
Swift Summit: Pushing the boundaries of Swift to the ServerSwift Summit: Pushing the boundaries of Swift to the Server
Swift Summit: Pushing the boundaries of Swift to the Server
 
O'Reilly Software Architecture Conf: Cloud Economics
O'Reilly Software Architecture Conf: Cloud EconomicsO'Reilly Software Architecture Conf: Cloud Economics
O'Reilly Software Architecture Conf: Cloud Economics
 
FrenchKit: End to End Application Development with Swift
FrenchKit: End to End Application Development with SwiftFrenchKit: End to End Application Development with Swift
FrenchKit: End to End Application Development with Swift
 
Node Summit 2016: Web App Architectures
Node Summit 2016:  Web App ArchitecturesNode Summit 2016:  Web App Architectures
Node Summit 2016: Web App Architectures
 
Cloud Economics
Cloud EconomicsCloud Economics
Cloud Economics
 

Recently uploaded

Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 

Recently uploaded (20)

Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 

InterConnect: Java, Node.js and Swift - Which, Why and When