iOS Broadcast
3.31K subscribers
1.7K photos
84 videos
973 links
Подборка новостей и статей для iOS разработчиков.

Новости Kotlin и мультиплатформы @kotlin_broadcast
Новости Android @android_broadcast
Реклама и прочее @android_broadcast_bot
Download Telegram
Разбираем ошибки начинающих iOS-разработчиков (19 мин)

Полезная статья для новичков. Состоит из двух частей. Первая про ошибки в верстке, например, про связь Storyboard с кодом или ошибки Auto Layout. Вторая - про кодинг: использование фишек языка не по назначению и ошибки при реализации паттерна delegate.

#ошибки
👍4👎1
Всем привет! Меня зовут Розалия, я автор канала  @ios_broadcast. Работаю в Тинькофф уже 3,5 года, мне нравится и вот почему:
🔥 У нас крутая команда профессионалов, которые развиваются сами и совершенствуют продукты
💪 Среда для роста: прозрачная система повышения, тренинги, обмен опытом
💰 Хорошая ЗП, которая растет вместе с вашим уровнем, а также годовые премии
🤝 Классное сообщество, частью которого можно стать

Если вам хочется поработать в нашей команде, и у вас от 3х лет опыта, присылайте резюме мне на почту [email protected], либо в телеграм @rozaliia. 25-26 марта у нас будет Weekend Offer.
Если опыта недостаточно, можете попробовать стажировки Тинькофф Старт. Но поторопитесь, отбор заканчивается уже завтра! Кстати, я начала свой путь в Тинькофф именно там 👩🏻‍🎓

Вопросы задавайте в комментариях к посту
👍14👎4
Clean Code vs. Performant Code

Чистый код - круто, но не всегда лучшее решение. Выбирайте, как структурировать код, основываясь на своих потребностях.
В статье провели эксперимент, который показывает, что код, основанный на протоколах и полиморфизме, на 30% менее производительный, чем тот, что основан на enum'ах, поскольку полиморфизм требует выявление типа в рантайме.

#performance
👍6🤔2👎1
Xcode Tip: filtering debugger output

Небольшой совет для дебаггинга. Можно включить фильтр логов в левом нижнем углу 😎
Знали от этом?

#лайфхаки
👍7👎1
TCA, The next iOS Architecture ? (4 мин)

Из чего состоит TCA:
👉 State описывает данные, которые нужны фичи для логики и отрисовки UI
👉 Action представляет действия, которые могут произойти в фиче, например, пользовательские действия, нотификации
👉 Reducer - функция, которые описывает, как изменяется state при данном action. Reducer также возвращает за Effect, который должен произойти. Например, API реквесты
👉 Store - runtime, который драйвит фичу. Все пользовательские действия отправляются в store, он запускает reducer и effect'ы, затем путем observ'инга state обновляетcя UI.

#architecture
👍8👎1
Short Tutorial in Accessibility Inspector (5 мин)

Accessibility Inspector может быть полезен для проверки доступности приложения, а также для определения accessibility label в тестах. В статье краткий гайд о том, как им пользоваться

#accessibility
👍6👎1
Реализация спойлеров в SwiftUI (4 мин)

В Telegram есть функция спойлера, которая позволяет скрыть определенную часть вашего сообщения, которая может показать спойлер. В этой статье рассмотрели, как реализовать данную функцию в SwiftUI

#swiftUI
👍2👎1
Как не потерять голову (и память) при поиске утечек в iOS (6 мин)

Способы обнаружения утечек из статьи:
👉 С помощью Xcode Memory Graph
👉 С помощью Instruments. После запуска приложения вы можете увидеть в реальном времени, сколько ресурсов потребляется в строке Allocations, и были ли обнаружены какие-либо утечки памяти в строке Leaks
👉 С помощью инструмента «Анализ» (только для Objective-C)
👉 С помощью unit-тестов
👉 С помощью Symbolic breakpoint. Вы можете создать точку останова, чтобы отследить вызовы метода dealloc, и проверить, был ли освобожден контроллер из памяти

#memory
👍2👎1
Освоение диаграмм в SwiftUI. Доступность (3 мин)

Swift Charts понимает ваши данные и автоматически создает дерево доступности для вашей диаграммы. Вам не потребуется выполнять никаких специальных действий, чтобы сделать вашу диаграмму доступной при использовании фреймворка Swift Charts.

#swiftui #accessibility
👍3👎1
Apple’s Worldwide Developers Conference returns June 5, 2023

WWDC в этом году пройдет с 5 по 9 июня.
Будут представлены новинки iOS, iPadOS, macOS, watchOS и tvOS. Также будут представлены новые технологии и инструменты для разработчиков.
Наряду с объявлениями, сделанными в ходе основного доклада и презентаций State of the Union 5 июня, онлайн-программа этого года будет включать сессии, индивидуальные лабораторные занятия и возможности для общения с инженерами Apple и другими разработчиками.
До 19 апреля можно поучаствовать в Swift Student Challenge.

#apple #wwdc
🔥3👎1
Посмотрите на свою белую спину, а потом вот на эти видео 😎
📺 iOS 17 - Release Date Confirmed, New Leaks & WWDC 2023! (10 мин)
📺 iOS 16.4 - 50+ Changes and Features! (19 мин)
📺 Новости мобильной разработки 2023.9 (37 мин)
📺 Менторство в IT — Как это работает #2 (49 мин)

#подборкавидео
😁6👎1
Болевые точки Dart и Flutter (24 мин)

Глобально все «раздражение» автор разделил на 3 основные части:
👉 проблемный дизайн Dart как современного ЯП;
👉 средства разработки (IDE и tooling), которые иногда не только не помогают, но и немножечко вредят;
👉 ограничения Flutter, которых могло и не быть.
а также он выделил...
👉 не нативные UI виджеты;
👉 уровень производительности (особенно в вебе);
👉 отсутствие динамического обновления с бека;
👉 state management ecosystem is a mess;
👉 нет возможности подгружать динамические библиотеки в run-time;
👉 нет официальной поддержки аудио (только ограниченные сторонние пакеты);

Пробовали ли вы flutter? Как вам? 🙋

#crossplatform
🤯5
В чем отличия #available и @available?
Anonymous Quiz
39%
#available для потребителей API, @available для создателей API
25%
#available для создателей API, @available для потребителей API
20%
Нужно использовать @available, #available устарело
16%
Нет разницы, дело вкуса
👎2👍1
Understanding protocol associated types and their constraints

Associated type добавляется в протокол и позволяет не специфицировать конкретный тип данных, а ограничить его лишь соответствием протоколу. Интересные кейсы читайте в статье

#swift
👍2
The relationship between UIView and CALayer (1 мин)

Об отношениях UIView и CALayer:
👉 UIView наследуется от UIResponder, это базовый юнит иерархии view и контейнер для CALayer
👉 CALayer - sublayer UIView, который обрабатывает отрисовку и анимации содержимого view
👉 UIView контроллирует графику, анимации и верстку с помощью CALayer. Например, свойства frame, bounds и center UIView задаются соответствующими свойствами CALayer
👉 CALayer предоставляет множество свойств и функций, которых нет у UIView. Например, shadow, corner radius, border, gradient

#ui
👍6👎1
Вышел Swift 5.8 (2 мин)

Обновление включает в себя функции и возможности, которые получат официальную поддержку в Swift 6, но разработчики уже могут использовать их, передав компилятору флаг -enable-upcoming-feature, а затем указав идентификаторы самих функций.
Также обновлена официальная документация в новом формате, менеджер пакетов Swift и SwiftSyntax.
Apple продолжает внедрять поддержку своего языка программирования на машинах под управлением Windows.
Бинарные файлы Swift 5.8 для Xcode, Windows и Linux доступны для скачивания на официальном сайте. Также Swift 5.8 поставляется вместе с Xcode 14.3, который компания выпустила на этой неделе.

#swift
🔥5👎2
Test Plans — теперь по умолчанию для новых проектов с Xcode 14.3 (2 мин)

В Xcode 14.3 для новых проектов по умолчанию используется Test Plan. Данный план тестирования по умолчанию в редакторе Test Plan помечен как Autocreated (создан автоматически), он может быть просмотрен и изменен, как и обычный. Для нового проекта, если вы откроете схему по умолчанию, план тестирования будет указан в разделе Test, а кнопка преобразования не появится

#testing
👎1🤩1
5 reasons I still feel SwiftUI is premature (5 мин)

Многие в восторге от SwiftUI 😎
А вот автор статьи считает его сырым:
👉 Все еще невозможно использовать без UIKit. Например, navbar, tab bar, TextEditor
👉 Ограниченный scroll view. Невозможно использовать contentOffset и velocity
👉 Целевой экран Navigation link предзагружен. Нужны костыли, чтобы сделать ленивую загрузку view
👉 ForEach ограничен невозможностью использовать index
👉 Многие SDK не поддерживают SwiftUI

#swiftUI
👎7👍4