Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Hands-On Server-Side Web Development with Swift

You're reading from   Hands-On Server-Side Web Development with Swift Build dynamic web apps by leveraging two popular Swift web frameworks: Vapor 3.0 and Kitura 2.5

Arrow left icon
Product type Paperback
Published in Nov 2018
Publisher Packt
ISBN-13 9781789341171
Length 404 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Angus Yeung Angus Yeung
Author Profile Icon Angus Yeung
Angus Yeung
Arrow right icon
View More author details
Toc

Table of Contents (18) Chapters Close

Preface 1. Introducing Server-Side Swift FREE CHAPTER 2. Getting Started with Vapor and Kitura 3. Building Your First Web App 4. Debugging and Testing 5. Setting Up Routes and Controllers 6. Working with Template Engines 7. Bootstrapping Your Design 8. Employing Storage Framework 9. Adding Authentication 10. Understanding Technologies for Web Services 11. Designing for API Gateway 12. Deploying to the Cloud 13. Developing an iPhone Client 14. Developing Microservices 15. Vapor Boilerplate Project 16. Kitura Boilerplate Project 17. Other Books You May Enjoy

Starting with an entry point

main.swift is always contained in an executable target and cannot be imported by other modules:

// File: /Sources/Run/main.swift
import App // [1]

try app(.detect()).run() // [2]

The preceding code does two things:

  1. The main.swift file imports the App module
  2. It gets an app instance from the app() constructor and calls the run() function of app to launch the server

Vapor uses an Application instance, app, in every project to run a server and create other services. The instance is obtained from the app() function implemented in app.swift. Vapor avoids statically accessing the Application instance using this approach. It has no need to implement any locking mechanism for thread-safety that is required for static access to variables.

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image