#ui #performance
Оптимизация рендера в iOS: frame buffer, Render Server, FPS, CPU vs GPU (20 мин)
🗣 В статье раскрывается подноготная рендера и жизненного цикла кадра. Также вы получите ряд рекомендаций по оптимизации рендера и достижению заветных 60 (120) FPS
📍 Этапы выполнения анимации
📍 Цикл отрисовки кадра в iOS
📍 Проблемы с производительностью
Оптимизация рендера в iOS: frame buffer, Render Server, FPS, CPU vs GPU (20 мин)
🗣 В статье раскрывается подноготная рендера и жизненного цикла кадра. Также вы получите ряд рекомендаций по оптимизации рендера и достижению заветных 60 (120) FPS
📍 Этапы выполнения анимации
📍 Цикл отрисовки кадра в iOS
📍 Проблемы с производительностью
👏6👍1
This media is not supported in your browser
VIEW IN TELEGRAM
#tools
Приложение органайзер для разработчика (GitHub)
🗣 У вас тоже есть закладки в браузере на часто используемые инструменты? Это приложение для MacOS избавит вас от них!
📍 Просто море инструментов: Unix Time Converter, JSON Formatter, RegExp Teste, Hash Generator и др.
📍 К сожалению, подписка на инструмент платная, но есть демо режим на 30 дней
Приложение органайзер для разработчика (GitHub)
🗣 У вас тоже есть закладки в браузере на часто используемые инструменты? Это приложение для MacOS избавит вас от них!
📍 Просто море инструментов: Unix Time Converter, JSON Formatter, RegExp Teste, Hash Generator и др.
📍 К сожалению, подписка на инструмент платная, но есть демо режим на 30 дней
💩4🔥2🤔2
#tools
Boost Your iOS App Deployment Speed Using This Feature Flag Swift Library (20 мин)
🗣 Feature Flags - это очень важный инструмент минимизации рисков и релизного процесса, который пригодится многим
📍 Что из себя представляют feature toggles
📍 Как удаленно управлять набором фич в приложении
📍 Какие проблемы это решает
Boost Your iOS App Deployment Speed Using This Feature Flag Swift Library (20 мин)
🗣 Feature Flags - это очень важный инструмент минимизации рисков и релизного процесса, который пригодится многим
📍 Что из себя представляют feature toggles
📍 Как удаленно управлять набором фич в приложении
📍 Какие проблемы это решает
🔥6
#concurrency
Memory management when using async/await in Swift (12 мин)
🗣 Управление памятью - ключевой аспект при создании стабильных и оптимизированных приложений. Узнайте, как не допустить ошибок при работе с новым механизмом многопоточности
📍 Неявный захват переменных (Implicit Captures)
📍 Отмена выполнения Task
📍 Использование await для Published свойств
Memory management when using async/await in Swift (12 мин)
🗣 Управление памятью - ключевой аспект при создании стабильных и оптимизированных приложений. Узнайте, как не допустить ошибок при работе с новым механизмом многопоточности
📍 Неявный захват переменных (Implicit Captures)
📍 Отмена выполнения Task
📍 Использование await для Published свойств
👍4
#animation
Eeasings
🗣 Представляю вашему вниманию обогащенную разными функциями плавности шпаргалку для анимаций. На этом сайте вы увидите знакомые easeIn и easeOut в различных вариациях и сможете расширить стандартный CAMediaTimingFunctionName
📍 30 различных функций
📍 Шаблонный код для каждой из них
📍 Демонстрация работы функции для размера, положения и прозрачности
Eeasings
🗣 Представляю вашему вниманию обогащенную разными функциями плавности шпаргалку для анимаций. На этом сайте вы увидите знакомые easeIn и easeOut в различных вариациях и сможете расширить стандартный CAMediaTimingFunctionName
📍 30 различных функций
📍 Шаблонный код для каждой из них
📍 Демонстрация работы функции для размера, положения и прозрачности
👍4🔥2👎1
#swift
Swift and C++ interoperability workgroup announcement (3 мин)
🗣 Команда разработчиков Swift уже работает над созданием некоторого подобия моста между Swift и C++
📍 Создана отдельная рабочая группа для продолжения работ по поддержке взаимодействия между языками
📍 Уже сейчас можно воспользоваться C++ API интерфейсами std::vector и std::string
Swift and C++ interoperability workgroup announcement (3 мин)
🗣 Команда разработчиков Swift уже работает над созданием некоторого подобия моста между Swift и C++
📍 Создана отдельная рабочая группа для продолжения работ по поддержке взаимодействия между языками
📍 Уже сейчас можно воспользоваться C++ API интерфейсами std::vector и std::string
🔥6👎1
#ui #event
SwiftUI Live-Coding Surf: продолжение (15 февраля 18:00)
🗣 Опытные разработчики из Surf проведут прямой эфир в формате SwiftUI Live-coding
📍 Ивент станет продолжением первой части, где ребята написали карусель фонов для QR-кодов и доступ к галерее
📍 В прямом эфире они завершат работу над приложением и расскажут, как добавить виджет приложения на рабочий стол и как его настроить
Регистрируйтесь на событие, будет очень интересно!
SwiftUI Live-Coding Surf: продолжение (15 февраля 18:00)
🗣 Опытные разработчики из Surf проведут прямой эфир в формате SwiftUI Live-coding
📍 Ивент станет продолжением первой части, где ребята написали карусель фонов для QR-кодов и доступ к галерее
📍 В прямом эфире они завершат работу над приложением и расскажут, как добавить виджет приложения на рабочий стол и как его настроить
Регистрируйтесь на событие, будет очень интересно!
👏5👎1
#di
DI в iOS: Complete guide (25 мин)
🗣 Крайне подробный путеводитель по Dependency Injection в iOS, начиная от нативных решений, заканчивая самыми популярными библиотеками
📍 Нативный DI. Каждый разработчик iOS неявно его использует
📍 Паттерн Service Locator. Его преимущества и недостатки
📍 Разбор пяти DI библиотек: Swinject, DIP, DITranquillity, EasyDI, Needle и Weaver
DI в iOS: Complete guide (25 мин)
🗣 Крайне подробный путеводитель по Dependency Injection в iOS, начиная от нативных решений, заканчивая самыми популярными библиотеками
📍 Нативный DI. Каждый разработчик iOS неявно его использует
📍 Паттерн Service Locator. Его преимущества и недостатки
📍 Разбор пяти DI библиотек: Swinject, DIP, DITranquillity, EasyDI, Needle и Weaver
👍6🔥3👎1
#tests
Раннер Emcee. Всем айосерам по тестовой ферме (5 мин)
🗣 Ребята из AVITO славятся большим количеством UI тестов. Они выкатили обзор на свой же тест-раннер Emcee и подтвердили числами его эффективность
📍 Как UI тесты помогают релизиться раз в неделю
📍 Гайд по настройке Emcee
📍 Кому нужен тест-раннер
Раннер Emcee. Всем айосерам по тестовой ферме (5 мин)
🗣 Ребята из AVITO славятся большим количеством UI тестов. Они выкатили обзор на свой же тест-раннер Emcee и подтвердили числами его эффективность
📍 Как UI тесты помогают релизиться раз в неделю
📍 Гайд по настройке Emcee
📍 Кому нужен тест-раннер
👍2👏2👎1
#appstore #apple
Следы RealityOS нашли в репозиториях и App Store (3 мин)
🗣 Очень возможно, что скоро мы сможем разрабатывать ПО под гарнитуры с дополненной реальностью
📍 Разработчики нашли упоминания RealityOS на GitHub
📍 Аналитика сообщают, что гарнитура выйдет с таким же уровнем вычислительной мощности, что и Mac M1
📍 Apple планирует представить гарнитуру на WWDC в этом году
Следы RealityOS нашли в репозиториях и App Store (3 мин)
🗣 Очень возможно, что скоро мы сможем разрабатывать ПО под гарнитуры с дополненной реальностью
📍 Разработчики нашли упоминания RealityOS на GitHub
📍 Аналитика сообщают, что гарнитура выйдет с таким же уровнем вычислительной мощности, что и Mac M1
📍 Apple планирует представить гарнитуру на WWDC в этом году
🔥3👍2👎1
Forwarded from Android Broadcast
This media is not supported in your browser
VIEW IN TELEGRAM
#вакансия
Head Hunter (они же HH) ищут множество спецов к себе в команду:
👉 Techlead iOS. Техлид не принадлежит ни к одной из команд и отвечает за iOS платформу в компании целиком.
👉 Android и iOS разработчики в команду Mobile Core
👉 Teaml Lead в команду Mobile Core. За плечами у вас может быть опыт в Android (подробности вакансии) или iOS (подробности вакансии)
Что делает команда Mobile Core?
👉 Упрощает жизнь коллегам из продуктовых команд
👉 Настраивают CI/CD и ускоряет сборки
👉 Формируют и внедряют общие правила архитектуры и стиля кода
👉 Разрабатывают инструменты автоматизации
👉 Собирают метрики процесса разработки
👉 Помогают работать над продуктовыми задачами.
Куда делись старые Team Lead и Tech Lead?
Текущий Team Lead команды решил сфокусироваться на роли Android Tech Lead, а iOS разработчик и техлид перешли в продуктовые команды пилить фичи.
При отклике обязательно расскажите что вы узнали о вакансии из Android Broadcast, что здорово поддержит нас
Head Hunter (они же HH) ищут множество спецов к себе в команду:
👉 Techlead iOS. Техлид не принадлежит ни к одной из команд и отвечает за iOS платформу в компании целиком.
👉 Android и iOS разработчики в команду Mobile Core
👉 Teaml Lead в команду Mobile Core. За плечами у вас может быть опыт в Android (подробности вакансии) или iOS (подробности вакансии)
Что делает команда Mobile Core?
👉 Упрощает жизнь коллегам из продуктовых команд
👉 Настраивают CI/CD и ускоряет сборки
👉 Формируют и внедряют общие правила архитектуры и стиля кода
👉 Разрабатывают инструменты автоматизации
👉 Собирают метрики процесса разработки
👉 Помогают работать над продуктовыми задачами.
Куда делись старые Team Lead и Tech Lead?
Текущий Team Lead команды решил сфокусироваться на роли Android Tech Lead, а iOS разработчик и техлид перешли в продуктовые команды пилить фичи.
При отклике обязательно расскажите что вы узнали о вакансии из Android Broadcast, что здорово поддержит нас
💩5🔥4👎2👍1🤮1
#swift #memory
Как устроен счетчик ссылок в Swift (20 мин)
🗣 После прочтения этой статьи вы на любой вопрос со звездочкой ответите на собеседовании про память в Swift
📍 Типы ссылок в ARC
📍 Счетчики ссылок, и где они хранятся
📍 Как работает Side Table
📍 Жизненный цикл объекта
Расскажите, о чем вы узнали впервые из статьи
Как устроен счетчик ссылок в Swift (20 мин)
🗣 После прочтения этой статьи вы на любой вопрос со звездочкой ответите на собеседовании про память в Swift
📍 Типы ссылок в ARC
📍 Счетчики ссылок, и где они хранятся
📍 Как работает Side Table
📍 Жизненный цикл объекта
Расскажите, о чем вы узнали впервые из статьи
🔥11👎1
#ui
Always correct gradient text in UIKit (8 мин)
🗣 Полезная статья о том, как эффективно и легко достичь эффекта градиента в UILabel
📍 В статье используется UIGraphicsImageRenderer и CAGradientLayer
📍 Из того же цикла статей посмотрите, как применить градиент к границам view
Always correct gradient text in UIKit (8 мин)
🗣 Полезная статья о том, как эффективно и легко достичь эффекта градиента в UILabel
📍 В статье используется UIGraphicsImageRenderer и CAGradientLayer
📍 Из того же цикла статей посмотрите, как применить градиент к границам view
👍6👏2
#ui
Hero: переходы View Controller-ов (2 мин)
🗣 Библиотека, позволяющая кастомизировать переходы между контроллерами, достигая потрясающих результатов
📍 В репозитории на GitHub Hero полно примеров с анимациями и кодом для них
📍 Также есть Tutorial по анимациям, модификаторам, интерактивным переходам и многом другом
Поделитесь, какие достоинства или недостатки вы нашли в Hero?
Hero: переходы View Controller-ов (2 мин)
🗣 Библиотека, позволяющая кастомизировать переходы между контроллерами, достигая потрясающих результатов
📍 В репозитории на GitHub Hero полно примеров с анимациями и кодом для них
📍 Также есть Tutorial по анимациям, модификаторам, интерактивным переходам и многом другом
Поделитесь, какие достоинства или недостатки вы нашли в Hero?
🔥4👍2👎1
#tests
Unit testing asynchronous Swift code (10 мин)
🗣 Не все разработчики уделяют время написанию тестов асинхронному коду. В статье описан ряд способов начать это делать
📍 Автор использует тип XCTestExpectetion для проверки асинхронного кода
📍 Также в статье используются: Inverted Expectations, Dispatch Queues и UNUserNotificationCenter
Пишете тесты на асинхронный код?
Unit testing asynchronous Swift code (10 мин)
🗣 Не все разработчики уделяют время написанию тестов асинхронному коду. В статье описан ряд способов начать это делать
📍 Автор использует тип XCTestExpectetion для проверки асинхронного кода
📍 Также в статье используются: Inverted Expectations, Dispatch Queues и UNUserNotificationCenter
Пишете тесты на асинхронный код?
👍2🔥2👏2👎1
#swift #objc
Why do we ever need to inherit from NSObject? (10 мин)
🗣 В статье раскрываются преимущества наследования от NSObject
📍 Затрагивается тема производительности
📍 Рассказывается о том, где реально необходимо наследование от NSObject (KVO, Swizzling)
Why do we ever need to inherit from NSObject? (10 мин)
🗣 В статье раскрываются преимущества наследования от NSObject
📍 Затрагивается тема производительности
📍 Рассказывается о том, где реально необходимо наследование от NSObject (KVO, Swizzling)
🔥7👎1
#ui
How to create reusable views for modern collection views (10 мин)
🗣 В каждом приложении используется Table View или Collection View. Не в каждом приложении от них наследуются, чтобы сделать универсальными для любой ячейки. Еще меньше проектов, где не приходится создавать новую ячейку для каждой новой View.
Кратко о статье:
📍 Переиспользуемые View в Generic ячейках
📍 Применение Compositional Layout в таком подходе
📍 Как регистрировать Generic ячейки и держать источник данных для разных ячеек одновременно
Мне безумно интересно, какой подход используете вы? Практик очень много
How to create reusable views for modern collection views (10 мин)
🗣 В каждом приложении используется Table View или Collection View. Не в каждом приложении от них наследуются, чтобы сделать универсальными для любой ячейки. Еще меньше проектов, где не приходится создавать новую ячейку для каждой новой View.
Кратко о статье:
📍 Переиспользуемые View в Generic ячейках
📍 Применение Compositional Layout в таком подходе
📍 Как регистрировать Generic ячейки и держать источник данных для разных ячеек одновременно
Мне безумно интересно, какой подход используете вы? Практик очень много
🔥4👏4
#swift
Result builders in Swift (10 мин)
🗣 Крайне интересную конструкцию @resultBuilder привнесли вместе с SwiftUI. Она оказалась слишком удобной, чтобы остаться незамеченной
📍 Как работает @resultBuilder, и как его реализовать?
📍 Как реализовать перечисление значений в замыкании и поставить условие внутри?
Я обычно использую @resultBuilder для добавления вьюх и активации констрэинтов. Для чего используете вы?
Result builders in Swift (10 мин)
🗣 Крайне интересную конструкцию @resultBuilder привнесли вместе с SwiftUI. Она оказалась слишком удобной, чтобы остаться незамеченной
📍 Как работает @resultBuilder, и как его реализовать?
📍 Как реализовать перечисление значений в замыкании и поставить условие внутри?
Я обычно использую @resultBuilder для добавления вьюх и активации констрэинтов. Для чего используете вы?
🔥6👎1
#ui
A project for studying of UICollectionViewCompositionalLayout (3 мин)
🗣 Практику люди воспринимают чаще лучше, чем теорию. Это готовый проект, в котором можно поизучать, как работают появившиеся в iOS 13 компоненты UICollectionView
📍 Ссылка на GitHub проекта
📍 Пример основан на трех компонентах: NSCollectionLayoutSection, NSCollectionLayoutGroup, NSCollectionLayoutItem
Как по мне взаимодействие с коллекциями стало удобнее. Что можете сказать про них?
A project for studying of UICollectionViewCompositionalLayout (3 мин)
🗣 Практику люди воспринимают чаще лучше, чем теорию. Это готовый проект, в котором можно поизучать, как работают появившиеся в iOS 13 компоненты UICollectionView
📍 Ссылка на GitHub проекта
📍 Пример основан на трех компонентах: NSCollectionLayoutSection, NSCollectionLayoutGroup, NSCollectionLayoutItem
Как по мне взаимодействие с коллекциями стало удобнее. Что можете сказать про них?
🔥4👍3👎3
#appstore #apple
The App Store has a "Too Big To Fail" problem (15 мин)
🗣 Apple закрывает глаза на несоблюдение своих правил слишком "большими" приложениями. В последнее время политика AppStore пересматривается и постоянно меняется
📍 Почему Apple не обращает внимания на несоблюдение своих правил Roblox и Netflix
📍 Хроника недавних изменений в политике AppStore
В последнее время AppStore очень сильно меняется, как думаете, во что это выльется?
The App Store has a "Too Big To Fail" problem (15 мин)
🗣 Apple закрывает глаза на несоблюдение своих правил слишком "большими" приложениями. В последнее время политика AppStore пересматривается и постоянно меняется
📍 Почему Apple не обращает внимания на несоблюдение своих правил Roblox и Netflix
📍 Хроника недавних изменений в политике AppStore
В последнее время AppStore очень сильно меняется, как думаете, во что это выльется?
👍4👎3🤔2
#foundation
3 surprises when using Markdown in SwiftUI (15 мин)
🗣 По следам WWDC. Еще одна фича из SwiftUI перекатилась Foundation и доступна с iOS 15. AttributedString теперь поддерживает Markdown и даже GitHub Flavored Markdown
📍 В статье говорится об имеющихся подводных камнях при использовании Markdown
У кого были жуткие боли при нестандартном использовании AttributedString? 😅
3 surprises when using Markdown in SwiftUI (15 мин)
🗣 По следам WWDC. Еще одна фича из SwiftUI перекатилась Foundation и доступна с iOS 15. AttributedString теперь поддерживает Markdown и даже GitHub Flavored Markdown
📍 В статье говорится об имеющихся подводных камнях при использовании Markdown
У кого были жуткие боли при нестандартном использовании AttributedString? 😅
👍4🔥4👎3