Building a framework-agnostic Ruby gem (and making sure it doesn't break)
Le projet vise à offrir la même API native à travers ERB, React et Vue en tenant compte des conventions propres à chaque framework. L'architecture repose sur des éléments HTML cachés portant des attributs data-native-* détectés par l'application native via MutationObserver pour générer l'interface réelle. Cette décision a permis de ne pas modifier la partie native lors du support de React et Vue, il a suffi de produire le même HTML depuis chaque framework. Les composants React sont volontairement minces et l'auteur s'appuie sur des retours d'utilisateurs quotidiens de chaque écosystème pour que l'API soit ergonomique dans chaque contexte. Pour prévenir les régressions, des tests XCUITest exécutent trois applications démo réelles et vérifient le comportement visible par l'utilisateur, et l'approche basée sur des attributs HTML laisse envisager une compatibilité en dehors de Rails.