Структуры данных в Swift: знакомство с базовыми понятиями
Структуры данных - это строительные блоки при разработке программного обеспечения.
📖 В этой вводной статье, особенно полезной для новичков, рассматриваются различные структуры данных, доступные в Swift, их применение и несколько простых примеров кода.
😃 iOS Dev
Структуры данных - это строительные блоки при разработке программного обеспечения.
📖 В этой вводной статье, особенно полезной для новичков, рассматриваются различные структуры данных, доступные в Swift, их применение и несколько простых примеров кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥8👏5🤔1🏆1
Реализация загрузки и сохранения офлайн-карт в приложении от автора Pedometer++
🗺️ Как правило, большинство приложений используют принцип определения прямоугольной области, которую необходимо покрыть загружаемыми картами, и затем сохраняют эту область в список наборов автономных карт.
У такого подхода есть ряд преимуществ, но автор решил использовать свой вариант благодаря использованию системы карт XYZ/Slippy.
В этой системе при каждом увеличении разрешения масштабирования количество тайлов на нижнем уровне увеличивается в четыре раза.
📖 А вот тут можно узнать, с какими сложностями можно столкнуться и через какие этапы нужно пройти для такой реализации.
😃 iOS Dev
У такого подхода есть ряд преимуществ, но автор решил использовать свой вариант благодаря использованию системы карт XYZ/Slippy.
В этой системе при каждом увеличении разрешения масштабирования количество тайлов на нижнем уровне увеличивается в четыре раза.
📖 А вот тут можно узнать, с какими сложностями можно столкнуться и через какие этапы нужно пройти для такой реализации.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12👏3❤2🔥1💯1🏆1🆒1
По словам разработчика, Skip выступает в роли команды Android (как по мне, это слишком громко сказано), создавая эквивалентное приложение параллельно с iOS-версией.
Сердцем Skip является интеллектуальный транспилятор языка Swift в Kotlin (и еще несколько лет назад Skip был бы невозможен).
Для анализа исходного кода используется SwiftSyntax, после чего код преобразуется в Kotlin, сохраняя даже комментарии.
Благодаря схожести языков, результат часто не отличается от Kotlin, который был бы написан нативно (но с оговорками).
📖 Документация.
И хотя поддержка API по-прежнему ограничена (будут сложности с внедрением SwiftData или, например, Firebase), все библиотеки Skip имеют открытый исходный код и разработчик приглашает поучаствовать в их улучшении.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥36👍6🤩5🤔4❤3👏3🎉2🏆1
Знакомство с bash-скриптами для iOS-разработчиков
Использование Bash может помочь выполнить широкий спектр задач, например:
🔘 автоматизация процессов сборки;
🔘 управление файловыми системами;
🔘 запуск тестов;
🔘 развертывание приложений.
Любую команду, которую мы можем запустить в терминале, можно запустить, используя
📖 В этой статье рассмотрены основы написания скриптов и практический пример разработки для iOS, с помощью которого вы сможете создавать скриншоты для разных устройств и языков.
😃 iOS Dev
Использование Bash может помочь выполнить широкий спектр задач, например:
Любую команду, которую мы можем запустить в терминале, можно запустить, используя
Bash
.📖 В этой статье рассмотрены основы написания скриптов и практический пример разработки для iOS, с помощью которого вы сможете создавать скриншоты для разных устройств и языков.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥7👏4💯2❤1🏆1🆒1
Breadcrumbs: утилита-багтрекер на основе комментариев
🛠 На гитхабе есть забавная утилита, которая позволяет увидеть все комментарии
Для этого нужно запустить приложение и выбрать папку проекта. Выглядит как любопытная мысль 😉
😃 iOS Dev
🛠 На гитхабе есть забавная утилита, которая позволяет увидеть все комментарии
TODO
и FIXIT
, которые вы добавили в исходный код.Для этого нужно запустить приложение и выбрать папку проекта. Выглядит как любопытная мысль 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🔥6❤2👏1👌1🏆1
Разбор особенностей протоколов в Swift
Какими бы мощными не были возможности протоколов, мы должны знать и о скрытых свойствах.
Иногда неочевидные особенности могут затруднить оценку кода, тем более когда протоколы наследуют от других протоколов.
В целом о них можно рассуждать с четырех разных точек зрения:
1️⃣ Использование в рантайме.
2️⃣ Использование во время компиляции.
3️⃣ Протоколы с ограничениями во время компиляции.
4️⃣ Синтез реализаций протокола и его влияние на время компиляции.
📖 Вот тут есть разбор различных ситуаций, которые проясняют путаницу при работе с протоколами.
😃 iOS Dev
Какими бы мощными не были возможности протоколов, мы должны знать и о скрытых свойствах.
Иногда неочевидные особенности могут затруднить оценку кода, тем более когда протоколы наследуют от других протоколов.
В целом о них можно рассуждать с четырех разных точек зрения:
1️⃣ Использование в рантайме.
2️⃣ Использование во время компиляции.
3️⃣ Протоколы с ограничениями во время компиляции.
4️⃣ Синтез реализаций протокола и его влияние на время компиляции.
📖 Вот тут есть разбор различных ситуаций, которые проясняют путаницу при работе с протоколами.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥5❤4👏1💯1🏆1
Есть общие категории: сервер, сеть, тестирование и логирование. Но не только они. Например, представлены пакеты, содержащие макросы.
При выборе категории показаны примеры некоторых популярных пакетов для этой категории, а также полезная инфа.
Это отличный способ получить представление о разнообразии пакетов, доступных для Swift.
📖 Изучить их детальнее можно здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26👏4🎉4🔥2🤩2🏆1
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
👍14🔥6🤩5👏3❤🔥2😎2❤1🏆1
iOS Dev
Разыгрываю премиум только для самых крутых читателей канала
Условия невероятно сложны и хардкорны:
1️⃣ Читать iOS Dev.
2️⃣ На этом всё 🫡
🙂 Всем удачи!
😃 iOS Dev
Условия невероятно сложны и хардкорны:
1️⃣ Читать iOS Dev.
2️⃣ На этом всё 🫡
Please open Telegram to view this post
VIEW IN TELEGRAM
👍109❤13🎉7🫡6😎6🤩5🏆3🆒2🔥1
Создание переиспользуемых компонентов в 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
👍25🔥8👏4🎉1🏆1
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
👍15🔥3👏2💯1🏆1
Вчера был представлен 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
👍13❤6🤔5🔥4👌2🫡2👏1🤩1🏆1
Базовая информация о самых популярных архитектурах для 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
🔥26👍14❤🔥2👏2🫡2❤1🏆1
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
🔥13👍7👏4🎉1💯1🏆1
Эффективные способы управления памятью при работе с замыканиями в Swift
👨💻 Одной из важнейших областей, где нам нужно уделять особое внимание при разработке, являются замыкания.
При неправильном использовании могут возникать утечки памяти.
В свою очередь, это часто приводит к крашам и проблемам с производительностью.
📖 В этой статье рассмотрены несколько методов управления памятью при использовании замыканий.
😃 iOS Dev
При неправильном использовании могут возникать утечки памяти.
В свою очередь, это часто приводит к крашам и проблемам с производительностью.
📖 В этой статье рассмотрены несколько методов управления памятью при использовании замыканий.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤4🔥3👏2🤔2🤩1🏆1👨💻1
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
👍29🔥13👏5🎉2🤩1🏆1
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
👍35🔥4👏3❤2🤩2💯1🏆1
iOS Dev
Photo
Какой стиль кода вы используете?
Anonymous Poll
3%
Allman
3%
GNU
1%
Whitesmiths
90%
Kernighan & Ritchie
2%
Ratliff
0%
Horstmann
0%
Pico
2%
Lisp
🤯47🤣23🔥6👍4👏4👌2