Server API Development in Swift, Kitura, & Bluemix
4.5 (147 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,988 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Server API Development in Swift, Kitura, & Bluemix to your Wishlist.

Add to Wishlist

Server API Development in Swift, Kitura, & Bluemix

Build REST APIs in Swift
4.5 (147 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,988 students enrolled
Last updated 8/2017
English
English [Auto-generated]
Price: $200
30-Day Money-Back Guarantee
Includes:
  • 20.5 hours on-demand video
  • 4 Articles
  • 4 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I 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
View Curriculum
Requirements
  • Own a computer with macOS or Ubuntu
  • Basics Swift skills are helpful, but not required
Description

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:

  1. You can build an API that supports all platforms (Firebase only supports iOS/Android - not tvOS or macOS)
  2. You can become a full stack-engineer without having to learn another programming language 
  3. Knowing back-end API development will give you a competitive advantage in applying for jobs
  4. You can build an API and database for your own app ideas
  5. 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
Compare to Other API Courses
Curriculum For This Course
66 Lectures
20:15:06
+
Start Here
2 Lectures 02:47

Course Introduction

Preview 02:32

Where to get free live help
00:15
+
Tooling Setup
7 Lectures 01:29:28

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

Preview 05:07

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

Preview 01:32

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 (Ubuntu)
27:57

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

Swift on Linux (Docker Container)
23:13

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

HTTP, Web Frameworks, Documentation and Resources
07:11

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

Swift Package Manager and IBM Swift Package Catalog
17:59

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

Docker Compose for Development
06:29
+
Hello API
1 Lecture 57:18

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.

Preview 57:18
+
Swift Basics
20 Lectures 03:47:48
Variables, operators & how computers work
16:48

Source Code

Source code
00:00

Intro to Xcode 8 changes
01:02

Swift 3 strings
15:22

Swift 3 numbers
19:53

Use the knowledge you gained about variables in Swift 3 to complete this exercise

Exercise: Variables
00:01

Swift 3 functions
22:39

Swift 3 booleans & conditional logic
20:57

Use your brand new Swift 3 function skills to complete this exercise

Exercise: functions
00:01

Swift 3 constants & logical operators
10:27

Swift 3 arrays
13:06

Swift 3 loops
18:59

Swift 3 dictionaries
18:44

Practice the basics of loops & arrays in Swift 3

Exercise: Loops & arrays
00:01

Swift Optionals: Xcode 8 Updates
01:04

Swift Optionals
28:01

Object oriented programming
12:00

Inheritance
08:19

Polymorphism
08:22

Xcode 8: Tips & tricks
12:00

Quiz1: Swift 3 Quiz
5 questions
+
Constructing our API
20 Lectures 08:20:56

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.

CouchDB Overview
24:14

Introduction to our main course app, the Food Truck API

Main Project Intro
03:09

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

Main Project Setup
22:13

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

Constructing our Food Truck Server and API
34:20

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

Constructing our Food Truck Server and API Continued
11:59

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

Food Truck Item Data Model
13:27

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.

SetupDB and SetupDesign
29:58

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

Adding Endpoints
35:21

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

ClearAll and DeleteTruck
21:09

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

Setting up Unit tests
26:53

Completing FoodTruck Endpoints

Completing FoodTruck Endpoints
01:07:12

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

Testing on Linux
18:20

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

Reviews API
21:54

Reviews Database code
31:01

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

Reviews Database part 2
10:23

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

Reviews Controller
34:25

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

Reviews Controller part 2
23:01

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

Reviews Unit Tests
32:53

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

Reviews Unit Tests part 2
22:59

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

Testing in Postman
16:05
+
Bluemix
5 Lectures 38:35

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

Creating A Bluemix Account
05:06

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

Installing the CF Command Line Tools for Bluemix
05:39

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

Creating our Bluemix App and Service
06:27

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

Pushing our API to Bluemix
10:03

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

Testing our Live API
11:20
+
Building an iOS App for Our API
11 Lectures 04:58:16

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

Setting up the iOS Project
08:21

We set up some global constants for our iOS project

Organizing Constants
11:38

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

Creating Data Models
22:54

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

Creating a Data Service Singleton
43:50

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

Building the Main View Controller
35:44

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

Building the details View Controller
35:46

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

Creating the Reviews View Controller
31:35

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

Creating the Add Truck View Controller
37:00

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

Creating the Add Review View Controller
36:59

We'll refactor some Swift and iOS code

iOS Client Code Refactor
32:46

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

Wrapping Up the iOS Client
01:43
About the Instructor
Mark Price
4.5 Average rating
28,728 Reviews
177,026 Students
16 Courses
Unity 3D Android iOS 10 Swift 3 & React Teacher

I am a veteran mobile developer having built over 57 mobile apps for iOS and Android, and I've also build multiple Unity 3D games, including Call of Duty Ghosts mobile. 

I also spend most of my days now as a professional engineering instructor - changing the lives of students throughout the world - helping them make amazing salaries as engineers.

My passion is helping people reveal hidden talents and guide them into the world of startups and programming. I currently am teaching iOS 10, Apple TV & tvOS, React & Flux web development, Objective-C, Swift 3, Android, Javascript, Node, and Java. I also teach Unity 3D game development.

Devslopes by Mark Price
4.5 Average rating
28,243 Reviews
176,728 Students
18 Courses
Learn programming & app development

Devslopes transforms beginner students into paid professionals through curated project based videos, interactive quizzes, and exercises.  After completing each course, you will have a strong portfolio, coupled with the technical understanding to build your own custom applications.


Our target students are:

  • First time developers
  • Entrepreneurs who want to build their own technology startup
  • Current developers looking to either advance their careers or learn new technologies.


By taking our courses, our students have been able to:

  • Get jobs as developers with amazing salaries
  • Launch (and even sell) their technology startups 
  • Get promotions and make substantial career changes


We strive to teach students how to code through polished apps inspired by real world examples. We want our students to build projects that they are proud of, that look and operate just like apps they use in their everyday life. 


We are passionate about helping people reveal their hidden talents and guiding them into the exciting world of startups and programming.