Library

Course: Server API Development in Swift, Kitura, & Bluemix

Server API Development in Swift, Kitura, & Bluemix

  • Life Time Access
  • Certificate on Completion
  • Access on Android and iOS App
About this Course

Welcome to Server API Development in Swift, Kitura, & Bluemix.

WHY TAKE THIS COURSE?

It can be tough learning many different languages for both front-end and back-end development. Why not make life so much easier and program everything in Swift? Here are a few reason why you should learn Kitura with Swift:

  • You can build an API that supports all platforms (Firebase only supports iOS/Android - not tvOS or macOS)
  • You can become a full stack-engineer without having to learn another programming language 
  • Knowing back-end API development will give you a competitive advantage in applying for jobs
  • You can build an API and database for your own app ideas
  • Lower learning curve to get a back-end up vs learning Node or Rails or Django or PHP

WHAT YOU WILL LEARN

  • Swift (if you don't know it already)
  • Kitura (framework for building APIs and managing web requests)
  • CouchDB
  • IBM Cloudant Database
  • IBM Bluemix
  • How to deploy an API live on the Internet
  • How to build an iOS app that communicates with your own API
  • How to get your API to store and retrieve data from databases
  • How to setup the tools for development on macOS and Ubuntu
  • Working with CRUD operations 
  • REST API

Who is the target audience?

  • This course is for iOS developers who want to build APIs in Swift
  • This course is for new programmers who want to start learning APIs in Swift
  • This course is for mobile developers who want to build a back-end API for their app
Basic knowledge
  • Own a computer with macOS or Ubuntu
  • Basics Swift skills are helpful, but not required
What you will learn
  • Build REST APIs in Kitura & Swift
  • Deploy a live API to the Internet
  • Build an iOS app that can communicate with Kitura API
  • Work with CouchDB
  • Work with IBM Cloudant Database
  • Deploy APIs on IBM Bluemix
  • Understand server-side Swift
Curriculum
Lectures quantity: 61
Common duration: 20:03:18
Start Here
  • Intro to Course  

    Course Introduction

Tooling Setup
  • Swift on macOS  

    In this lesson we discuss setting up the necessary tooling and software on macOS

  • IBM Swift Sandbox  

    In this brief lesson, we introduce the IBM Swift Sandbox for trying out your Swift code

  • Swift on Linux (Ubuntu)  

    In this lesson, we walk you through setting up Ubuntu Linux in a VirtualBox virtual machine. This would also apply to setting Ubuntu Linux up on a physical machine as well.

  • Swift on Linux (Docker Container)  

    In this lesson, we show you how to run your Swift code in a Linux Docker container

  • HTTP, Web Frameworks, Documentation and Resources  

    In this lesson, we explain what a web framework is as well as the discuss the HTTP protocol. We then present a few places to obtain documentation and resources to use during your development

  • Swift Package Manager and IBM Swift Package Catalog  

    The Swift Package Manager and IBM Swift Package Catalog In this lesson, we introduce the Swift Package Manager and how to use it to initialize your project as well as install packages found through IBM's Swift Package Catalog that you might use for development

  • Docker Compose for Development  

    In this lesson, we show you how to use Docker's docker-compose to spin up a container quickly to test out your code in a Linux container

Hello API
  • Hello API Walkthrough  

    In this lesson, we walk you through a simple API from beginning to end. From setting up the project, to publishing the app on Bluemix.

Swift Basics
  • Variables, operators & how computers work  
  • Source Code  
  • Intro to Xcode 8 changes  
  • Swift 3 strings  
  • Swift 3 numbers  
  • Swift 3 functions  
  • Swift 3 booleans & conditional logic  
  • Swift 3 constants & logical operators  
  • Swift 3 arrays  
  • Swift 3 loops  
  • Swift 3 dictionaries  
  • Swift Optionals: Xcode 8 Updates  
  • Swift Optionals  
  • Object oriented programming  
  • Inheritance  
  • Polymorphism  
  • Quiz1: Swift 3 Quiz  
Constructing our API
  • CouchDB Overview  

    In this lesson, we introduce couch db; how to set it up or run it in a docker container, adding data, adding design documents and adding map/reduce views.

  • Main Project Intro  

    Introduction to our main course app, the Food Truck API

  • Main Project Setup  

    In this lesson, we lay the foundation for our Food Truck API by setting up our project

  • Constructing our Food Truck Server and API  

    In this lesson, we begin by creating our Food Truck Server and begin setup for our API

  • Constructing our Food Truck Server and API Continued  

    In this lesson, we continue creating our Food Truck Server and finishing setup for our API

  • Food Truck Item Data Model  

    In this lesson, we create our data model for our individual Food Truck Items

  • SetupDB and SetupDesign  

    In this lesson, we add code to programmatically create our database in CouchDB as well as programmatically create our design document if it does not already exist.

  • Adding Endpoints  

    In this lesson, we begin adding endpoints and walking through the steps necessary to handle HTTP requests arriving from clients

  • ClearAll and DeleteTruck  

    In this lesson, we continue adding endpoints as well as creating a method to completely remove all documents in the database, which will be very handy for unit tests

  • Setting up Unit tests  

    In this lesson, we set up our project for and add some unit tests to verify our functionality

  • Completing FoodTruck Endpoints  

    Completing FoodTruck Endpoints

  • Testing on Linux  

    In this lesson, we start our application we have built so far in a Linux container to be sure we have no compatibility issues

  • Reviews API  

    In this lesson, we add our reviews requirements to our API protocol

  • Reviews Database code  
  • Reviews Database part 2  

    In this lesson, we finish adding database code to handle reviews.

  • Reviews Controller  

    In this lesson, we begin adding code to our controller to handle reviews requests

  • Reviews Controller part 2  

    In this lesson, we finish adding code to our controller to handle reviews requests

  • Reviews Unit Tests  

    In this lesson, we begin adding unit tests for our reviews code

  • Reviews Unit Tests part 2  

    In this lesson, we wrap up unit testing for our reviews code

  • Testing in Postman  

    In this lesson, we test out our api with postman running locally

Bluemix
  • Creating A Bluemix Account  

    In this lesson, we walk through creating a new Bluemix Account

  • Installing the CF Command Line Tools for Bluemix  

    In this lesson, we walk through installing the cf command line tools so that we can interact with Bluemix

  • Creating our Bluemix App and Service  

    In this lesson, we create our App and Cloudant NoSQLdb service and then connect the two so that they can work together

  • Pushing our API to Bluemix  

    In this lesson, we push our app up to Bluemix and fire it up

  • Testing our Live API  

    In this lesson, we test out our live API running on Bluemix

Building an iOS App for Our API
  • Setting up the iOS Project  

    We will set up the iOS project and prepare it so it can interface with our REST API

  • Organizing Constants  

    We set up some global constants for our iOS project

  • Creating Data Models  

    We need to make the data models needed to interface with the API's data models

  • Creating a Data Service Singleton  

    We'll create a service that can manage all of the data in our iOS app

  • Building the Main View Controller  

    In this lesson we'll build our main view controller in Swift for our API

  • Building the details View Controller  

    In this lesson we'll build the details view controller in Swift for our API

  • Creating the Reviews View Controller  

    We'll create the view controller for reviews in Swift so our app can store reviews

  • Creating the Add Truck View Controller  

    We'll build the view controller to add food trucks in Swift for our API

  • Creating the Add Review View Controller  

    We'll create the view controller to add new reviews in Swift 

  • iOS Client Code Refactor  

    We'll refactor some Swift and iOS code

  • Wrapping Up the iOS Client  

    We'll finish off the iOS app in Swift and we now are a full stack Swift engineer with both client development and REST API development skills

Reviews (0)