Swift Macros: Understanding Freestanding & Attached Macros FEBRUARY 19, 2024 | PAUL KRAFT Have you ever started using a library and you were outraged by all the boilerplate code you need to write to make it work? Have you misused an API, because it wasn’t...
Platform Channels are Dead! Objective-C/Swift Interop is Here! DECEMBER 11, 2023 | MARVIN MÄRZ In Dart 2.18 the Dart Team introduced Objective-C/Swift Interop. It allows us to directly call native code on iOS from our Dart codebase by using Dart FFI and C as an...
Swift Result Builders: Creating Custom DSLs for Binary Formatted Data AUGUST 3, 2023 | PAUL KRAFT SwiftUI has revolutionized how we build UI, introducing a more intuitive, declarative approach. Instead of prescribing a series of steps to reach an end goal, we describe...
Class Modifiers in Dart: Sealed, Interface, Base JUNE 23, 2023 | MARVIN MÄRZ With the release of Dart 3, class modifiers finally got some changes that try to make them more convenient and powerful. Dart introduced the new class modifiers sealed, interface, final, and...
Restricted TextFields In SwiftUI – A Reusable Implementation APRIL 17, 2023 | BALAZS TOTH Forms are hard to get right! When you don’t control user input in a TextField and solely rely on validation upon submission, it often leads to a subpar user...