Как устроен @State в SwiftUI
Может показаться, что @State или @Binding — это какие-то ключевые слова, которые появились в языке специально, чтобы поддерживать SwiftUI. Но сами по себе эти @Штуки не являются частью языка, ею является property wrapper.
Эта конструкция используется не часто, появилась только в Swift 5.1. Поэтому тем, кто подзабыл, подробно можно почитать вот тут.
Если кратко, то property wrapper’ы позволяют разделить код на 2 части: одна определяет само свойство, другая — как это свойство хранится.
Сегодня предлагаю вместе разобраться в том, как он устроен.
Может показаться, что @State или @Binding — это какие-то ключевые слова, которые появились в языке специально, чтобы поддерживать SwiftUI. Но сами по себе эти @Штуки не являются частью языка, ею является property wrapper.
Эта конструкция используется не часто, появилась только в Swift 5.1. Поэтому тем, кто подзабыл, подробно можно почитать вот тут.
Если кратко, то property wrapper’ы позволяют разделить код на 2 части: одна определяет само свойство, другая — как это свойство хранится.
Сегодня предлагаю вместе разобраться в том, как он устроен.
Навигация в SwiftUI
Навигация, пожалуй, одна из сложнейших частей SwiftUI. Набор инструментов сейчас сильно ограничен и содержит множество проблем – таких, как крэши и неопределенное поведение.
Спикер рассмотрел нюансы и внутренности текущего API, а также подход к работе с ним, включая UIKit-расширения для недостающих методов.
Навигация, пожалуй, одна из сложнейших частей SwiftUI. Набор инструментов сейчас сильно ограничен и содержит множество проблем – таких, как крэши и неопределенное поведение.
Спикер рассмотрел нюансы и внутренности текущего API, а также подход к работе с ним, включая UIKit-расширения для недостающих методов.
HeadHunter представил рейтинг лучших работодателей
HeadHunter представил ежегодный «Рейтинг работодателей России». По итогам 2023 года первую строчку среди самых популярных у соискателей компаний занял Альфа-банк.
Самые популярные для работников компании в области «IT и интернет»:
Яндекс (2 место в общем рейтинге)
Ozon (7)
VK (8)
Тинькофф (13)
2ГИС (18)
В рейтинге «Самых высокоразвитых HR процессов» на первом месте Группа НЛМК. Лучшие HR-процессы в области IT:
VK (5)
Appfox (16)
Автомакон (28)
Лига Ставок (29)
КРОК (40)
Skyeng (50)
HeadHunter представил ежегодный «Рейтинг работодателей России». По итогам 2023 года первую строчку среди самых популярных у соискателей компаний занял Альфа-банк.
Самые популярные для работников компании в области «IT и интернет»:
Яндекс (2 место в общем рейтинге)
Ozon (7)
VK (8)
Тинькофф (13)
2ГИС (18)
В рейтинге «Самых высокоразвитых HR процессов» на первом месте Группа НЛМК. Лучшие HR-процессы в области IT:
VK (5)
Appfox (16)
Автомакон (28)
Лига Ставок (29)
КРОК (40)
Skyeng (50)
Создаем анимированные переходы с помощью Matched Geometry Effect в SwiftUI
В SwiftUI мы можем создавать плавные переходы между экранами, из одного состояния в другое, с помощью Matched Geometry Effect (эффект совпадающей геометрии). Используя уникальные идентификаторы, мы можем смешивать геометрию двух видов с одним и тем же идентификатором, создавая анимированный переход. Подобные переходы могут быть полезны для навигации или изменения состояния элементов пользовательского интерфейса.
Чтобы реализовать его в пользовательском интерфейсе, необходимо:
- Определить пространство имен, которое будет использоваться для синхронизации геометрии представлений;
- Определить начальное и конечное состояния представлений, которые будут анимированы;
- Использовать соответствующий модификатор представления для определения начального и конечного состояний, в которых будет происходить переход к согласованной геометрии;
- Запустите переход.
В SwiftUI мы можем создавать плавные переходы между экранами, из одного состояния в другое, с помощью Matched Geometry Effect (эффект совпадающей геометрии). Используя уникальные идентификаторы, мы можем смешивать геометрию двух видов с одним и тем же идентификатором, создавая анимированный переход. Подобные переходы могут быть полезны для навигации или изменения состояния элементов пользовательского интерфейса.
Чтобы реализовать его в пользовательском интерфейсе, необходимо:
- Определить пространство имен, которое будет использоваться для синхронизации геометрии представлений;
- Определить начальное и конечное состояния представлений, которые будут анимированы;
- Использовать соответствующий модификатор представления для определения начального и конечного состояний, в которых будет происходить переход к согласованной геометрии;
- Запустите переход.
Минцифры узаконит установку сторонних приложений на iOS
В ЕС DMA вступил в силу в ноябре 2022, но все его положения начнут действовать с марта 2024. Однако, Apple уже разрешила сторонние платежи в России и распространила действие сторонних магазинов на Россию.
Минцифры намерено уже весной внести в Госдуму законопроект, который обяжет Apple разрешить установку сторонних приложений на свои устройства в России. Об этом сообщил «Коммерсанту» глава ведомства Максут Шадаев.
По словам министра, сейчас документ дорабатывается по предложениям администрации президента. Речь идет о проекте, анонсированном еще в декабре 2022 г. Тогда Шадаев сравнивал его с принятым в Евросоюзе законом о цифровых рынках (DMA).
В апреле прошлого года говорили, что инициатива затронет не только Apple, но и других владельцев мобильных операционных систем и производителей устройств. По данным собеседника, компаниям будет запрещено ограничивать установку приложений из сторонних источников. Также они будут обязаны предоставить пользователю возможность удалять любые приложения на устройстве.
В ЕС DMA вступил в силу в ноябре 2022, но все его положения начнут действовать с марта 2024. Однако, Apple уже разрешила сторонние платежи в России и распространила действие сторонних магазинов на Россию. Правда, при этом все равно все приложения (даже для альтернативных сторов) должны проходить модерацию Apple, так что появления каких-то новых приложений для iOS вряд ли стоит ожидать.
В ЕС DMA вступил в силу в ноябре 2022, но все его положения начнут действовать с марта 2024. Однако, Apple уже разрешила сторонние платежи в России и распространила действие сторонних магазинов на Россию.
Минцифры намерено уже весной внести в Госдуму законопроект, который обяжет Apple разрешить установку сторонних приложений на свои устройства в России. Об этом сообщил «Коммерсанту» глава ведомства Максут Шадаев.
По словам министра, сейчас документ дорабатывается по предложениям администрации президента. Речь идет о проекте, анонсированном еще в декабре 2022 г. Тогда Шадаев сравнивал его с принятым в Евросоюзе законом о цифровых рынках (DMA).
В апреле прошлого года говорили, что инициатива затронет не только Apple, но и других владельцев мобильных операционных систем и производителей устройств. По данным собеседника, компаниям будет запрещено ограничивать установку приложений из сторонних источников. Также они будут обязаны предоставить пользователю возможность удалять любые приложения на устройстве.
В ЕС DMA вступил в силу в ноябре 2022, но все его положения начнут действовать с марта 2024. Однако, Apple уже разрешила сторонние платежи в России и распространила действие сторонних магазинов на Россию. Правда, при этом все равно все приложения (даже для альтернативных сторов) должны проходить модерацию Apple, так что появления каких-то новых приложений для iOS вряд ли стоит ожидать.
Инжиниринг больше про людей, чем про технологии
Многие инженеры недооценивают важность навыков общения с людьми. Они начинают изучать программирование и полагают, что будут просто кодить весь день и им не придется ни с кем общаться. На самом деле все обстоит иначе. Инженерное дело - одна из самых дружелюбных сфер деятельности. Все дело в хорошем сотрудничестве, согласованности, командной работе и помощи друг другу.
Многие инженеры недооценивают важность навыков общения с людьми. Они начинают изучать программирование и полагают, что будут просто кодить весь день и им не придется ни с кем общаться. На самом деле все обстоит иначе. Инженерное дело - одна из самых дружелюбных сфер деятельности. Все дело в хорошем сотрудничестве, согласованности, командной работе и помощи друг другу.
Всем привет!
Мы отсняли для вас большое количество выпусков и скоро их будем выпускать. Один из них уже в пятницу.
1. Процесс онбординга
2. Подготовка к собеседованиям через Outtalent
3. Senior Androind делает фичу в iOS проекте
И еще много чего интересного. Всем спасибо🙂🔥
Мы отсняли для вас большое количество выпусков и скоро их будем выпускать. Один из них уже в пятницу.
1. Процесс онбординга
2. Подготовка к собеседованиям через Outtalent
3. Senior Androind делает фичу в iOS проекте
И еще много чего интересного. Всем спасибо🙂🔥
Инсайдеры показали ранние версии Dynamic Island для iPhone
До выпуска Dynamic Island в iPhone, Apple рассматривала несколько альтернативных дизайнерских идей.
Одна из концепций включала в себя всплывающее меню у правого края дисплея для отображения времени, уровня сигнала связи, Wi-Fi, заряда батареи, а также уровня яркости и громкости.
Другая предполагала использование чёрного цвета для верхней части экрана, чтобы скрыть вырез, делая его практически невидимым на контрастных OLED-дисплеях.
Но в итоге выбрали Dynamic Island — интерактивный интерфейс, который адаптируется к различным событиям в iOS. Это позволило Apple эффективно интегрировать вырез в интерфейс пользователя, превратив его из потенциального недостатка в уникальную особенность дизайна.
До выпуска Dynamic Island в iPhone, Apple рассматривала несколько альтернативных дизайнерских идей.
Одна из концепций включала в себя всплывающее меню у правого края дисплея для отображения времени, уровня сигнала связи, Wi-Fi, заряда батареи, а также уровня яркости и громкости.
Другая предполагала использование чёрного цвета для верхней части экрана, чтобы скрыть вырез, делая его практически невидимым на контрастных OLED-дисплеях.
Но в итоге выбрали Dynamic Island — интерактивный интерфейс, который адаптируется к различным событиям в iOS. Это позволило Apple эффективно интегрировать вырез в интерфейс пользователя, превратив его из потенциального недостатка в уникальную особенность дизайна.
Идеальный онбординг в IT компанию
Всем привет! Сегодня у нас в гостях - Вадим, iOS разработчик с большим стажем. И мы поговорим про тему онбординга.
Что такое онбо́рдинг? Это знакомство нового сотрудника или клиента с организацией, её продукцией или услугами. Узнаем как измерять эффективность онбординга, плюсы и минусы онбординга, поймем что такое плохой онбординг, а какой хороший.
Всем приятного просмотра.
Ссылка на телеграм канал гостя.
Всем привет! Сегодня у нас в гостях - Вадим, iOS разработчик с большим стажем. И мы поговорим про тему онбординга.
Что такое онбо́рдинг? Это знакомство нового сотрудника или клиента с организацией, её продукцией или услугами. Узнаем как измерять эффективность онбординга, плюсы и минусы онбординга, поймем что такое плохой онбординг, а какой хороший.
Всем приятного просмотра.
Ссылка на телеграм канал гостя.
Continuations для взаимодействия асинхронных задач с синхронным кодом
В Swift были представлены новые функции, которые помогают нам адаптировать старые API в стиле completionhandler к современному асинхронному коду.
Continuations позволяют нам создать обертку над обработчиком завершения (completion handler) и асинхронными функциями, чтобы мы могли обернуть старый код в более современный API. Например, функция withCheckedContinuation() создает новое continuation, которое может запускать любой код, который мы хотим, а затем вызывает resume(returning:), чтобы отправить значение обратно, даже если это часть обработчика завершения (completion handler).
Предлагаю вместе посмотреть на реализацию в данной статье.
#digest
В Swift были представлены новые функции, которые помогают нам адаптировать старые API в стиле completionhandler к современному асинхронному коду.
Continuations позволяют нам создать обертку над обработчиком завершения (completion handler) и асинхронными функциями, чтобы мы могли обернуть старый код в более современный API. Например, функция withCheckedContinuation() создает новое continuation, которое может запускать любой код, который мы хотим, а затем вызывает resume(returning:), чтобы отправить значение обратно, даже если это часть обработчика завершения (completion handler).
Предлагаю вместе посмотреть на реализацию в данной статье.
#digest
Please open Telegram to view this post
VIEW IN TELEGRAM
Оптимальный архитектурный шаблон iOS
В статье описывается оптимальный архитектурный шаблон большого iOS-приложения на Swift, выступающего преимущественно тонким клиентом. Основной упор делается на применение чистой архитектуры. Статья предназначается как новичкам, так и опытным программистам. Для удобства навигации имеется оглавление.
Автор: Олег Бахарев. iOS - тимлид.
В статье описывается оптимальный архитектурный шаблон большого iOS-приложения на Swift, выступающего преимущественно тонким клиентом. Основной упор делается на применение чистой архитектуры. Статья предназначается как новичкам, так и опытным программистам. Для удобства навигации имеется оглавление.
Автор: Олег Бахарев. iOS - тимлид.
Как создать приложение для чата iOS
Используя SwiftUI и Firebase, мы создадим основу для приложения для чата. С его помощью вы сможете добавить функциональность чата в свое приложение. Руководство разбито на следующие разделы:
00:00 Вступление
04:17 Дизайн
07:42 Предположения
08:58 Аутентификация
13:37 Авторизация
23:02 Модель
31:23 Просмотров
47:32 Заключение
Используя SwiftUI и Firebase, мы создадим основу для приложения для чата. С его помощью вы сможете добавить функциональность чата в свое приложение. Руководство разбито на следующие разделы:
00:00 Вступление
04:17 Дизайн
07:42 Предположения
08:58 Аутентификация
13:37 Авторизация
23:02 Модель
31:23 Просмотров
47:32 Заключение
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Дорогие дамы канала, поздравляем вас с 8 марта! Желаю большого счастья, любви и исполнение всех желаний❤️
Так же отдельно хочу поздравить нашу ведущую Екатерину @Neifmetus с женским днём! Катя, всех благ 💥☀️
Так же отдельно хочу поздравить нашу ведущую Екатерину @Neifmetus с женским днём! Катя, всех благ 💥☀️
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM