End to End Application Development Swift IBM Engineering
End to End Application Development Swift @ IBM Engineering Team Manuel Silveyra @manuel_silveyra Swift @ IBM
Modern Application Design 3 rd Party Services End Users User-facing Client Apps App Services On Prem Services Swift @ IBM
Modern Application Design 3 rd Party Services End Users User-facing Client Apps App Services On Prem Services Integrated Developer Experience Swift @ IBM
Why Swift on the Server? Swift @ IBM
Duration (s) (lower is better) Performant Applications http: //benchmarksgame. alioth. debian. org/u 64 q/performance. php? test=spectralnorm Swift @ IBM
Duration (s) (lower is better) Performant Applications http: //benchmarksgame. alioth. debian. org/u 64 q/performance. php? test=spectralnorm Swift @ IBM
Duration (s) (lower is better) Performant Applications http: //benchmarksgame. alioth. debian. org/u 64 q/performance. php? test=spectralnorm Swift @ IBM
Duration (s) (lower is better) Performant Applications http: //benchmarksgame. alioth. debian. org/u 64 q/performance. php? test=spectralnorm Swift @ IBM
Memory Usage (MB) (lower is better) Low Memory http: //benchmarksgame. alioth. debian. org/u 64 q/performance. php? test=spectralnorm Swift @ IBM
Memory Usage (MB) (lower is better) Low Memory http: //benchmarksgame. alioth. debian. org/u 64 q/performance. php? test=spectralnorm Swift @ IBM
Memory Usage (MB) (lower is better) Low Memory http: //benchmarksgame. alioth. debian. org/u 64 q/performance. php? test=spectralnorm Swift @ IBM
Memory Usage (MB) (lower is better) Low Memory http: //benchmarksgame. alioth. debian. org/u 64 q/performance. php? test=spectralnorm Swift @ IBM
Swift is ideal for Cloud Swift @ IBM
Isomorphic Development Create Swift Project Deploy Generate Deploy Swagger API Specification Swift @ IBM
Sharing tools and technologies Swift @ IBM
How does this happen? Swift @ IBM
Extend Swift to the server Swift @ IBM
Open Source Swift December 3 rd, 2015 Apache 2. 0 Software Licence
Swift on Linux Platforms Darwin Platforms Standard Library Foundation Swift Dispatch Standard Library Foundation Dispatch Swift @ IBM
Add a Web Framework
Kitura: A Swift Web Framework and HTTP Server http: //kitura. io Swift @ IBM
Kitura Web Framework Foundation Swift Dispatch Server-Specific Libraries Standard Library Foundation Dispatch “Server” APIs Networking Standard Library Application Libraries Swift HTTP Parsing Client-Specific Libraries Server /Server Cloud /Deployment Cloud Deployment Application Specific Cloud Services Security Apple Client Deployment Client Facing App Swift @ IBM
Swift 3. 0 + Kitura 1. 0 Swift on the Server is Real Swift @ IBM
Let’s take a tour… Swift @ IBM
Architecture
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 Compile and run your application: Open your browser at http: //localhost: 8090
Use Services
Deploy to Cloud $ docker pull ibmcom/kitura-ubuntu: latest $ git clone https: //github. com/IBM-Swift/Kitura-Starter-Bluemix
Using Cloud Tools • Deployment made easy • Clone, code, push • Demo projects to try http: //cloudtools. bluemix. net
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 Fast. CGI with Kitura Special Types of Response Handlers Parsing Requests http: //www. kitura. io/en/resources/tutorials. html
Examples Blue. Pic Application https: //github. com/ibm-swift/bluepic Blitter Social Network https: //github. com/ibm-swift/blitter
Discover Try Package Catalog Swift Sandbox Build Kitura + Packages Swift @ IBM Deploy https: //developer. ibm. com/swift/ IBM Cloud Tools Swift @ IBM
Thank you! Swift @ IBM
- Slides: 35