37
SWIFTly, Go Cloud! Vidyasagar Machupalli Developer Advocate, IBM.

SWIFTly, Go Cloud!! - Swift@IBM

Embed Size (px)

Citation preview

Page 1: SWIFTly, Go Cloud!! - Swift@IBM

SWIFTly, Go Cloud!Vidyasagar MachupalliDeveloper Advocate, IBM.

Page 2: SWIFTly, Go Cloud!! - Swift@IBM

About ME

» Developer Advocate, IBM Cloud

» Polyglot & Pragmatic Programmer

» @VidyasagarMSC

» http://vidyasagarmsc.com

Page 3: SWIFTly, Go Cloud!! - Swift@IBM

Why Swift?

Page 4: SWIFTly, Go Cloud!! - Swift@IBM

Swift Performance

Page 5: SWIFTly, Go Cloud!! - Swift@IBM

Swift Memory Usage

Page 6: SWIFTly, Go Cloud!! - Swift@IBM

Swift Performance by Memory

Page 7: SWIFTly, Go Cloud!! - Swift@IBM

User-facing ClientApps

AppServices

3rd PartyServices

On PremServices

EndUsers

Modern Application Design

Page 8: SWIFTly, Go Cloud!! - Swift@IBM

EndUsers

User-facing ClientApps

AppServices

On PremServices

3rd PartyServices

Modern ApplicationDesign

Page 9: SWIFTly, Go Cloud!! - Swift@IBM

EndUsers

User-facing ClientApps

AppServices

On PremServices

3rd PartyServices

Integrated DeveloperExperience

Modern ApplicationDesign

Page 10: SWIFTly, Go Cloud!! - Swift@IBM

CreateSwiftProject

Isomorphic Development

Page 11: SWIFTly, Go Cloud!! - Swift@IBM

CreateSwiftProject

Deploy Deploy

Swift@IBM

Isomorphic Development

Page 12: SWIFTly, Go Cloud!! - Swift@IBM

CreateSwiftProject

Deploy DeployGenerate

Swagger APISpecification

Isomorphic Development

Page 13: SWIFTly, Go Cloud!! - Swift@IBM

Swift@IBM

Breaking down barriers between client and server all over the world

Page 14: SWIFTly, Go Cloud!! - Swift@IBM

Community enablement– Swift Sandbox– Swift Package Catalog

Consistent developer experience– Kitura Web Framework– Core swift.org contributions

Cloud enablement– IBM Cloud Deployment– IBM Cloud Tools for Swift

Bringing Swift to the Server

Page 15: SWIFTly, Go Cloud!! - Swift@IBM

Community Enablement

http://swiftlang.ng.bluemix.net

IBM Swift Sandbox

Page 16: SWIFTly, Go Cloud!! - Swift@IBM

Community Enablement

• Interactive sandbox for rapid prototyping and experimentation in Swift

• Saves your work

• Supports multiple versionsof Swift

• Responsive design

IBM Swift Sandbox

Page 17: SWIFTly, Go Cloud!! - Swift@IBM

Community Enablement

http://swiftpkgs.ng.bluemix.net

IBM Swift Package Catalog

Page 18: SWIFTly, Go Cloud!! - Swift@IBM

Community Enablement

• Find, explore and share packages from the open-source Swift ecosystem

• Explore dependencies

• Submit your own packages

IBM Swift Package Catalog

Page 19: SWIFTly, Go Cloud!! - Swift@IBM

A Swift Web Framework and HTTP Server» Open sourced in February 2016» Modular package-based web framework

» Leverages libdispatch and Foundation» Driving IBM’s contributions into swift.org» Used at IBM for Swift server-side applications

ConsistentDeveloperExperience

https://github.com/IBM-Swift/Kitura

Kitura Web Framework

Page 20: SWIFTly, Go Cloud!! - Swift@IBM

Request

Response

Client

Safari

Routing Service Logic

Linux / DockerWeb Server

Page 21: SWIFTly, Go Cloud!! - Swift@IBM

Swift 3.0 + Kitura Swift on the Server is Real

Page 22: SWIFTly, Go Cloud!! - Swift@IBM
Page 23: SWIFTly, Go Cloud!! - Swift@IBM
Page 24: SWIFTly, Go Cloud!! - Swift@IBM

Sample photo sharing app

Rich client interface written in Swift

Swift Server built with Kitura, IBM Cloud, Watson,

and OpenWhisk

Available at github.com/IBM-Swift/BluePic

BluePicEnd-to-end Swift

Page 25: SWIFTly, Go Cloud!! - Swift@IBM

BluePic design pattern

Services

Object Storage

Watson Image Recognition

Cloudant

Core Cloud Services

Response

iOS App

ModelControllersViews

User Interaction

Request

Application Server

Client and ServiceIntegration

RoutingService Logic

End-to-end Swift

Page 26: SWIFTly, Go Cloud!! - Swift@IBM

BluePic design pattern

Application Server

Client and ServiceIntegration

Core Cloud Services

Users

Photos

Image Insights = Tags

Push NotificationsMountain, Sunset, River

Meta Data

End-to-end Swift

Page 27: SWIFTly, Go Cloud!! - Swift@IBM

Application tiers

Clients

Application ServerOther Services

Mountain, Sunset, River

Meta Data

Cloud

End-to-end Swift

Page 28: SWIFTly, Go Cloud!! - Swift@IBM

BluePic development setup

macOS

Develop and Debug Application Server Other Services

Mountain, Sunset, River

Meta Data

Cloud

End-to-end Swift

Page 29: SWIFTly, Go Cloud!! - Swift@IBM

Other Services

Cloud

Develop and Debug

macOS

Develop and Debug

Mountain, Sunset, River

Meta Data

BluePic development setupEnd-to-end Swift

Page 30: SWIFTly, Go Cloud!! - Swift@IBM

+

IBM Cloud DeploymentCloud Enablement

Page 31: SWIFTly, Go Cloud!! - Swift@IBM

+

Cloud Enablement

http://cloudtools.bluemix.net

IBM Cloud Tools for Swift

Page 32: SWIFTly, Go Cloud!! - Swift@IBM

OtherServices

Cloud

DevelopandDebug

macOS

DevelopandDebug

Mountain,Sunset,River

MetaData

IBM Cloud Tools for Swift (Mac App)

BluePic development setupEnd-to-end Swift

Page 33: SWIFTly, Go Cloud!! - Swift@IBM

+

Develop and Debug Develop and Debug Other Services

Mountain, Sunset, River

Meta Data

CloudmacOS

End-to-end Swift DevelopmentIBM Cloud Tools for Swift

Page 34: SWIFTly, Go Cloud!! - Swift@IBM

IBM Cloud Tools for Swift

Page 35: SWIFTly, Go Cloud!! - Swift@IBM
Page 36: SWIFTly, Go Cloud!! - Swift@IBM

IBM Swift tools and tech

http://developer.ibm.com/swift

Get Started Today

Page 37: SWIFTly, Go Cloud!! - Swift@IBM