iOS Broadcast
3.38K subscribers
1.72K photos
85 videos
985 links
Подборка новостей и статей для iOS разработчиков.

Новости Kotlin и мультиплатформы @kotlin_broadcast
Новости Android @android_broadcast
Реклама и прочее @ab_manager
加入频道
This media is not supported in your browser
VIEW IN TELEGRAM
Глубокое погружение в Observation (13 мин)
На WWDC представили новый фреймворк призванный оптимизировать работу SwiftUI. Советую ознакомиться со статьей перед началом использования нового фреймворка

👉 Зачем нужен Observation
👉 Как объявить Observable Object
👉 Как работает макрос @Observable
👉 Как использовать Observable Object совместно с SwiftUI View

#Observation #SwiftUI #swift
👍1👎1
SSWG 2023 итоги полугодия
Каждый год группа по развитию Swift для сервера (SSWG) подводит итоги работы сообщества и определяет направление деятельности на следующий год. 
В 2022 году в экосистеме Swift появились следующие библиотеки:
👉 MongoKitten
👉 Kafka client library
👉 Cassandra client library
👉 GraphQL
👉 RabbitMQ library

В контексте туллинга: 
👉 Swift Extension for Visual Studio Code достиг мажорного релиза 1.0.0
👉 Swiftly повился для простой установки Swift на Linux и позволяет легко переключаться между версиями

Цели на 2023 год:
👉 Рост экосистемы библиотек
👉 Адаптировать структурированный параллелизм глубже
👉 Расширять документацию и туториалы
👉 Улучшать туллинг

#swift #server #sswg
👍6👎2
This media is not supported in your browser
VIEW IN TELEGRAM
Переворачиваем вечный SwiftUI календарь при помощи UIKit
Специально для вас сделал демо проект с которым можно переворачивать календарь прямо на своем телефоне
👉 70 строк кода
👉 UIPageViewController
👉 Всего 2 инстанса и полный реюз 3 сентября

#swift #swiftUI #UIKit #humor
👍31👎10
Потокобезопасность swift через - lock

Многие считают что Swift Concurrency это наше все и чтобы достичь потокобезопасности нужно использовать акторы. Это правильный ход мышления, но не всегда применимый. Для кейсов где Structured concurrency не подходит Apple добавили в iOS 16 OSAllocatedUnfairLock.
В приведенной статье автор приводить пример использования OSAllocatedUnfairLock и NSRecursiveLock в разрезе классической задачи хранилища в UDF

#swift #concurrency
👍7👎1
This media is not supported in your browser
VIEW IN TELEGRAM
⌨️ Продолжаем привыкать к новому доступному синтаксису Swift 5.9, 🐱SE-0380

Теперь можно использовать if в качестве выражения, например для динамического задания значения константы 🔥

#swift #evolution
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16👎1
⌨️ Продолжаем привыкать к новым возможностям Swift 5.9, 🐱 SE-0393, 🐱SE-0398 и 🐱SE-0399

В Swift 5.9 появились вариативные дженерики, которые решают важную проблему в Swift - дженерик функции для каждого набора аргументов.
Благодаря этому, например, в SwiftUI убрали лимит на 10 View 🎉.

#swift #proposal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10👎1
📊 Мигрируем диаграммы на нативный Swift Charts

В этом году многие планируют поднять таргет до iOS 16 а это значит что можно мигрировать на нативный фреймворк Swift Charts.
Главное и безоговорочное преимущество - отсутствие сторонней зависимости, что позволяет уменьшить размер приложения.
Даже если ваш таргет iOS 15, уже можно планировать работу по миграции на нативные графики и включать их для пользователей на актуальных iOS, чтобы иметь обратную связь и возможность переключаться на старые графики по-небходимости

#swift #charts #migration
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6👎1
🎉 Создаваем красивую документацию с помощью Swift-DocC

Внезапный инсайт с WWDC23, Apple доработала Swift-DocC так, что это теперь полноценный code-first редактор сайтов для инженеров, гораздо удобнее папок с .md файлами

➡️ Live preview документации
➡️ Шаблоны документации с темами и табличная верстка ‼️
➡️ Группировка по темам документации всего фреймворка
➡️ Возможность документировать расширения
➡️ Навигация в вебе как в Xcode

Вот теперь думаю, переводить всю документацию на новые релльсы или начать с новой 🤔
#Swift #DocC #wwdc23
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11👎1
😀 SE-0386 новый модификатор доступа package в Swift 5.9

В нововой версии Swift 5.9, которая идет с Xcode 15 появился новый модификотор доступа - package.
Этот модификатор будет полезен для выстраивания корректных доступов в подключаемых модулях, для случая когда вы не хотите, чтобы доступ к определенной функции осуществлялся из другого модуля, а только внутри того же модуля. В целом, этот модификатор доступа похож на internal, за исключением того, что он создан для модулей.
Актуальное ранжирование модификаторов доступа:
🔘 private
🔘 fileprivate
🔘 internal
🔘 package ✔️
🔘 public
🔘 open

#swift #proposal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6👎1
🐥😺 Retainable
В своем посте на хабре "Насколько Swift удобен для DSL?", я вскользь упоминал про свои снипеты assignOnWeak и методе weakify. В представленной либе, автор пошел дальше и сделал простую библиотеку для всех возможных случаев с Readme и примерами

publisher
.sink(weak(ThisClass.handle))
.store(in: &cancellables)
var userNameBinding: Binding<String> = .init(
set: unowned(\.userName),
get: unowned(\.userName)
)
networkManager.performTask(weak(
capture: (userId, chatId), ThisClass.process)
)

#weak #swift
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2
Переворачиваем вечный SwiftUI календарь при помощи UIKit
У этого канала своя традиция на 3 сентября😅. Специально для вас сделал демо проект с которым можно переворачивать календарь прямо на своем телефоне
👉 70 строк кода
👉 UIPageViewController
👉 Всего 2 инстанса и полный реюз 3 сентября

#swift #swiftUI #UIKit #humor
👍6