Джерело
BW Swift | Swift стає “розумнішим” з C-бібліотекамиЯкщо ти коли-небудь підключав ...
870 Охват/переглядів
2026-01-23 11:05
Повідомлення №2318
🧩 Swift стає “розумнішим” з C-бібліотекамиЯкщо ти коли-небудь підключав C-шну бібліотеку в Swift і бачив щось типу wgpuInstanceCreateSurface(...) + купу UnsafePointer + ручні Release() — то ти знаєш цей біль. Swift це вміє, але виглядає як “Swift, який удає що він C”.Apple (Swift team) показали класну штуку: можна зробити C API більш “swift-овим”, НЕ переписуючи бібліотеку, просто додавши анотації в хедерах. (Плюс частина фіксів приїхала в Swift 6.2.3.)Що можна “покращити” майже безкоштовно:✅ Нормальні імена з argument labels через SWIFT_NAME, щоб виклики читались як Swift✅ Імпортувати C-функції як methods (коли перший аргумент — це умовний self)✅ Enum замість констант і типобезпека замість “просто Int”✅ OptionSet замість flags (щоб не міксувати несумісні біти випадково)✅ ARC-поведінка для C-обʼєктів через SWIFT_SHARED_REFERENCE(...) — і більше не треба писати AddRef/Release вручну✅ Computed properties замість get-функцій (через getter: у Swift name)✅ Навіть C-bool можна зробити дружнім, щоб в Swift працювало як true/false, а не магічні WGPU_TRUEІ головне: це не “якась магія”. Це буквально шар косметики + безпеки, який Swift накладає на C API під час імпорту, щоб воно виглядало як нормальний Swift-код.Якщо у вас в проєкті є хоч одна C/ObjC бібліотека — ці анотації це найкращий ROI апгрейд, бо ви покращуєте і читабельність, і безпеку, і кількість багів “на рівному місці” без переписування світу.Джерело:https://www.swift.org/blog/improving-usability-of-c-libraries-in-swift/BWSwift 📱 YouTube 📱 Patreon