SwiftNIO Workshop in Paris at dotSwift Conference

I have partnered with the good folks at dotConferences to put together some contents for a SwiftNIO workshop. The workshop will take place in Paris on February the 4th, the day after the dotSwift conference. If you are coming to Paris for the dotSwift conference, you can make the best of your trip by also […]

Swift Server-Side Conference 2019 Highlights: Day 2

The second day of the Swift Server-Side conference was as packed with great talk as the first day. You can read my previous post on workshop and day 1. Building the next version of the Smoke Framework (Simon Pilkington) Simon Pilkinson introduced his rework on the Smoke framework, developed as a video ingestion platform for […]

Swift Server-Side Conference 2019 Highlights: Workshop & Day 1

Swift is mostly known nowadays as the main programming language you can use to develop on Apple devices. However Swift, being Open Source, has a small community of dedicated people that have started to work on building an ecosystem to make Swift development on the server-side a viable option. Swift Server-Side is a fairly new […]

FrenchKit Conference: Day 2 Highlights

Yesterday, I shared my highlights on FrenchKit Conference 2019, Day 1. Today, I will talk about FrenchKit Day 2. Swift Superpowers Swift Superpowers were three lightning talks presented by David Bonnet, mostly focused on server-side Swift, and spread out during the day. He covered the following topics: Vapor 3 code examples Networking example with SwiftNIO […]

FrenchKit Conference: Day 1 Highlights

FrenchKit is an iOS and macOS developer conference held in Paris. The fourth edition took place on October 7-8, 2019. I was attending this conference for the first time and really enjoyed the gathering. The conference is well organised, with a lot of excellent speakers. There is a true good vibe coming from the FrenchKit […]

SwiftNIO: Understanding Futures and Promises

SwiftNIO is Apple non-blocking networking library. It can be used to write either client libraries or server frameworks and works on macOS, iOS and Linux. It is built by some of the Netty team members. It is a port of Netty, a high performance networking framework written in Java and adapted in Swift. SwiftNIO thus […]

Writing a Custom Scroll View with SwiftUI in a chat application

When you are writing a chat application, you need to be able to have some control on the chat view. The chat view typically starts aligned at the end of the conversation, which is the bottom of the screen. When you have received more messages and they cannot fit on one screen anymore, you can […]

Using a local development trusted CA on MacOS

TLS certificates are so ubiquitous that you now very often need them even during the development phase. Developers are thus used to create “self-signed” certificates and configure their client requiring TLS support to accept self-signed certificates. This can be fine for development: As both the client and the server are on the same computer, the […]

The concepts behind Swift UI: Introduction

SwiftUI is a new application framework from Apple that complements UIKit and AppKit. It is expected to be the future of UI definition on Apple platform, unifying GUI application writing using the same framework on all Apple platforms, from Apple Watch to iOS and MacOS.

Building Swift for Linux on Debian Stretch

Swift for Linux packages are officially provided for Ubuntu. If you want to run Swift on another Linux server flavor, you are on your own. Fortunately, building Swift on Linux is pretty straightforward once you know how to do it. Please, note that the build process is quite heavy and your likely need more than […]

Reading iOS Provisioning Profile in your Swift App

In this short post, I will describe how to a read provisioning profile from iOS mobile app to discover some apps metadata. The mobile provisioning profile is a file embedded by XCode when you build and package your application. It contains several pieces of information that can be useful for your app. For example, you […]