Breadcrumbs: утилита-багтрекер на основе комментариев
🛠 На гитхабе есть забавная утилита, которая позволяет увидеть все комментарии
Для этого нужно запустить приложение и выбрать папку проекта. Выглядит как любопытная мысль 😉
😃 iOS Dev
🛠 На гитхабе есть забавная утилита, которая позволяет увидеть все комментарии
TODO
и FIXIT
, которые вы добавили в исходный код.Для этого нужно запустить приложение и выбрать папку проекта. Выглядит как любопытная мысль 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
Разбор особенностей протоколов в Swift
Какими бы мощными не были возможности протоколов, мы должны знать и о скрытых свойствах.
Иногда неочевидные особенности могут затруднить оценку кода, тем более когда протоколы наследуют от других протоколов.
В целом о них можно рассуждать с четырех разных точек зрения:
1️⃣ Использование в рантайме.
2️⃣ Использование во время компиляции.
3️⃣ Протоколы с ограничениями во время компиляции.
4️⃣ Синтез реализаций протокола и его влияние на время компиляции.
📖 Вот тут есть разбор различных ситуаций, которые проясняют путаницу при работе с протоколами.
😃 iOS Dev
Какими бы мощными не были возможности протоколов, мы должны знать и о скрытых свойствах.
Иногда неочевидные особенности могут затруднить оценку кода, тем более когда протоколы наследуют от других протоколов.
В целом о них можно рассуждать с четырех разных точек зрения:
1️⃣ Использование в рантайме.
2️⃣ Использование во время компиляции.
3️⃣ Протоколы с ограничениями во время компиляции.
4️⃣ Синтез реализаций протокола и его влияние на время компиляции.
📖 Вот тут есть разбор различных ситуаций, которые проясняют путаницу при работе с протоколами.
Please open Telegram to view this post
VIEW IN TELEGRAM
Есть общие категории: сервер, сеть, тестирование и логирование. Но не только они. Например, представлены пакеты, содержащие макросы.
При выборе категории показаны примеры некоторых популярных пакетов для этой категории, а также полезная инфа.
Это отличный способ получить представление о разнообразии пакетов, доступных для Swift.
📖 Изучить их детальнее можно здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Flappy Dird — игра внутри MacOS Finder
Прошлая неделя оказалась немного тяжелее, чем обычно, а всё из-за короны, которая не выбирает времени, когда напасть (и это несмотря на 3 прививки в прошлом ).
🚩 И чтобы было немного проще влиться в рабочие будни, сегодня развлекательный пост.
Я люблю необычные подходы к разработке и решения, которые могут удивить. И пусть эта игра работает со скоростью 4 кадра в секунду, зато тут есть рекорды и даже баннеры.
А о сложностях, работе с AppleScript и почему игра не может работать быстрее, можно прочесть в блоге разработчика.
📖 Кстати, если вам интересен исходный код, то он в опенсорсе.
😃 iOS Dev
Прошлая неделя оказалась немного тяжелее, чем обычно, а всё из-за короны, которая не выбирает времени, когда напасть (
Я люблю необычные подходы к разработке и решения, которые могут удивить. И пусть эта игра работает со скоростью 4 кадра в секунду, зато тут есть рекорды и даже баннеры.
А о сложностях, работе с AppleScript и почему игра не может работать быстрее, можно прочесть в блоге разработчика.
📖 Кстати, если вам интересен исходный код, то он в опенсорсе.
Please open Telegram to view this post
VIEW IN TELEGRAM
iOS Dev
Разыгрываю премиум только для самых крутых читателей канала
Условия невероятно сложны и хардкорны:
1️⃣ Читать iOS Dev.
2️⃣ На этом всё 🫡
🙂 Всем удачи!
😃 iOS Dev
Условия невероятно сложны и хардкорны:
1️⃣ Читать iOS Dev.
2️⃣ На этом всё 🫡
Please open Telegram to view this post
VIEW IN TELEGRAM
Создание переиспользуемых компонентов в SwiftUI
Доклад с iOSDevUK в виде интерактивного обучения (с помощью DocC) поможет разобраться в следующем:
1️⃣ Основные и более сложные методы создания вьюх.
2️⃣ Как сделать SwiftUI-view кастомизируемыми.
3️⃣ Как добавить больше интерактивности с использованием
4️⃣ Использование API для создания стилей, например, в
Реализация всех частей не должна занять больше двух с половиной часов, так что можно сохранить себе, если хочется детальнее познакомиться со SwiftUI.
😃 iOS Dev
Доклад с iOSDevUK в виде интерактивного обучения (с помощью DocC) поможет разобраться в следующем:
1️⃣ Основные и более сложные методы создания вьюх.
2️⃣ Как сделать SwiftUI-view кастомизируемыми.
3️⃣ Как добавить больше интерактивности с использованием
action handlers
.4️⃣ Использование API для создания стилей, например, в
Button
или Toggle
.Реализация всех частей не должна занять больше двух с половиной часов, так что можно сохранить себе, если хочется детальнее познакомиться со SwiftUI.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Расчет анимации стрелок часов с помощью Swift
🧑💻 Задача расчета угла поворота минутной и часовой стрелок часов периодически может встречаться даже в спортивном программировании в том или ином виде.
Но и без сложных расчётов в анимации могут возникнуть трудности.
В этом материале автор рассказывает о том, как пришёл к реализации часов с нужной плавностью и с какими сложностями столкнулся в iOS 17.
😃 iOS Dev
Но и без сложных расчётов в анимации могут возникнуть трудности.
В этом материале автор рассказывает о том, как пришёл к реализации часов с нужной плавностью и с какими сложностями столкнулся в iOS 17.
Please open Telegram to view this post
VIEW IN TELEGRAM
Вчера был представлен Humane Ai Pin — девайс, призванный заменить смартфоны
📖 Более подробно можно прочитать тут и тут.
Конечно, многие смотрят на него скептически, как и в случае с анонсом iPhone в 2007 (слишком дорого и кому вообще нужно).
Но вот два фактора, почему нужно внимательнее отнестись к девайсу:
1️⃣ Глава разработки - Кен Косиенда (подробнее о его огромной роли в Apple вот тут и тут).
2️⃣ Девайс предполагает тесную интеграцию с Open AI. А значит - сам процесс взаимодействия не просто очередной голосовой помощник.
Он дорогой.
🚩 Стартовая цена 699 долларов (и подписка за 24 доллара в месяц 😮 ).
Насколько именно он геймчейнджер индустрии, покажет ближайшее время, но совершенно точно можно сказать одно — инновации и попытки переосмыслить современные устройства это правильный путь.
😃 iOS Dev
📖 Более подробно можно прочитать тут и тут.
Конечно, многие смотрят на него скептически, как и в случае с анонсом iPhone в 2007 (слишком дорого и кому вообще нужно).
Но вот два фактора, почему нужно внимательнее отнестись к девайсу:
1️⃣ Глава разработки - Кен Косиенда (подробнее о его огромной роли в Apple вот тут и тут).
2️⃣ Девайс предполагает тесную интеграцию с Open AI. А значит - сам процесс взаимодействия не просто очередной голосовой помощник.
Он дорогой.
Насколько именно он геймчейнджер индустрии, покажет ближайшее время, но совершенно точно можно сказать одно — инновации и попытки переосмыслить современные устройства это правильный путь.
Please open Telegram to view this post
VIEW IN TELEGRAM
Базовая информация о самых популярных архитектурах для iOS-приложений
📺 Знакомство с архитектурой MVVM (90 секунд).
📺 Знакомство с архитектурой MVP (90 секунд).
📺 Знакомство с архитектурой VIPER (10 минут 30 секунд).
Бонус (с примером создания и работы): Паттерн Coordinator.
😃 iOS Dev
📺 Знакомство с архитектурой MVVM (90 секунд).
📺 Знакомство с архитектурой MVP (90 секунд).
📺 Знакомство с архитектурой VIPER (10 минут 30 секунд).
Бонус (с примером создания и работы): Паттерн Coordinator.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Редакция App Store отмечает лучшие приложения и игры ежегодно более десяти лет.
В этот раз представлено 40 разработчиков приложений и игр в 10 различных категориях — за их превосходство, изобретательность и технические достижения в приложениях и играх.
Например, для iPhone в этот раз в главной категории: AllTrails, Duolingo и Flighty.
А для мака: Linearity Curve, Photomator и Portal (другой🍰).
Please open Telegram to view this post
VIEW IN TELEGRAM
Эффективные способы управления памятью при работе с замыканиями в Swift
👨💻 Одной из важнейших областей, где нам нужно уделять особое внимание при разработке, являются замыкания.
При неправильном использовании могут возникать утечки памяти.
В свою очередь, это часто приводит к крашам и проблемам с производительностью.
📖 В этой статье рассмотрены несколько методов управления памятью при использовании замыканий.
😃 iOS Dev
При неправильном использовании могут возникать утечки памяти.
В свою очередь, это часто приводит к крашам и проблемам с производительностью.
📖 В этой статье рассмотрены несколько методов управления памятью при использовании замыканий.
Please open Telegram to view this post
VIEW IN TELEGRAM
Develop in Swift: новая серия уроков от Apple
🧑💻 Вышла новая часть для обучения, с помощью которой можно ближе познакомиться с Xcode и Swift.
Среди проектов, которые вы сможете создать за 5 часов (невероятно, но факт):
1️⃣ Прототип приложения для обмена сообщениями.
2️⃣ Прототип погодного приложения.
3️⃣ Работа с онбордингом.
4️⃣ Добавление кнопок и реализация взаимосвязи внутри приложений.
5️⃣ Работа с Lists и text fields.
😃 iOS Dev
Среди проектов, которые вы сможете создать за 5 часов (невероятно, но факт):
1️⃣ Прототип приложения для обмена сообщениями.
2️⃣ Прототип погодного приложения.
3️⃣ Работа с онбордингом.
4️⃣ Добавление кнопок и реализация взаимосвязи внутри приложений.
5️⃣ Работа с Lists и text fields.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Анимация изменения чисел с помощью модификатора Content Transition
➡️
Например, в случаях, когда есть значение, которое изменяется с течением времени (время на таймере или курс валют).
📖 В этом примере показано, как реализовать такой эффект при нажатии кнопки (как говорится, от прошлого к сложному).
😃 iOS Dev
Content Transition
можно использовать для создания анимированных переходов. Например, в случаях, когда есть значение, которое изменяется с течением времени (время на таймере или курс валют).
📖 В этом примере показано, как реализовать такой эффект при нажатии кнопки (как говорится, от прошлого к сложному).
Please open Telegram to view this post
VIEW IN TELEGRAM
iOS Dev
Photo
Какой стиль кода вы используете?
Anonymous Poll
3%
Allman
3%
GNU
1%
Whitesmiths
90%
Kernighan & Ritchie
2%
Ratliff
0%
Horstmann
0%
Pico
2%
Lisp
iOS Dev
Какой стиль кода вы используете?
Зато теперь вы в курсе, что если вдруг кто-то не следует не по стайл-гайду в самом начале своего пути, то возможно он просто приверженец Lisp-стиля (или просто так чувствует).
📖 А вот здесь больше инфы про отступы в разных языках (и не только).
Please open Telegram to view this post
VIEW IN TELEGRAM
Работа в Swift с UIViewRepresentable (как избежать лишних warnings и зацикливания)
При работе со SwiftUI иногда (ладно, на самом деле куда чаще) необходима поддержка
Документация по этим протоколам все еще довольно скудна, и заставить всё это работать бывает непросто).
👩🎓 Chris Eidhof попытался сформулировать некоторые правила и шаблоны их использования.
📖 В этой статье есть полезные советы по коммуникации между SwiftUI и UIKit/AppKit (когда и при каких условиях необходимо выполнять обновление, и какие подводные камни могут ожидать).
😃 iOS Dev
При работе со SwiftUI иногда (ладно, на самом деле куда чаще) необходима поддержка
UIKit
, используя UIViewRepresentable
, NSViewRepresentable
или UIViewControllerRepresentable
. Документация по этим протоколам все еще довольно скудна, и заставить всё это работать бывает непросто).
📖 В этой статье есть полезные советы по коммуникации между SwiftUI и UIKit/AppKit (когда и при каких условиях необходимо выполнять обновление, и какие подводные камни могут ожидать).
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Реализация перетаскивания ячеек с помощью lazy grids и stacks
Автор взял за основу этот вариант и добавил возможность кастомного превью.
📖 Целиком решение с кодом можно посмотреть вот в этом посте.
🧑💻 А в нашем канале можно прочитать о решении такой задачи в UIKit.
😃 iOS Dev
Автор взял за основу этот вариант и добавил возможность кастомного превью.
📖 Целиком решение с кодом можно посмотреть вот в этом посте.
Please open Telegram to view this post
VIEW IN TELEGRAM