Simplifying Apple Watch/iOS App Communication with Racket Macros

2025-02-17

Developing an Apple Watch app involves handling communication with its iOS counterpart. The author uses Racket macros to define a Domain Specific Language (DSL) that auto-generates Swift code to handle the complexities of the WatchConnectivity framework, including message encoding, decoding, and message handler implementation. This avoids a lot of boilerplate code, improving maintainability and reliability. By defining message types and handlers, the DSL automatically generates Swift enums, structs, functions for sending messages, and a message handling protocol, greatly simplifying the development process.

Read more
Development Macro Programming

Indie Dev Builds Podcast Player with Racket and Swift

2025-01-27

An indie developer built an iOS podcast player called Podcatcher, now live on the App Store. Developed using Racket and Swift, Podcatcher boasts features like an equalizer, silence trimming, and variable speed playback. It's free, ad-free, and privacy-focused, prioritizing local data storage. The developer also detailed improvements made to Racket and several open-source libraries during development, including performance boosts to the XML library and enhanced redirect handling in the HTTP library. While cross-device syncing and UI enhancements are planned for future releases, the app already provides a solid listening experience.

Read more
Development iOS Development