This repository was archived by the owner on Dec 29, 2025. It is now read-only.
Add a broader article about getting into Server-Side Swift#18
Draft
Add a broader article about getting into Server-Side Swift#18
Conversation
Joannis
commented
Oct 18, 2024
|
|
||
| Once you've created your project setup, you can start building your application. Both frameworks have excellent documentation that will guide you through the process of building a web application. | ||
|
|
||
| Alongside a web framework, you'll quickly find that you need to use other libraries to build your application. This commonly includes a database, observability and authentication among others. |
Member
Author
There was a problem hiding this comment.
Article Needed: What database to pick
Article Needed: Observability
Article Needed: Authentication (JWTKit tutorial for one)
Joannis
commented
Oct 18, 2024
|
|
||
| Alongside a web framework, you'll quickly find that you need to use other libraries to build your application. This commonly includes a database, observability and authentication among others. | ||
|
|
||
| Swift Package Manager (SwiftPM) is the way to manage dependencies in Swift, and is built into the toolchain. |
Member
Author
There was a problem hiding this comment.
Article Needed: Getting started with SwiftPM
Joannis
commented
Oct 18, 2024
|
|
||
| Swift is a modern, statically-typed language that's designed to be secure, fast and expressive. Thanks to features such as type inference and labeled parameters, Swift code reads like plain English. | ||
|
|
||
| Swift is also designed to be easy to pick up, with a syntax that's concise and expressive. However, as you delve deeper into the language, you'll find that Swift is just as powerful and performant as other languages like C++ and Rust. |
Member
Author
There was a problem hiding this comment.
Note: C++ interop article link (I believe Doug has one)
Member
Author
There was a problem hiding this comment.
Also mention of interop in general
Joannis
commented
Oct 18, 2024
|
|
||
| Swift is also designed to be easy to pick up, with a syntax that's concise and expressive. However, as you delve deeper into the language, you'll find that Swift is just as powerful and performant as other languages like C++ and Rust. | ||
|
|
||
| This concept, claled "progressive disclosure", is one of the reasons why Swift is so popular. You can utilise high-level features, just like other popular languages. However, when you need to drop down to a lower level, Swift _also_ provides the tools to do so. |
Member
Author
There was a problem hiding this comment.
Link to progressive disclosure
Joannis
commented
Oct 18, 2024
|
|
||
| Vapor 4 is an older framework, and has a "batteries-included" approach. It comes with a lot of features out of the box, such as authentication, database support, and templating. This makes Vapor very simple to set up. | ||
|
|
||
| Hummingbird 2 is the newer framework, adopting the latest ecosystem tools, and features a more modular approach. This makes Hummingbird more flexible and lightweight. In contrast to Vapor, the modular approach means that you only include the features you need, which can result in a smaller binary size, but requires more setup. |
Member
Author
There was a problem hiding this comment.
Link to Hummingbird article or the talk, on note about modern tools
Joannis
commented
Oct 18, 2024
|
|
||
| The advantage of cloud functions is that you only pay for the time your code is running, which can be much cheaper than running a server 24/7. Especially for projects with a relatively low amount of traffic, cloud functions can be a great way to save money. | ||
|
|
||
| Popular cloud providers such as AWS, Google Cloud and Azure all provide cloud functions as a service. You can write your Swift code and deploy it to these services using their respective SDKs. |
Member
Author
There was a problem hiding this comment.
Link to deployment guides (soon)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I want this article to kickstart people new to Server-Side Swift. I want to add more guidance on what to look into, and point to various articles by us. Let's discuss how to best shape it from here.