2年使ってきたasync/awaitライブラリのHydraとiOS15から使えるasync/awaitを比較してみた by 嶽 雅也

iOSDC Japan 2021
レギュラートーク(20分)

2年使ってきたasync/awaitライブラリのHydraとiOS15から使えるasync/awaitを比較してみた

mdk_aza 嶽 雅也 mdk_aza
1

WWDC2021の発表でiOS15からasync/awaitが使えるようになりますね。
https://developer.apple.com/videos/play/wwdc2021/10132/
ワクワクしますね。
WWDC2021の内容を共有する勉強会などでもどんどん取り扱われていますね。

ただ、iOS15以降でしか使えなかったりと色々制限はあり、新規でiOS15対応以降のiOSアプリを作るタイミングでない限りは活用できるタイミングはもう少し先になりそうです。

そんな中で、皆さんiOS15に入る前に既存アプリなどでもasync/awaitに慣れておきたくありませんか。
皆さんもご存知かもしれませんが、現状iOS15未満でも使えるasync/awaitな書き方ができるライブラリがあります。

Hydraというライブラリです。
こちらはSwiftDateの作者であるmalcommacさんが作成しています
https://github.com/malcommac/Hydra

もちろん他にもライブラリがあるかもしれませんが、今回はこのHydraを題材にWWDC2021で発表されたasync/awaitと書き方などを比較していきたいと思います。
このライブラリはPromiseもサポートしており、私が本番で2年使ってきたところでその際にこういう処理が書きやすかった、こういう処理に困ったなども含めて共有できると思います。

await/asyncを知らない方、他言語でasync/awaitを知っている方でも大歓迎です。
上記を紹介する中であまりに内容が薄くなりすぎるようでしたら、稚拙ながらasync/awaitの歴史のお話やJavaScript/Dartでのasync/awaitとも比較などをする予定ですので、楽しみにしていてください。