Использование Apple Swift и SwiftUI в iOS 18
Вышел ежегодный анализ инструментов, используемых внутри Apple. Один из самых лучших маркеров готовности технологии-процент использования внутри Apple:
🟢 iOS 18 содержит 6800 бинарников, что на 770 больше, чем в iOS 17
🟢 Количество приложений, использующих Swift, увеличилось на 50% по сравнению с iOS 17
🟢 SwiftUI используется в 592 бинарниках, что на 19 больше, чем в iOS 17
Эволюция языков программирования
🟣 SwiftUI стал основным UI фреймворком в iOS 18
🟣 Количество приложений, использующих
🟣 В iOS 18 появилась платформа
Новые функции безопасности
🔴 iOS 18 расширила функцию безопасности BlastDoor для защиты от атак
🔴 Secure Enclave в iOS 18 использует Swift для обеспечения безопасности
Вышел ежегодный анализ инструментов, используемых внутри Apple. Один из самых лучших маркеров готовности технологии-процент использования внутри Apple:
Эволюция языков программирования
UIKit
, выросло на 8%, SwiftUI
— более чем на 50%SwiftUICore
для интеграции низкоуровневого кода SwiftUI
с UIKit
Новые функции безопасности
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤1
Pointfree представили новую open-source библиотеку Sharing для обмена данными о состоянии приложения. Библиотека основана на инструментах из библиотеки Composable Architecture и может использоваться в iOS, macOS и кроссплатформе:
@Shared
для совместного использования состояния нескольких частей приложения и сохранения данных во внешних системах храненияappStorage
, fileStorage
и inMemory
@Shared
может использоваться практически в любом месте приложения, включая наблюдаемые модели, View в SwiftUI
, ViewContoller в UIKit
и многое другое@Shared
Удобно и лаконично, а главное с открытими исходниками и примерами:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
При использовании Swift Concurrency и Objective-C нужно быть максимально осторожным, при добавлении ключевого слова
async
меняется Obj-C интерфейс интерропа. "Утиная" типизация тут не видит проблемы и вызов селектора приводит к рантайм крашу. Неявная проблема и странное героическое преодоление. Именно по-этому в Objective-C было хорошим тоном при вызове селектора проверять respondstoselector. Но сам кейс разобрать интересно:WithCompletionHandler
WithCompletionHandler
как async
sendAction
что выглядит как очень хрупкий костыль, тут либо уходить в NSProxy, либо оставлять интероп синхронным а асинхронной выполнять работу внутри SwiftPlease open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Пост о использовании CoreLocation. Казалось бы, что может быть проще. Но работа с геолокацией это одна из кроличьих нор iOS и ловушек:
Please open Telegram to view this post
VIEW IN TELEGRAM
👏3
SwiftUI предоставляет широкий набор для декларативного описания пользовательского интерфейса. Но без должного опыта есть большая вероятность "описать" его не так как хотелось бы видеть. Для отладки рендера существуют отдельные библиотеки, но можно обойтись и подручными средствами:
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3