Skip to content

ハッカソン

try! Swift Tokyo 2026 ハッカソン for Students

try! Swift Tokyo 2026 ハッカソン for Students に参加しました。Swiftのコンパイラ・型システム・Swift Syntaxに焦点を置いたグループで、Swift Macros を3時間で開発・発表し、ピクシブ特別賞賞を受賞しました。

  • 技術スタック: Swift, Swift Syntax, Swift Macros
  • 概要: Swift Macrosを用いた3つのMacroの開発・発表
  • 作成したMacro:
    • #trySwift: 文字列に try! Swift 2026 を楽しもう!🎉 を付加するチュートリアルMacro
    • @DeadlineTODO: 期日を指定でき、期限を過ぎるとコンパイルエラーを発生させるMacro
    • @SmartCodable: Codable に非準拠なプロパティを含む構造体でもエンコード/デコード処理を自動生成するMacro
詳細な学び
  • Swift Macros / Swift Syntaxの理解: Swift Syntaxによるソースコードの構造化(AST)、ASTの書き換え・追記、コードへの再展開という一連の仕組みを実装を通じて理解しました。普段から大規模なSwiftコードを読んでいたことが、初めて触れるSwift Macrosを短時間で理解する上で大きく活きました。

  • 実体験からアイデアを生む力: @DeadlineTODO は「TODOコメントをよく忘れる」という実体験から、@SmartCodable は実務でのCodable対応の手間から着想しました。受賞時の評価でも、難しい技術領域に踏み込んだ上で実用的なアイデアに落とし込んだ点が評価されました。

  • 発表力: スライドを作る時間がなかったため、ASTやMacrosの仕組みをはじめチームのコードを自分でひととおり理解した上で発表を担当しました。3分という短い時間でしたが、技術の本質を言語化して伝えることができました。

  • Appleエンジニアとの交流: Appleのエンジニアがアイデア出しの段階からチームに加わり、一緒にお弁当を食べながらSwift Syntaxの技術的な詳細を教えてもらいました。現場のエンジニアから直接知見を得る貴重な経験になりました。