23
Swift@IBM Bringing Swift to Cloud to Simplify End-to-End Development of Apps Vidyasagar S Machupalli, IBM Cloud http://vidyasagarmsc.com @VidyasagarMSC

Bringing swift to cloud

Embed Size (px)

Citation preview

Swift@IBM Bringing Swift to Cloud to Simplify End-to-End Development of Apps

Vidyasagar S Machupalli, IBM Cloud http://vidyasagarmsc.com @VidyasagarMSC

© 2017 IBM Corporation

AgendaWhy Swift? Community enablement ✓ Swift Sandbox ✓ Swift Package Catalog

Consistent developer experience ✓ Kitura Web Framework

Cloud enablement ✓ IBM Cloud Deployment ✓ IBM Cloud Tools for Swift

© 2017 IBM Corporation

Why Swift?

✓ Beginner Friendliness ➢ Easy to Understand

✓ Scalability ➢ Easy to Maintain ➢ Fast ➢ Optimized Memory-Usage

✓ Community ➢ Fast-growing Meetup Community ➢ Over 240 Useful GitHub Projects to Ease

Development ✓ Future

Why Swift ? – Gaining Popularity

Source: StackOverflow

*As of September 2016

Community Enablement

http://swiftlang.ng.bluemix.net

IBM Swift Sandbox

http://swiftpkgs.ng.bluemix.net

IBM Swift Package Catalog Community Enablement

Build end-to-end applications in Swift

• Open source web framework for

Swift on macOS and Linux • Inspired by Express for Node.js • Flexible routing • Pluggable middlewares • Easy to deploy

Free Ebook - https://developer.ibm.com/swift/

Consistent Developer Experience

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

Kitura Web Framework

Request

Response

Client

Safari

Routing Service Logic

Linux / DockerWeb Server

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

BluePic End to End Swift

• 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

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 SwiftBluePic design pattern

Application Server

Client and ServiceIntegration

Core Cloud Services

Users Photos

Image Insights = Tags

Push NotificationsMountain, Sunset, River

Meta Data

End to End SwiftBluePic design pattern

Clients

Application ServerOther Services

Mountain, Sunset, River

Meta Data

Cloud

Application Tiers End to End Swift

macOS

Develop and Debug Application Server Other Services

Mountain, Sunset, River

Meta Data

Cloud

End to End SwiftBluePic Development Setup

Other Services

Cloud

Develop and Debug

macOS

Develop and Debug

Mountain, Sunset, River

Meta Data

End to End SwiftBluePic Development Setup

+

http://cloudtools.bluemix.net

IBM Cloud Tools for SwiftCloud Enablement

+

Develop and Debug Develop and Debug Other Services

Mountain, Sunset, River

Meta Data

CloudmacOS

IBM Cloud Tools for SwiftEnd-to-end Swift Development

+

Bluemix.net Swift.org

Cloud EnablementIBM Cloud Deployment

Other Services

Cloud

Develop and Debug

macOS

Develop and Debug

Mountain, Sunset, River

Meta Data

IBM Cloud Tools for Swift (Mac App)

End-to-end SwiftDemo

Adding a backend

Apps need persistence – we can help you!

• Apache Cassandra • https://github.com/IBM-Swift/Kassandra

• Redis • https://github.com/IBM-Swift/Kitura-redis

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

Adding authentication via OAuth 2.0

• HTTP Basic Auth • https://github.com/IBM-Swift/Kitura-CredentialsHTTP

• Facebook • https://github.com/IBM-Swift/Kitura-CredentialsFacebook

• Google • https://github.com/IBM-Swift/Kitura-CredentialsGoogle

• GitHub • https://github.com/IBM-Swift/Kitura-CredentialsGitHub

© 2017 IBM Corporation

Vidyasagar S Machupalli

Thank you very much.

IBM IBM CLOUD