This media is not supported in your browser
VIEW IN TELEGRAM
Как связаны все репозитории об iOS-разработке на Github
Оказывается, пользователь с ником @anvaka задумался об этом и создал интерактивную карту.
На ней представлен целый остров под названием Swiftoria, на котором можно найти все репозитории, относящиеся к iOS, а еще кроме этого можно посмотреть на их взаимосвязи.
📖 Об идее и используемых технологиях для создания можно прочесть здесь.
🌐 А вот тут доступна интерактивная версия.
😃 iOS Dev
Оказывается, пользователь с ником @anvaka задумался об этом и создал интерактивную карту.
На ней представлен целый остров под названием Swiftoria, на котором можно найти все репозитории, относящиеся к iOS, а еще кроме этого можно посмотреть на их взаимосвязи.
📖 Об идее и используемых технологиях для создания можно прочесть здесь.
🌐 А вот тут доступна интерактивная версия.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Реализация эффекта адаптивного блюра
Многие пользователи iOS обращали внимание на необычный стиль блюра на системной шторке.
Оказывается, его можно повторить с помощью приватного апи, используя
🛠Janum Trivedi, автор опенсорсного Wave, поделился тонкостями реализации в своем репозитории.
В комментариях к посту заметили, что это можно сделать и комбинацией SceneKit + Metal, и с помощью visual effect view.
Кстати, в своей реализации я использовал маску для градиентного блюра.
😃 iOS Dev
Многие пользователи iOS обращали внимание на необычный стиль блюра на системной шторке.
Оказывается, его можно повторить с помощью приватного апи, используя
CAFilter.
🛠Janum Trivedi, автор опенсорсного Wave, поделился тонкостями реализации в своем репозитории.
В комментариях к посту заметили, что это можно сделать и комбинацией SceneKit + Metal, и с помощью visual effect view.
Кстати, в своей реализации я использовал маску для градиентного блюра.
Please open Telegram to view this post
VIEW IN TELEGRAM
О чистоте кода и японских урнах
Даже плохой код может работать. Но с течением времени скорость разработки начнет снижаться и в какой-то момент может потребоваться активизация огромных ресурсов для того, чтобы все это починить и вернуться к нормальным темпам.
🇯🇵 Находясь в Японии, многие туристы обратят внимание на невероятную чистоту, а еще на практически полное отсутствие урн на улицах, и это неспроста.
Дело в том, что с ранних лет японцев учат воспринимать уборку не как наказание, а скорее как некую игру для формирования привычек.
☕️ Например, в «Книге о чае» Окакуры Какузо, классическом труде о чайной церемонии есть такая цитата «…всё абсолютно чисто. Ни пылинки в самом темном углу. Потому что если найти пылинку, то хозяин — не чайный мастер».
В нашей разработке также стоит учитывать чистоту кода, и не стоит недооценивать правило трех.
Но не нужно слишком рьяно относиться к этому, так как в гонке за бесконечными улучшениями кода бизнес не будет ждать. Поэтому как и в чайной церемонии, в разработке должен быть баланс.
А куда будет склоняться чаша весов, можно определить в будущих спринтах.
😃 iOS Dev
Даже плохой код может работать. Но с течением времени скорость разработки начнет снижаться и в какой-то момент может потребоваться активизация огромных ресурсов для того, чтобы все это починить и вернуться к нормальным темпам.
Дело в том, что с ранних лет японцев учат воспринимать уборку не как наказание, а скорее как некую игру для формирования привычек.
В нашей разработке также стоит учитывать чистоту кода, и не стоит недооценивать правило трех.
Но не нужно слишком рьяно относиться к этому, так как в гонке за бесконечными улучшениями кода бизнес не будет ждать. Поэтому как и в чайной церемонии, в разработке должен быть баланс.
А куда будет склоняться чаша весов, можно определить в будущих спринтах.
Please open Telegram to view this post
VIEW IN TELEGRAM
Performance Trace Profiles: отладка проблем производительности, которые сложно воспроизвести
Одна из самых сложных частей нашей работы — поиск багов, которые встречаются у единичных пользователей, но команда разработчиков не может их повторить.
Среди них: фризы пользовательского интерфейса, проблемы с многопоточностью/параллелизм, проблемы ЦП/памяти и так далее.
Как следует из названия,
Более того, с их помощью можно запускать системную трассировку всего, что в данный момент работает на телефоне, которую вы можете позже извлечь и открыть в «Инструментах».
📖 В этом материале рассматриваются нужные шаги для работы с профилями, инструкция для анализа и несколько советов.
Но будьте осторожны, ведь трассировка будет фиксировать и избыточную информацию.
😃 iOS Dev
Одна из самых сложных частей нашей работы — поиск багов, которые встречаются у единичных пользователей, но команда разработчиков не может их повторить.
Среди них: фризы пользовательского интерфейса, проблемы с многопоточностью/параллелизм, проблемы ЦП/памяти и так далее.
Как следует из названия,
Performance Trace Profiles
предоставляют возможности отслеживания производительности вашего устройства.Более того, с их помощью можно запускать системную трассировку всего, что в данный момент работает на телефоне, которую вы можете позже извлечь и открыть в «Инструментах».
📖 В этом материале рассматриваются нужные шаги для работы с профилями, инструкция для анализа и несколько советов.
Но будьте осторожны, ведь трассировка будет фиксировать и избыточную информацию.
Please open Telegram to view this post
VIEW IN TELEGRAM
Топ-5 нововведений в Xcode 15, которые могут вас удивить
Так сложилось, что во время самого WWDC я был в самолёте и по определённым причинам не смог провести трансляцию, как в прошлый раз , но!
🤩 Вот пять новинок в Xcode, которые некоторые даже смогли предсказать:
1️⃣ Можно использовать previews в UIKit (и AppKit!).
До этого существовали некоторые способы, но теперь нативно.
2️⃣ Представлена SwiftData (многие давно ждали/верили/надеялись, но решили выкатить сейчас, анонс уже здесь).
3️⃣ Можно оставлять закладки в коде! Пока, задисейбленные брейпоинты?
4️⃣ Теперь доступна новая система макросов, которую можно использовать для уменьшения бойлерплейт-кода и улучшения API.
5️⃣ Неактивный код в блоках
😎 Бонус!
Теперь доступно действие Archive, даже если выбран симулятор. Наверняка каждый хоть раз, да забывал переключать симулятор для архива во всех 14 предыдущих версиях Xcode.
😃 iOS Dev — будем следить за новинками вместе (и копить на лыжную маску amazing хэдсет за $3 500)
1️⃣ Можно использовать previews в UIKit (и AppKit!).
До этого существовали некоторые способы, но теперь нативно.
2️⃣ Представлена SwiftData (многие давно ждали/верили/надеялись, но решили выкатить сейчас, анонс уже здесь).
3️⃣ Можно оставлять закладки в коде! Пока, задисейбленные брейпоинты?
4️⃣ Теперь доступна новая система макросов, которую можно использовать для уменьшения бойлерплейт-кода и улучшения API.
5️⃣ Неактивный код в блоках
#if…#endif
теперь будет отображаться с тенью. Очень полезно, когда выбран не тот таргет. Можно вернуть, как было в Text Editing > Display
.Теперь доступно действие Archive, даже если выбран симулятор. Наверняка каждый хоть раз, да забывал переключать симулятор для архива во всех 14 предыдущих версиях Xcode.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Статус-бар в iOS 17 теперь по умолчанию меняет стиль в зависимости от контента!
Сейчас стиль статус-бара определяет приложение (или контроллер). Но есть случаи, когда пользовательский контент может быть динамическим, и тогда изменение стиля становится непростой задачей.
Теперь, в iOS 17, стиль по умолчанию постоянно подстраивается под содержимое приложения и автоматически меняется с тёмного на светлый (и наоборот) для поддержания контраста.
🤩 И теперь даже возможно, что статус-бар может быть наполовину чёрным, а наполовину белым!
Поскольку приложениям больше не нужно явно указывать темный и светлый стили для всех этих случаев, для iOS 17 можно выпилить весь код для настроек и использовать дефолтный стиль.
😃 iOS Dev
Сейчас стиль статус-бара определяет приложение (или контроллер). Но есть случаи, когда пользовательский контент может быть динамическим, и тогда изменение стиля становится непростой задачей.
Теперь, в iOS 17, стиль по умолчанию постоянно подстраивается под содержимое приложения и автоматически меняется с тёмного на светлый (и наоборот) для поддержания контраста.
Поскольку приложениям больше не нужно явно указывать темный и светлый стили для всех этих случаев, для iOS 17 можно выпилить весь код для настроек и использовать дефолтный стиль.
Please open Telegram to view this post
VIEW IN TELEGRAM
Palette Menus в iOS 17: доступен новый тип меню как в Finder, Books и Mail
Этот элемент в Apple используют приложении Books на iOS или в Mail и Finder на Mac. Теперь же они доступны и в
Чтобы превратить любое меню в палитру, просто добавьте
Выбор будет отмечен соответствующим индикатором на основе предоставленного изображения.
Если все элементы в палитре используют монохромные символы SF или шаблонные изображения, выбранный элемент окрашивается цветом оттенка приложения.
👩🎓 Также можно задать свой стиль индикатора выбора, используя
😃 iOS Dev
Palettes
(или проще палитры) представляют собой ряд элементов меню, обычно используемых для выбора из заданного набора. Этот элемент в Apple используют приложении Books на iOS или в Mail и Finder на Mac. Теперь же они доступны и в
UIKit
. Чтобы превратить любое меню в палитру, просто добавьте
.displayAsPalette
к его параметрам, как показано ниже.UIMenu(options: [.displayInline, .displayAsPalette], children: [ ... ])
Выбор будет отмечен соответствующим индикатором на основе предоставленного изображения.
Если все элементы в палитре используют монохромные символы SF или шаблонные изображения, выбранный элемент окрашивается цветом оттенка приложения.
selectedImage
в протоколе UIMenuLeaf
.Please open Telegram to view this post
VIEW IN TELEGRAM
‼️Push Notifications Console — тестовые пуши, логи и валидация в новом инструменте Apple
Новая консоль push-уведомлений упростит отправку тестовых уведомлений на устройства Apple через службу Apple Push Notification (APN).
Есть доступ к логам, которые предоставляют информацию о процессе доставки, а также дополнительные инструменты для создания и проверки токенов. Что доступно:
🔘 Отправка уведомлений. Есть опция выбора приоритета доставки, тип (от
🔘 Логи. Время доставки зависит от различных факторов, а именно: мощности устройства, подключения устройства, приоритета push-уведомления, состояния приложения на устройстве и других.
🔘 Проверка токенов аутентификации, генерация (конфиденциальность сохранится, происходит на стороне браузера), валидация окружения и типа пуша (чтобы не отправить на прод случайно).
В
🧑💻 Посмотреть и попробовать можно здесь.
😃 iOS Dev — помню времена, когда использовал Parse .
Новая консоль push-уведомлений упростит отправку тестовых уведомлений на устройства Apple через службу Apple Push Notification (APN).
Есть доступ к логам, которые предоставляют информацию о процессе доставки, а также дополнительные инструменты для создания и проверки токенов. Что доступно:
🔘 Отправка уведомлений. Есть опция выбора приоритета доставки, тип (от
alert
до voip
) и apns-expiration.🔘 Логи. Время доставки зависит от различных факторов, а именно: мощности устройства, подключения устройства, приоритета push-уведомления, состояния приложения на устройстве и других.
🔘 Проверка токенов аутентификации, генерация (конфиденциальность сохранится, происходит на стороне браузера), валидация окружения и типа пуша (чтобы не отправить на прод случайно).
В
payload
можно задать title, subtitle, body, launch-image и ряд других параметров.Please open Telegram to view this post
VIEW IN TELEGRAM
Новое меню для быстрых действий в Xcode 15
Xcode меняется в лучшую сторону, например, добавили закладки в коде и систему макросов, которую ещё будем разбирать, но есть менее заметные (хотя и довольно полезные) обновления.
1️⃣ Для вызова нужно использовать шорткат
2️⃣ Затем достаточно начать печатать название действия, которое вы хотите использовать.
👍 Из плюсов: можно сразу же выбрать любую опцию рефакторинга, что потенциально ускорит написание кода.
😃 iOS Dev
Xcode меняется в лучшую сторону, например, добавили закладки в коде и систему макросов, которую ещё будем разбирать, но есть менее заметные (хотя и довольно полезные) обновления.
1️⃣ Для вызова нужно использовать шорткат
Shift ⇧ + CMD ⌘ + A
2️⃣ Затем достаточно начать печатать название действия, которое вы хотите использовать.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
😂 Как должно выглядеть настоящее Perfomance Review!
Пока идёт огромный поток информации на неделе WWDC, нужно делать и небольшие паузы в освоении новых материалов.
Например, Крэйг Федериги вчера показал свои скиллы с помощью мощного гитарного соло, чем привёл в восторг всех присутствующих.
😎 А вы отдыхаете после релиза?
😃 iOS Dev
Пока идёт огромный поток информации на неделе WWDC, нужно делать и небольшие паузы в освоении новых материалов.
Например, Крэйг Федериги вчера показал свои скиллы с помощью мощного гитарного соло, чем привёл в восторг всех присутствующих.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Новая опция в Xcode 15: форматирование кода на несколько строк
🤩 Спустя годы после того, как эту функцию запрашивали и после появления довольно популярного репозитория на Github Apple наконец выкатили фичу для разбиения кода на несколько строк. Разве не amazing!
Правда, пока нет шортката, но ведь и Xcode пока только в бете.
😃 iOS Dev
Правда, пока нет шортката, но ведь и Xcode пока только в бете.
Please open Telegram to view this post
VIEW IN TELEGRAM
Новые опции дистрибуции в Xcode 15: отправка в App Store и TestFlight в один клик
Выше я поделился несколькими обновлениями, но это далеко не всё!
🔨 Например, теперь даже без использования инструментов CI, можно заливать приложение буквально в один клик, используя новые встроенные опции.
Варианты, которые были ранее, доступны во вкладке
😃 iOS Dev
Выше я поделился несколькими обновлениями, но это далеко не всё!
Варианты, которые были ранее, доступны во вкладке
Custom
.Please open Telegram to view this post
VIEW IN TELEGRAM
Печальная новость для инди-разработчиков, Apollo для Reddit остановят 30 июня и вот почему это плохо
К крутым продуктам и их создателям можно относиться по-разному, но они двигают всю индустрию вперёд.
Один из таких людей — Кристиан Селиг. Как минимум дважды я писал о его идеях и в нашем канале: посмотрите ещё раз на эту милоту или на более серьёзный материал о работе с жестами.
На протяжении последних восьми лет он работал над клиентом для Reddit, которым пользуется даже Крейг Федериги (не шутка, на WWDC23 были другие упоминания).
Так вот, Reddit выкатил новые условия использования API, которые предполагают траты в размере 20 млн долларов в год для этого приложения. И хоть Аполло используют миллионы, платных юзеров около 50 000. Математически это красная зона для счёта в первый же месяц.
В этой истории последняя страница пока не перевёрнута, но очевидно следующее:
1️⃣ Когда вы полагаетесь на API от крупной корпорации, будьте готовы к таким поворотам. Примеры твиттера, ютуба и других говорят, что это тенденция, а не совпадение. Для корпораций потенциальная стоимость одного пользователя куда выше, чем для инди-разработчиков, так как они рассчитывают на больший доход. И если оценить ситуацию с холодной головой, это справедливо.
2️⃣ У большинства нет таких связей, как у Кристиана (бывшего интерна Applе со связями в яблочной корпорации). Поэтому не нужно думать, что ваш первый (или даже двадцатый) пет-проект обязательно должен получить Editor's choice.
3️⃣ Восемь лет работать над одним проектом — вызов. И в компании, и над своими проектами. Чтобы не выгореть, нужно любить своё дело, и даже при этом, иногда нужно находить время на то, чтобы отвлекаться.
У Кристиана всё будет хорошо. Есть невероятная поддержка и от пользователей, и от влиятельных персон, поэтому даже в случае шатдауна Аполло, с ресурсами на разработку всё будет в порядке.
И кое-что ещё. Если вам по-настоящему нравится какое-то приложение (необязательно Apollo), то потратьте две минуты на отзыв, а если позволяют финансы, то на премиум внутри. Для инди-разработчиков это не только мотивация, но, что более важно, сигнал о том, что их работа кому-то помогла.
😃 iOS Dev
К крутым продуктам и их создателям можно относиться по-разному, но они двигают всю индустрию вперёд.
Один из таких людей — Кристиан Селиг. Как минимум дважды я писал о его идеях и в нашем канале: посмотрите ещё раз на эту милоту или на более серьёзный материал о работе с жестами.
На протяжении последних восьми лет он работал над клиентом для Reddit, которым пользуется даже Крейг Федериги (не шутка, на WWDC23 были другие упоминания).
Так вот, Reddit выкатил новые условия использования API, которые предполагают траты в размере 20 млн долларов в год для этого приложения. И хоть Аполло используют миллионы, платных юзеров около 50 000. Математически это красная зона для счёта в первый же месяц.
В этой истории последняя страница пока не перевёрнута, но очевидно следующее:
1️⃣ Когда вы полагаетесь на API от крупной корпорации, будьте готовы к таким поворотам. Примеры твиттера, ютуба и других говорят, что это тенденция, а не совпадение. Для корпораций потенциальная стоимость одного пользователя куда выше, чем для инди-разработчиков, так как они рассчитывают на больший доход. И если оценить ситуацию с холодной головой, это справедливо.
2️⃣ У большинства нет таких связей, как у Кристиана (бывшего интерна Applе со связями в яблочной корпорации). Поэтому не нужно думать, что ваш первый (или даже двадцатый) пет-проект обязательно должен получить Editor's choice.
3️⃣ Восемь лет работать над одним проектом — вызов. И в компании, и над своими проектами. Чтобы не выгореть, нужно любить своё дело, и даже при этом, иногда нужно находить время на то, чтобы отвлекаться.
У Кристиана всё будет хорошо. Есть невероятная поддержка и от пользователей, и от влиятельных персон, поэтому даже в случае шатдауна Аполло, с ресурсами на разработку всё будет в порядке.
И кое-что ещё. Если вам по-настоящему нравится какое-то приложение (необязательно Apollo), то потратьте две минуты на отзыв, а если позволяют финансы, то на премиум внутри. Для инди-разработчиков это не только мотивация, но, что более важно, сигнал о том, что их работа кому-то помогла.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Новые анимации для ScrollView в iOS 17: ScrollTransitionConfiguration в SwiftUI
Красота и относительная лёгкость реализации анимаций в SwiftUI не может не привлекать, как например в этом примере.
С каждой новой версией количество опций для добавления эффектов только увеличивается, и это радует.
📺 В этом видео с WWDC рассказывается об изменениях в к Scroll View и приводятся примеры кода.
📖 Вот тут уже есть необходимая документация.
🔗 А в этом примере от Meng To можно посмотреть на одну из возможных реализаций.
😃 iOS Dev
Красота и относительная лёгкость реализации анимаций в SwiftUI не может не привлекать, как например в этом примере.
С каждой новой версией количество опций для добавления эффектов только увеличивается, и это радует.
📺 В этом видео с WWDC рассказывается об изменениях в к Scroll View и приводятся примеры кода.
📖 Вот тут уже есть необходимая документация.
🔗 А в этом примере от Meng To можно посмотреть на одну из возможных реализаций.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Воспроизведение эффекта анимации NameDrop с использованием SKShader
Одной из самых эффектных фич в iOS 17 стала
А энтузиасты даже смогли повторить, используя
🛠 Вот здесь, кстати, исходный код, в котором вы можете посмотреть на реализацию и использовать в своих проектах.
😃 iOS Dev
Одной из самых эффектных фич в iOS 17 стала
NameDrop
(для шаринга контактов). Многие обратили внимание на необычную анимацию, похожую на водную рябь.А энтузиасты даже смогли повторить, используя
SKShader
(пример на гифке).🛠 Вот здесь, кстати, исходный код, в котором вы можете посмотреть на реализацию и использовать в своих проектах.
Please open Telegram to view this post
VIEW IN TELEGRAM
Новая опция в Xcode 15: заглушки для пустых состояний
Одно из любопытных нововведений в Xcode — нативное добавление заглушек для обработки empty states (когда у вас не пришёл ответ от сервера, или, например, просто пустой результат поиска).
Ключ для использования —
Можно создавать заглушки одного из трёх типов:
🧑💻 Кстати, бонусом доступна реализация конфига в том числе и на SwiftUI, а для использования можно задействовать
А вот тут пример использования в реальном проекте.
😃 iOS Dev
Одно из любопытных нововведений в Xcode — нативное добавление заглушек для обработки empty states (когда у вас не пришёл ответ от сервера, или, например, просто пустой результат поиска).
Ключ для использования —
UIContentUnavailableConfiguration
(больше инфы в официальной доке).Можно создавать заглушки одного из трёх типов:
empty
, loading
, search
. UIHostingConfiguration
там, где удобно.А вот тут пример использования в реальном проекте.
Please open Telegram to view this post
VIEW IN TELEGRAM
Новый Resumable upload protocol: пауза/продолжение загрузки данных на сервер
Ранее нам были доступны методы вроде
Парадоксально, но нативной поддержки такого важного и полезного метода до сих пор нет.
🥳 Зато в 17 оси появится
Конечно, сервер должен уметь поддерживать такой тип загрузок, и скорее всего, ваши коллеги уже слышали о SwiftNIO.
📺 А в этом видео можно узнать о дополнительных требованиях к серверу и посмотреть на пример клиентского кода (он интуитивен).
📖 Документация по новому методу доступна на сайте Apple.
😃 iOS Dev
Ранее нам были доступны методы вроде
downloadTaskWithResumeData
(аж с седьмой оси), но для того, чтобы реализовать возобновляемый аплоад, приходилось писать свои решения (или использовать либы вроде TUS и прочих).Парадоксально, но нативной поддержки такого важного и полезного метода до сих пор нет.
uploadTaskWithResumeData
.Конечно, сервер должен уметь поддерживать такой тип загрузок, и скорее всего, ваши коллеги уже слышали о SwiftNIO.
📺 А в этом видео можно узнать о дополнительных требованиях к серверу и посмотреть на пример клиентского кода (он интуитивен).
📖 Документация по новому методу доступна на сайте Apple.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Шейдеры в Xcode 15: возможности, примеры кода и математика
📖 В большой обзорной статье приводятся примеры кода, интеграции и работы с разными типами шейдеров.
🧑💻 А для тех, кто хочет прокачать свои знания — есть целая спецификация по созданию собственных шейдеров от Apple, Metal Shading Language (сокращённо, MSL).
😃 iOS Dev
Shader
— это референс на функцию в либе Metal, и в этом году появилось несколько новых модификаторов для его использования внутри SwiftUI
. Пожалуй, основной недостаток — его доступность с iOS 17, в отличие от примера выше.📖 В большой обзорной статье приводятся примеры кода, интеграции и работы с разными типами шейдеров.
Please open Telegram to view this post
VIEW IN TELEGRAM
Обзорный пост по всем нововведениям на WWDC23 для iOS Dev
WWDC подошла к концу, но для нас всё только начинается.
Новые девайсы будут представлены только осенью, а до тех пор в проектах можно попробовать внедрить что-то из нижеперечисленного.
Технологии
🔘 8 новых фреймворков — описание, детали и требования.
🔘 Представленные технологии в формате кратких хайлайтов от Apple.
🔘 Топ-5 нововведений в Xcode 15 и все релизноты бета-версии.
Код и примеры
🔗 Проекты, показанные во время презентации, отобранные Apple.
🔗 SwiftData — туториал с примерами от Kodeco.
🔗 Адаптация проекта с Core Data к новой SwiftData.
🔗 Серии вопросов и ответов, связанных с SwiftData и CoreData.
Новые инструменты
🔨 Push notifications console.
Что точно пригодится
📖 Новый метод для контроллера
📖 Изменения в локализации проектов.
Какие видео можно посмотреть в первую очередь
📺 Изменения в UIKit.
📺 Анализ зависаний с помощью инструментов.
📺 Разбор структурированного параллелизма (не только основы).
📺 Новые возможности дебага, и для чего нужен dwim-print.
📺 Swift-макросы и как они могут упростить написание сложных функций.
Кроме этого, вы всегда можете прочесть об основных изменениях вот с этого поста.
👩🎓 А я, в свою очередь, постараюсь оперативно сообщать о важном здесь, в канале:
😃 iOS Dev
WWDC подошла к концу, но для нас всё только начинается.
Новые девайсы будут представлены только осенью, а до тех пор в проектах можно попробовать внедрить что-то из нижеперечисленного.
Технологии
🔘 8 новых фреймворков — описание, детали и требования.
🔘 Представленные технологии в формате кратких хайлайтов от Apple.
🔘 Топ-5 нововведений в Xcode 15 и все релизноты бета-версии.
Код и примеры
🔗 Проекты, показанные во время презентации, отобранные Apple.
🔗 SwiftData — туториал с примерами от Kodeco.
🔗 Адаптация проекта с Core Data к новой SwiftData.
🔗 Серии вопросов и ответов, связанных с SwiftData и CoreData.
Новые инструменты
Что точно пригодится
📖 Новый метод для контроллера
viewIsAppearing
.📖 Изменения в локализации проектов.
Какие видео можно посмотреть в первую очередь
📺 Изменения в UIKit.
📺 Анализ зависаний с помощью инструментов.
📺 Разбор структурированного параллелизма (не только основы).
📺 Новые возможности дебага, и для чего нужен dwim-print.
📺 Swift-макросы и как они могут упростить написание сложных функций.
Кроме этого, вы всегда можете прочесть об основных изменениях вот с этого поста.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Необычный эффект увеличительного стекла с использованием Metal в iOS 17
🤩 Уже знакомый нам Janum Trivedi применил интересный подход к тому, чтобы повторить эффект лупы, который вы можете увидеть на гифке.
Для этого он использовал
🛠 Кстати, решение опенсорсное, а пример кода доступен на github.
😃 iOS Dev
Для этого он использовал
Metal
, а также свою библиотеку Wave
, о которой можно прочитать здесь.🛠 Кстати, решение опенсорсное, а пример кода доступен на github.
Please open Telegram to view this post
VIEW IN TELEGRAM