This podcast explores Swift in new places like ARM Windows and Playdate, interoperating with C#, and recommending packages like Threadcrumb and FlyingFox. They discuss the transition to Swift 6, dependency injection, and the benefits of using Swift for scripting jobs. Additionally, they talk about advancing testing capabilities with the 'Expect To Eventually Equal' package.
Swift Package Indexing tool provides insights into package binary size impacting app size, aiding authors in decision-making.
Expect to Eventually Equal package offers unique assertion concept for testing asynchronous code, enhancing test coverage.
Deep dives
Package Info and Binary Size Insights
Swift package info by Fideepa Marino offers valuable insights into a package, notably on its binary size, a requested feature on the Swift Package Index. It allows package authors to get a sense of how much a package may impact an app's size, making it an important metric for consideration. By considering making this opt-in for packages, authors can control which product is measured through the SPM file, signaling that they want to expose this metric. This tool could be beneficial in providing a holistic view of a package's impact.
Expect to Eventually Equal Assertion
The 'Expect to Eventually Equal' package by John Reid introduces a unique assertion concept where a block of code is repeatedly executed until an expected value is achieved or a timeout is reached, offering more flexibility in testing asynchronous code or waiting for eventual conditions. This convenient assertion method simplifies writing tests that involve scenarios where immediate expectations may not be met, ensuring comprehensive test coverage.
Flying Fox HTTP Server
Flying Fox by Simon Whitty is a lightweight HTTP server with modern async-await APIs, providing a simple yet powerful solution for standing up temporary APIs or proxies in Swift projects. Its concise API and async-await support make it an attractive option for scenarios requiring quick setup of a server for various purposes, offering developers a seamless experience in building HTTP-based functionalities.
Swift Thread Crumb Logging
The 'Thread Crumb' package by Alexander Cohen introduces a unique logging mechanism where log messages are intertwined with stack frames, providing valuable breadcrumbs in crash reports or debugging situations. This innovative approach allows for easier tracing of log messages even in scenarios where symbol locations are not well defined, enhancing the debugging process and aiding in diagnosing issues effectively.
This week Dave and Sven break their streak of skipping recording to find Swift in exciting new places, like on ARM Windows and the Playdate, and learn new tricks like interoperating with C#. And as usual, there are package recommendations, with a good sprinkling of descents into various rabbit holes.