Upload
vidyasagar-machupalli
View
65
Download
0
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
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
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
+
Develop and Debug Develop and Debug Other Services
Mountain, Sunset, River
Meta Data
CloudmacOS
IBM Cloud Tools for SwiftEnd-to-end Swift Development
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