All post by author Walid
Techniques modernes de Hot Reloading en iOS/Mac OS
Le Hot Reloading ou le rechargement à chaud désigne l'affichage en temps réel des modifications UI sans devoir relancer l'application informatique. Cela, permet de gagner énormément en terme de productivité vu qu'on aperçoit en temps réel les effets de notre changement sans recompiler toute l'application.
Création d’un EDSL avec ResultBuilder (une approche déclarative en Swift)
Durant des années, j’ai confondu langage de programmation et DSL (Domain Specific Language). Ne pensant pas que HTML pouvait être un DSL tout comme SQL, GHERKIN et bien d’autres. Dans l’écosystème d’Apple, on utilise très souvent les DSL sans les connaitre, par exemple, le fichier podfile de CocoaPods ou même SwiftUI. En effet, l’objectif de cet article est de simplifier le concept de DSL en présentant un […]
Gestion des accès concurrentiels en iOS avec les Actors
Depuis la version 5.5 de Swift, Apple a introduit un nouveau type de données dit Actor. Le nouveau type permet d’assurer que l’état d’un objet de type référence ne peut pas être modifié que par un seul thread. Cela permet d’assurer l’atomicité des opérations et d’éviter les problèmes dit “Data Races” ou accès concurrentiel à […]
Test unitaire avec Async Await – Continuation et closures dans un client HTTP
Dans les deux premiers articles concernant async await et les tests unitaires, nous avons remarqué que la nouvelle API transforme d’une manière assez radicale la façon de tester (pas d’expectation, il faut ajouter async throws au niveau de chaque méthode de test…). Notre manière de tester ou d’écrire notre code de production change et on […]
Test unitaires avec Async Await – Utilisation de URL Loading System (URLProtocol) pour un client HTTP (Partie 2)
Introduction Dans le dernier article, nous avons présenté deux des trois méthodes pour mocker nos appels HTTP à savoir: Mocking à travers l’héritage. Mocking à travers les protocoles. On a expliqué que la première méthode ne peut pas être appliquée avec Async Await du à des restrictions techniques de l’API et que la meilleur façon […]