Book description
Take advantage of using the same programming language for both server and client-side with this hands-on book for building web applications with Swift.
Key Features
- Build a full-stack iOS and web applications using Swift, Vapor, and Kitura Framework
- Leverage ORM abstraction drivers to make queries to SQL database
- Develop your very own containerized microservices with Swift, Docker and Kubernetes
Book Description
This book is about building professional web applications and web services using Swift 4.0 and leveraging two popular Swift web frameworks: Vapor 3.0 and Kitura 2.5. In the first part of this book, we'll focus on the creation of basic web applications from Vapor and Kitura boilerplate projects. As the web apps start out simple, more useful techniques, such as unit test development, debugging, logging, and the build and release process, will be introduced to readers.
In the second part, we'll learn different aspects of web application development with server-side Swift, including setting up routes and controllers to process custom client requests, working with template engines such as Leaf and Stencil to create dynamic web content, beautifying the content with Bootstrap, managing user access with authentication framework, and leveraging the Object Relational Mapping (ORM) abstraction layer (Vapor's Fluent and Kitura's Kuery) to perform database operations.
Finally, in the third part, we'll develop web services in Swift and build our API Gateway, microservices and database backend in a three-tier architecture design. Readers will learn how to design RESTful APIs, work with asynchronous processes, and leverage container technology such as Docker in deploying microservices to cloud hosting services such as Vapor Cloud and IBM Cloud.
What you will learn
- Build simple web apps using Vapor 3.0 and Kitura 2.5
- Test, debug, build, and release server-side Swift applications
- Design routes and controllers for custom client requests
- Work with server-side template engines
- Deploy web apps to a host in the cloud
- Enhance web content with Bootstrap
- Manage user access using authentication framework
- Design for API gateway
- Develop an iPhone app to work with web services
- Deploy your app as a microservice in a cluster
- Deploy Swift web services with a RESTful API design
Who this book is for
This book is about building professional web applications and web services using Swift and leveraging two popular Swift web frameworks: Vapor 3.0 and Kitura 2.5. We assume the readers to have some working knowledge of Swift programming language. The readers could be beginners of Swift programming, seasonal iOS or macOS developers, or software developers who want to work on practical Swift applications while learning the language itself. By the end of the book, you would be able to successfully create your own web applications and web services by leveraging the powerful ecosystem of Swift.
Publisher resources
Table of contents
- Title Page
- Copyright and Credits
- About Packt
- Contributors
- Preface
- Introducing Server-Side Swift
-
Getting Started with Vapor and Kitura
- Installing Vapor and Kitura on Mac
- Installing Vapor and Kitura on Ubuntu
- Exploring Vapor Toolbox and the Kitura CLI
- Exploring the Kitura CLI
- Summary
- Building Your First Web App
-
Debugging and Testing
-
Writing tests for server-side Swift projects
- Preparing a test executable target
- Writing tests using XCTest
- Checking out test cases in a Vapor boilerplate project
- Learning useful assertion macros
- Adding a unit test to your project
- Running unit tests in Xcode
- Checking code coverage
- Reviewing Kitura boilerplate tests
- Handling asynchronous tests
- Using extensions for functions common to all tests
- Debugging in a server-side Swift project
- Summary
-
Writing tests for server-side Swift projects
- Setting Up Routes and Controllers
-
Working with Template Engines
- Using the Leaf templating engine in Vapor
- Templating with Stencil in a Kitura project
- Summary
- Bootstrapping Your Design
-
Employing Storage Framework
- Installing databases
- Working with the Fluent Framework in Vapor
- Working with the Database Abstraction Layer in Kitura
- Summary
- Adding Authentication
- Understanding Technologies for Web Services
- Designing for API Gateway
-
Deploying to the Cloud
- Deploying Vapor web service to Vapor Cloud
- Deploying the Kitura web service to IBM Cloud
- Summary
- Developing an iPhone Client
-
Developing Microservices
- Leveraging Microservices in Backend Applications
- Deploying a Containerized Application to a Cluster
- Summary
-
Vapor Boilerplate Project
- Reviewing Vapor-generated files
- Configuring Swift Package Manager
- Starting with an entry point
- Instantiating an application object
- Configuring before instantiating application
- Adding initialization code after application instantiation
- Registering the application's routes
- Implementing endpoint logic in controllers
- Using a data model
- Kitura Boilerplate Project
- Other Books You May Enjoy
Product information
- Title: Hands-On Server-Side Web Development with Swift
- Author(s):
- Release date: November 2018
- Publisher(s): Packt Publishing
- ISBN: 9781789341171
You might also like
book
AWS Certified DevOps Engineer - Professional Certification and Beyond
Explore the ins and outs of becoming an AWS certified DevOps professional engineer with the help …
book
Hands-On Continuous Integration and Delivery
Understand various tools and practices for building a continuous integration and delivery pipeline effectively Key Features …
book
Python Crash Course, 3rd Edition
Python Crash Course is the world's best-selling guide to the Python guide programming language, with over …
book
Learn PostgreSQL
A comprehensive guide to building, managing, and securing scalable and reliable database and data warehousing applications …