SlideShare a Scribd company logo
Swift @ IBM Engineering Team
Chris Bailey(@Chris__Bailey)
September 23rd, 2016
End to End Application Development
Swift @ IBM
User-facing
Client Apps
Modern Application Design
App Services
3rd Party Services
On Prem Services
End Users
Swift @ IBM
Modern Application Design
End Users User-facing
Client Apps
App Services
On Prem Services
3rd Party Services
Swift @ IBM
Modern Application Design
End Users User-facing
Client Apps
App Services
On Prem Services
3rd Party Services
Developer Experience
Integrated
Swift @ IBM
Why Swift on the Server?
Swift @ IBM
4.0	
0.0	
20.0	
40.0	
60.0	
80.0	
100.0	
120.0	
				
Performant Applications
http://benchmarksgame.alioth.debian.org/u64q/performance.php?test=spectralnorm
Duration(s)
(lowerisbetter)
Swift @ IBM
4.0	 4.3	
0.0	
20.0	
40.0	
60.0	
80.0	
100.0	
120.0	
				
Performant Applications
http://benchmarksgame.alioth.debian.org/u64q/performance.php?test=spectralnorm
Duration(s)
(lowerisbetter)
Swift @ IBM
4.0	 4.3	
15.8	
0.0	
20.0	
40.0	
60.0	
80.0	
100.0	
120.0	
				
Performant Applications
http://benchmarksgame.alioth.debian.org/u64q/performance.php?test=spectralnorm
Duration(s)
(lowerisbetter)
Swift @ IBM
Performant Applications
http://benchmarksgame.alioth.debian.org/u64q/performance.php?test=spectralnorm
4.0	 4.3	
15.8	
134.2	
0.0	
20.0	
40.0	
60.0	
80.0	
100.0	
120.0	
				
Duration(s)
(lowerisbetter)
Swift @ IBM
15.0	
0.0	
10.0	
20.0	
30.0	
40.0	
50.0	
60.0	
			
Low Memory
http://benchmarksgame.alioth.debian.org/u64q/performance.php?test=spectralnorm
MemoryUsage(MB)
(lowerisbetter)
Swift @ IBM
15.0	
32.2	
0.0	
10.0	
20.0	
30.0	
40.0	
50.0	
60.0	
			
Low Memory
http://benchmarksgame.alioth.debian.org/u64q/performance.php?test=spectralnorm
MemoryUsage(MB)
(lowerisbetter)
Swift @ IBM
15.0	
32.2	
25.3	
0.0	
10.0	
20.0	
30.0	
40.0	
50.0	
60.0	
			
Low Memory
http://benchmarksgame.alioth.debian.org/u64q/performance.php?test=spectralnorm
MemoryUsage(MB)
(lowerisbetter)
Swift @ IBM
15.0	
32.2	
25.3	
54.6	
0.0	
10.0	
20.0	
30.0	
40.0	
50.0	
60.0	
			
Low Memory
http://benchmarksgame.alioth.debian.org/u64q/performance.php?test=spectralnorm
MemoryUsage(MB)
(lowerisbetter)
Swift @ IBM
Swift is ideal for Cloud
Swift @ IBM
Isomorphic Development
Swift @ IBM
Create Swift Project
Isomorphic Development
Swift @ IBM
Create Swift Project
Deploy Deploy
Isomorphic Development
Swift @ IBM
Create Swift Project
Deploy DeployGenerate
Swagger API

Specification
•  Program in Swift on client and server
•  Share code on both sides
•  Automatically created Swagger APIs
Sharing tools and technologies
Swift @ IBM
How does this happen?
Swift @ IBM
Extend Swift to the server
Swift on the Server can attract Swift-
based Developers
Swift @ IBM
December 3rd, 2015
Apache 2.0 Software Licence
Open Source Swift
Linux PlatformsDarwin Platforms
Swift on Linux
Swift @ IBM
Swift
Standard

Library
Foundation Dispatch
Swift
Standard

Library
Foundation Dispatch
Consistent
Runtime across
Platforms
Add a Web Framework
Kitura: A Swift Web Framework and HTTP Server
http://kitura.io
Swift @ IBM
Server / Cloud DeploymentServer / Cloud DeploymentApple Client Deployment
Client Facing App
Client-Specific
Libraries
Kitura Web Framework
Swift @ IBM
Swift
Standard

Library
Foundation Dispatch
Swift
Standard

Library
Foundation Dispatch
Networking
Security
HTTPParsing
Application
Libraries
Application Specific Cloud Services
Server-Specific Libraries
Consistent
Runtime across
Clients/Servers
Kitura-based Server!
Built with Dispatch &
Foundation
Application
Libraries
Server / Cloud DeploymentServer / Cloud DeploymentApple Client Deployment
Client Facing App
Client-Specific
Libraries
Kitura Web Framework
Swift @ IBM
Swift
Standard

Library
Foundation Dispatch
Swift
Standard

Library
Foundation Dispatch
Networking
Security
HTTPParsing
Application
Libraries
Application Specific Cloud Services
Server-Specific Libraries
Consistent
Runtime across
Clients/Servers
Kitura-based Server!
Built with Dispatch &
Foundation
Swift
“Server”
APIs
Application
Libraries


Swift on the Server is Real
Swift 3.0 + Kitura 1.0

Swift @ IBM
Let’s take a tour…
Swift @ IBM
Architecture
Web Framework
Source
Swift Binary
Dispatch
Foundation
Package Manager
Swift Libraries
SwiftyJSON
SwiftMongoDB
C Helpers 
& Interfaces
C Libraries

HttpParser
HiRedis
CURL
PCRE2
Pluggable
Components
Architecture
Web Framework
Source
Swift Binary
Dispatch
Foundation
Package Manager
Swift Libraries
SwiftyJSON
SwiftMongoDB
C Helpers 
& Interfaces
C Libraries

HttpParser
HiRedis
CURL
PCRE2
Pluggable
Components
Swift Libraries
Server APIs
Create an Application
First, create a new project directory
Next, create a new Swift project using the Swift Package Manager.
In Package.swift, add Kitura as a dependency for your project.
Create an Application
In Sources/main.swift, add the following code.
Deploy an Application
Open your browser at http://localhost:8090
Compile and run your application:
Use Services
Deploy to Cloud
$ docker pull ibmcom/kitura-ubuntu:latest $ git clone https://github.com/IBM-Swift/
Kitura-Starter-Bluemix
Using Cloud Tools
http://cloudtools.bluemix.net
• Deployment made easy
• Clone, code, push
• Demo projects to try
http://www.kitura.io/en/resources/tutorials.html
Tutorials
• Creating a Todo-List Backend
• Adding Authentication with Kitura-Credentials
• Adding Sessions with Kitura-Session
• Using Templating Engines with Kitura
• Enabling SSL/TLS on Kitura
• Using FastCGI with Kitura
• Special Types of Response Handlers
• Parsing Requests
Examples
Blitter Social Network
https://github.com/ibm-swift/blitter
BluePic Application
https://github.com/ibm-swift/bluepic
Discover Try
Build
IBM Cloud Tools
Package Catalog Swift Sandbox
Kitura + Packages
DeploySwift @ IBM
Swift @ IBM
https://developer.ibm.com/swift/
Thank you!
Swift @ IBM

More Related Content

PDF
Swift Summit: Pushing the boundaries of Swift to the Server
PDF
InterConnect2016 Monitoring Nodejs
PPTX
Node Summit 2016: Web App Architectures
PDF
QCon Shanghai: Trends in Application Development
PDF
O'Reilly Software Architecture Conf: Cloud Economics
PDF
JavaOne 2014: Java vs JavaScript
PDF
JAX London 2015: Java vs Nodejs
PDF
Revolutionize DevOps with ML capabilities. Introduction to Amazon CodeGuru an...
Swift Summit: Pushing the boundaries of Swift to the Server
InterConnect2016 Monitoring Nodejs
Node Summit 2016: Web App Architectures
QCon Shanghai: Trends in Application Development
O'Reilly Software Architecture Conf: Cloud Economics
JavaOne 2014: Java vs JavaScript
JAX London 2015: Java vs Nodejs
Revolutionize DevOps with ML capabilities. Introduction to Amazon CodeGuru an...

What's hot (17)

PPT
Cloud Economics
PDF
Revolutionize DevOps with ML capabilities. Introduction to Amazon CodeGuru an...
PDF
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...
PDF
Developers Are Users, Too
PDF
Adopting Java for the Serverless world at Serverless Meetup New York and Boston
PDF
Introduction to Spring Cloud
PDF
Writing less code with Serverless on AWS at AWS User Group Nairobi
PDF
Writing less code with Serverless on AWS at OOP 2022
PPTX
CI/CD on AWS
PDF
AltConf 2017: Full Stack Swift in 30 Minutes
PDF
Lessons Learned from building a serverless API
PDF
Ten Battle-Tested Tips for Atlassian Connect Add-ons
PDF
Writing less code with Serverless on AWS at FrOSCon 2021
PPTX
All you know about ASP.NET deployment is wrong!
PDF
Cloud-Native Streaming and Event-Driven Microservices
PDF
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...
PDF
Why Swift on the server?
Cloud Economics
Revolutionize DevOps with ML capabilities. Introduction to Amazon CodeGuru an...
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...
Developers Are Users, Too
Adopting Java for the Serverless world at Serverless Meetup New York and Boston
Introduction to Spring Cloud
Writing less code with Serverless on AWS at AWS User Group Nairobi
Writing less code with Serverless on AWS at OOP 2022
CI/CD on AWS
AltConf 2017: Full Stack Swift in 30 Minutes
Lessons Learned from building a serverless API
Ten Battle-Tested Tips for Atlassian Connect Add-ons
Writing less code with Serverless on AWS at FrOSCon 2021
All you know about ASP.NET deployment is wrong!
Cloud-Native Streaming and Event-Driven Microservices
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...
Why Swift on the server?
Ad

Similar to FrenchKit: End to End Application Development with Swift (20)

PDF
SWIFTly, Go Cloud!! - Swift@IBM
PPTX
Server Side Swift with Kitura@IBM by Sangeeth K Sivakumar
PDF
Pushing the boundaries of Swift to the Server
PDF
Pushing Swift to the Server
PPTX
Swift at IBM: Mobile, open source and the drive to the cloud
PDF
Bringing swift to cloud
PPTX
Swift @ IBM
PDF
server side Swift
PDF
The state of server-side Swift
PPTX
Server Side Swift
PPTX
Montreal Cloud Computing Meetup - July 19
PPTX
Mobile, Open Source, & the Drive to the Cloud
PPTX
Mobile, Open Source, and the Drive to the Cloud
PDF
Introduction to Kitura - Swift Hong Kong Meetup 2016 July
PDF
Building micro-web-server
PDF
What makes swift the best for i os enterprise app development
PDF
Swift on the Server
PDF
Swift App Development Company.pdf
PDF
Server side development using Swift and Vapor
PDF
10 reasons why swift is best for i os app development
SWIFTly, Go Cloud!! - Swift@IBM
Server Side Swift with Kitura@IBM by Sangeeth K Sivakumar
Pushing the boundaries of Swift to the Server
Pushing Swift to the Server
Swift at IBM: Mobile, open source and the drive to the cloud
Bringing swift to cloud
Swift @ IBM
server side Swift
The state of server-side Swift
Server Side Swift
Montreal Cloud Computing Meetup - July 19
Mobile, Open Source, & the Drive to the Cloud
Mobile, Open Source, and the Drive to the Cloud
Introduction to Kitura - Swift Hong Kong Meetup 2016 July
Building micro-web-server
What makes swift the best for i os enterprise app development
Swift on the Server
Swift App Development Company.pdf
Server side development using Swift and Vapor
10 reasons why swift is best for i os app development
Ad

More from Chris Bailey (20)

PDF
NodeJS Interactive 2019: FaaS meets Frameworks
PDF
Voxxed Micro-services: Serverless JakartaEE - JAX-RS comes to FaaS
PDF
Silicon Valley Code Camp 2019 - Reaching the Cloud Native World
PDF
FaaS Meets Java EE: Developing Cloud Native Applications at Speed
PDF
AltConf 2019: Server-Side Swift State of the Union
PDF
Server-side Swift with Swagger
PDF
Node Summit 2018: Cloud Native Node.js
PDF
Index - BFFs vs GraphQL
PDF
Swift Cloud Workshop - Swift Microservices
PDF
Swift Cloud Workshop - Codable, the key to Fullstack Swift
PDF
Try!Swift India 2017: All you need is Swift
PDF
Swift Summit 2017: Server Swift State of the Union
PDF
IBM Cloud University: Build, Deploy and Scale Node.js Microservices
PDF
IBM Cloud University: Java, Node.js and Swift
PDF
Node Interactive: Node.js Performance and Highly Scalable Micro-Services
PDF
FrenchKit 2017: Server(less) Swift
PDF
InterConnect: Server Side Swift for Java Developers
PDF
InterConnect: Java, Node.js and Swift - Which, Why and When
PDF
Playgrounds: Mobile + Swift = BFF
PDF
InterConnect2016: WebApp Architectures with Java and Node.js
NodeJS Interactive 2019: FaaS meets Frameworks
Voxxed Micro-services: Serverless JakartaEE - JAX-RS comes to FaaS
Silicon Valley Code Camp 2019 - Reaching the Cloud Native World
FaaS Meets Java EE: Developing Cloud Native Applications at Speed
AltConf 2019: Server-Side Swift State of the Union
Server-side Swift with Swagger
Node Summit 2018: Cloud Native Node.js
Index - BFFs vs GraphQL
Swift Cloud Workshop - Swift Microservices
Swift Cloud Workshop - Codable, the key to Fullstack Swift
Try!Swift India 2017: All you need is Swift
Swift Summit 2017: Server Swift State of the Union
IBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Java, Node.js and Swift
Node Interactive: Node.js Performance and Highly Scalable Micro-Services
FrenchKit 2017: Server(less) Swift
InterConnect: Server Side Swift for Java Developers
InterConnect: Java, Node.js and Swift - Which, Why and When
Playgrounds: Mobile + Swift = BFF
InterConnect2016: WebApp Architectures with Java and Node.js

Recently uploaded (20)

PPTX
How a Careem Clone App Allows You to Compete with Large Mobility Brands
PDF
Build Multi-agent using Agent Development Kit
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
Hire Expert WordPress Developers from Brainwings Infotech
PDF
Convert Thunderbird to Outlook into bulk
PPTX
AIRLINE PRICE API | FLIGHT API COST |
PPTX
Online Work Permit System for Fast Permit Processing
PDF
Exploring AI Agents in Process Industries
PPTX
Materi_Pemrograman_Komputer-Looping.pptx
PDF
QAware_Mario-Leander_Reimer_Architecting and Building a K8s-based AI Platform...
PDF
How to Choose the Most Effective Social Media Agency in Bangalore.pdf
PPTX
What to Capture When It Breaks: 16 Artifacts That Reveal Root Causes
PPTX
10 Hidden App Development Costs That Can Sink Your Startup.pptx
PDF
How Creative Agencies Leverage Project Management Software.pdf
DOCX
The Five Best AI Cover Tools in 2025.docx
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Microsoft Teams Essentials; The pricing and the versions_PDF.pdf
PDF
IEEE-CS Tech Predictions, SWEBOK and Quantum Software: Towards Q-SWEBOK
PDF
Multi-factor Authentication (MFA) requirement for Microsoft 365 Admin Center_...
DOCX
The Future of Smart Factories Why Embedded Analytics Leads the Way
How a Careem Clone App Allows You to Compete with Large Mobility Brands
Build Multi-agent using Agent Development Kit
How to Migrate SBCGlobal Email to Yahoo Easily
Hire Expert WordPress Developers from Brainwings Infotech
Convert Thunderbird to Outlook into bulk
AIRLINE PRICE API | FLIGHT API COST |
Online Work Permit System for Fast Permit Processing
Exploring AI Agents in Process Industries
Materi_Pemrograman_Komputer-Looping.pptx
QAware_Mario-Leander_Reimer_Architecting and Building a K8s-based AI Platform...
How to Choose the Most Effective Social Media Agency in Bangalore.pdf
What to Capture When It Breaks: 16 Artifacts That Reveal Root Causes
10 Hidden App Development Costs That Can Sink Your Startup.pptx
How Creative Agencies Leverage Project Management Software.pdf
The Five Best AI Cover Tools in 2025.docx
2025 Textile ERP Trends: SAP, Odoo & Oracle
Microsoft Teams Essentials; The pricing and the versions_PDF.pdf
IEEE-CS Tech Predictions, SWEBOK and Quantum Software: Towards Q-SWEBOK
Multi-factor Authentication (MFA) requirement for Microsoft 365 Admin Center_...
The Future of Smart Factories Why Embedded Analytics Leads the Way

FrenchKit: End to End Application Development with Swift