Isomorphic Swift: A Myth or Reality · • Why Swift? • Swift on Server-side - Kitura • Tools...

18
Isomorphic Swift: A Myth or Reality Vidyasagar Machupalli, Offering Manager for Dev Productivity, IBM

Transcript of Isomorphic Swift: A Myth or Reality · • Why Swift? • Swift on Server-side - Kitura • Tools...

Page 1: Isomorphic Swift: A Myth or Reality · • Why Swift? • Swift on Server-side - Kitura • Tools • Code!! ISOMORPHISM Isomorphism is a very general concept that appears in several

Isomorphic Swift: A Myth or RealityVidyasagar Machupalli, Offering Manager for Dev Productivity, IBM

Page 2: Isomorphic Swift: A Myth or Reality · • Why Swift? • Swift on Server-side - Kitura • Tools • Code!! ISOMORPHISM Isomorphism is a very general concept that appears in several

• VidyasagarMSC.com • @VidyasagarMSC

Page 3: Isomorphic Swift: A Myth or Reality · • Why Swift? • Swift on Server-side - Kitura • Tools • Code!! ISOMORPHISM Isomorphism is a very general concept that appears in several

Why Am I here?

• Isomorphism !!

• Why Swift?

• Swift on Server-side - Kitura

• Tools

• Code!!

Page 4: Isomorphic Swift: A Myth or Reality · • Why Swift? • Swift on Server-side - Kitura • Tools • Code!! ISOMORPHISM Isomorphism is a very general concept that appears in several

ISOMORPHISM

Isomorphism is a very general concept that appears in several areas of mathematics. The word derives from the Greek iso, meaning "equal," and morphosis, meaning "to form" or "to shape.”

Source: Wolfram MathWorld

Page 5: Isomorphic Swift: A Myth or Reality · • Why Swift? • Swift on Server-side - Kitura • Tools • Code!! ISOMORPHISM Isomorphism is a very general concept that appears in several

Technically….Isomorphic

“can execute both on the client and the server”

Page 6: Isomorphic Swift: A Myth or Reality · • Why Swift? • Swift on Server-side - Kitura • Tools • Code!! ISOMORPHISM Isomorphism is a very general concept that appears in several

Why Swift?

Page 7: Isomorphic Swift: A Myth or Reality · • Why Swift? • Swift on Server-side - Kitura • Tools • Code!! ISOMORPHISM Isomorphism is a very general concept that appears in several

SWIFT ON SERVER KITURA

Swift@IBM

Page 8: Isomorphic Swift: A Myth or Reality · • Why Swift? • Swift on Server-side - Kitura • Tools • Code!! ISOMORPHISM Isomorphism is a very general concept that appears in several

Kitura: An intro

Kitura.io

“A high performance and simple to use web framework for building modern Swift applications.”

Page 9: Isomorphic Swift: A Myth or Reality · • Why Swift? • Swift on Server-side - Kitura • Tools • Code!! ISOMORPHISM Isomorphism is a very general concept that appears in several

Routing with Kitura import Kitura

// Create a new routerlet router = Router()

// Handle HTTP GET requests to /router.get("/") { request, response, next in response.send("Hello, World!") next()}

// Add an HTTP server and connect it to the routerKitura.addHTTPServer(onPort: 8080, with: router)

// Start the Kitura runloop (this call never returns)Kitura.run()

Page 10: Isomorphic Swift: A Myth or Reality · • Why Swift? • Swift on Server-side - Kitura • Tools • Code!! ISOMORPHISM Isomorphism is a very general concept that appears in several

API Reference - Kitura.io

•Core •Credentials •Persistence •Sessions •Communications •Templating •Other Middlewares

Page 11: Isomorphic Swift: A Myth or Reality · • Why Swift? • Swift on Server-side - Kitura • Tools • Code!! ISOMORPHISM Isomorphism is a very general concept that appears in several

Use Familiar Libraries

Page 12: Isomorphic Swift: A Myth or Reality · • Why Swift? • Swift on Server-side - Kitura • Tools • Code!! ISOMORPHISM Isomorphism is a very general concept that appears in several

Leverage Docker For Your Development

docker pull ibmcom/swift-ubuntu:latest

docker run -i -t -v <absolute path to the swift package>:/root/<swift package name> ibmcom/swift-ubuntu:latest /bin/bash

Page 13: Isomorphic Swift: A Myth or Reality · • Why Swift? • Swift on Server-side - Kitura • Tools • Code!! ISOMORPHISM Isomorphism is a very general concept that appears in several

ICAT - IBM Cloud Application Tools

http://cloudtools.bluemix.net

Page 14: Isomorphic Swift: A Myth or Reality · • Why Swift? • Swift on Server-side - Kitura • Tools • Code!! ISOMORPHISM Isomorphism is a very general concept that appears in several

Isomorphic Application

CreateSwiftProject

Deploy Deploy

Page 15: Isomorphic Swift: A Myth or Reality · • Why Swift? • Swift on Server-side - Kitura • Tools • Code!! ISOMORPHISM Isomorphism is a very general concept that appears in several

DEMO

Page 16: Isomorphic Swift: A Myth or Reality · • Why Swift? • Swift on Server-side - Kitura • Tools • Code!! ISOMORPHISM Isomorphism is a very general concept that appears in several

NearBYhttps://github.com/VidyasagarMSC/NearBY.git

Page 17: Isomorphic Swift: A Myth or Reality · • Why Swift? • Swift on Server-side - Kitura • Tools • Code!! ISOMORPHISM Isomorphism is a very general concept that appears in several

Thank you

Page 18: Isomorphic Swift: A Myth or Reality · • Why Swift? • Swift on Server-side - Kitura • Tools • Code!! ISOMORPHISM Isomorphism is a very general concept that appears in several

www.modsummit.com

www.developersummit.com