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 приложений (9 мин)

👉 Модуляризация — отличный подход, который помогает упростить разработку приложений, их поддержку и развитие, но этот процесс требует много времени и зависит от многих факторов
👉 Предпосылок к модуляризации приложений много — от сложностей в работе с большой системой до необходимости повышения качества разработки. Понять, нужна ли в вашем проекте модуляризация приложения, поможет список вопросов-маркеров
👉 Перед модуляризацией приложения желательно подготовиться. Например, построить пайплайны, внедрить кодогенерацию
👉 Перед разработкой желательно все спроектировать «на бумаге» — это поможет избежать большого количества проблем

#модуляризация
👍2👎1
DivKit. Server Driven UI. Ольга Ким. Яндекс — Как это работает #3 (46 мин)

Обсуждаем вёрстку UI мобильных приложения на сервере без необходимости обновления приложений — Server Driven UI. Всё это на примере Open Source движка от Яндекс DivKit.
Гость выпуска — Ольга Ким, CTO DivKit в Яндекс.

#какэтоработает
🔥8👎71👍1
Swift async/await. Чем он лучше GCD? (12 мин)

Swift async/await - это новая фича языка, добавленная в swift 5.5. Она позволяет работать с асинхронными функциями в синхронном стиле. Разберем проблемы при работе с многопоточностью до async/await:
👉 Pyramid of doom - вложенность замыканий. Возникает сложность визуального восприятия
👉 Неудобная обработка ошибок
👉 Ошибки с замыканиями не выявляются компилятором
👉 Thread explosion. Если помещать в очереди много потокоблокирующих задач (которые используют локи, sync или sleep), то GCD не хватит потоков из его пулла, и он начнет создавать новые
👉 Priority inversion - в некоторых случаях задача с более высоким приоритетом может ожидать задачу с более низким приоритетом

#concurrency
👍91👎1
Firebase is Overrated. 5 Alternatives that are currently killing it

Firebase имеет достойные альтернативы:
👉 Supabase
👉 Amplify
👉 Apprite
👉 NHost
👉 MongoDB Realm

Подробнее о плюсах и минусах каждого в статье

#tools
👎5👍4
Шаблон Цепочка обязанностей и его реализация на Swift

Паттерн Цепочка обязанностей — это поведенческий паттерн проектирования, который позволяет обрабатывать запросы путем формирования цепочки объектов обработки. Каждый объект обработки содержит ссылку на следующий объект в цепочке. Согласно этому шаблону, при получении запроса каждый объект в цепочке либо обрабатывает запрос, либо передает его следующему объекту в цепочке. К основным преимуществам этого шаблона относятся:
👉 Разделение отправителя и получателя запроса
👉 Динамическое добавление или изменение порядка обработки в цепочке
👉 Повышение модульности и поддерживаемости кода
Пример на Swift ищите в статье

#паттерны
👍4
Apple Plans to Launch More Than Just Its New Headset at WWDC

Что ожидается на WWDC в этом году?
👉 the Reality headset (гарнитура дополненной реальности)
👉 новая xrOS и SDK для гарнитуры
👉 новые MacBook
👉 iOS 17
👉 iPadOS 17
👉 macOS 14
👉 крупное обновление на watchOS 10

🔥 Apple работает над переработкой программного обеспечения в iOS 17, чтобы открыть iPhone для загрузки приложений за пределами официального магазина к следующему году для соответстветсивя новым европейским нормам

#wwdc #слухи
🔥3😁2👍1👎1
Интеграция Yandex MapKit в SwiftUI проект. Часть 1 (4 мин)

Yandex MapKit — это кроссплатформенная библиотека, которая позволяет использовать возможности Яндекс.Карт в мобильных приложениях для iOS и Android.
Основная проблема в том, что библиотека Yandex MapKit создана для UIKit, в статье пример интеграции со SwiftUI

#swiftui
👍4👎3🔥2
Forwarded from Mobile Developer (Алексей Гладков)
Небольшой опрос общественного мнения Если бы вы начали делать новый проект, то какую технологию бы выбрали?Небольшой опрос общественного мнения Если бы вы начали делать новый проект, то какую технологию бы выбрали?
Anonymous Poll
67%
Native (Swift, Kotlin)
42%
Kotlin Multiplatform
12%
Flutter
1%
React Native
3%
Что-то другое
👎1
Учитесь, глупцы (7 мин)

Некоторые примеры использования ChatGPT разными специалистами:
👉 Красиво отрефакторить метод
👉 Написание юнит тестов
👉 Написание регулярных выражений
👉 Может помочь вам реализовать ваш пет проект на незнакомом вам стеке, главное направлять его.
👉 Генерация кода: очень хорошо, на уровне джуна
👉 Создания "скелета" будущей статьи (кейс психолога)

#ml #chatgpt
👍6👎1
ChatGPT integration in Xcode: How to improve your Apps with AI (6 мин)

В статье рассказывается, как добавить в Xcode Source Editor Extension с ChatGPT, которое может:
👉 Преобразовывать код. Команда, которая преобразует JSON в структуру Swift
👉 Определять Code Smells. ChatGPT определит, что можно улучшить в нашем исходном коде.
👉 Объяснить, что происходит в коде

#chatgpt #tools
🤯8🔥3
Хеш-таблица, хеш-функция в Swift (5 мин)

В Swift есть встроенная хеш-функциия. Вспомним немного теории.
В хеш-таблицах очень быстро работает поиск - O(1). Но если вам придется пройтись по связанному списку, то в худшем случае это может быть O(n).
Периодически мы получаем два хеша или два объекта, которые хешируются на один и тот же индекс (коллизии). Используем связный список, соединяем их в цепочку - это самый распространенный способ обработки коллизий в хеш-таблице.

#алгоритмы
👍4👎2
DoccGPT: cамодокументируемый код на Swift с помощью GPT и DocC (4 мин)

DoccGPT — это эксперимент по полной автоматизации документирования кодовой базы на Swift. 
Компилятор документации DocC преобразует текст на основе Markdown в обширную документацию для проектов Swift и Objective‑C и отображает ее прямо в окне документации Xcode. Вы также можете размещать эту документацию на веб‑сайте.

#ml #tools
12👎2
Цикломатическая сложность в Swift

Цикломатическая сложность — количество точек принятия решений в коде. Чем больше у вас точек принятия решений — например, операторов if, switch, циклов и так далее, — тем сложнее становится ваш код. А чем сложнее код, тем труднее его понимать, тестировать и поддерживать.
В Swift для измерения цикломатической сложности разработчики могут использовать такие инструменты, как встроенный статический анализатор Xcode или инструменты сторонних разработчиков, например SwiftLint.

#tools
👍3👎31
📺 iOS Conf SG 2023 (19 видео)

Записи с крупнейшей конференции разработчиков iOS в Юго-Восточной Азии. Тут все самое хайповое: ChatGPT, Swift Concurrency, Swift UI, супераппы и многое другое! 😎

#видео
🤩5👍4👎21
Foundation Package Preview Now Available

🔥 Доступен репозиторий предварительной версии Foundation, написанной на Swift, которая быстрее, безопаснее и удобнее для контрибьюта.
Рабочая группа Foundation будет проводить ревью и координировать потребности сообщества Swift с инженерами Apple.
Качество и производительность — самые важные цели в проекте. В планах на первую половину 2023 года дальнейшее совершенствование основного API, добавление модульных тестов, тестов производительности и расширение на другие платформы, где это возможно.

#swift
🔥6👎2
Apple's Hello animation

Создаем анимацию слова hello как у Apple на SwiftUI.
Автор использовал SVG to SwiftUI converter для создания основы слова, задал градиент и создал анимацию - часть реализации на скрине.

#анимации
👎2🔥21
👍3👎2
Combine: часть 2. Вершина айсберга (15 мин)

В этой статье подробно разобрали инструменты Combine и их особенности.
Combine — достаточно новый, но уже стабильный и полноценный инструмент, позволяющий описать всю (или почти всю) бизнес-логику в лаконичном, унифицированном стиле. 

#combine
👍3👎1
В iOS появится трекер эмоций

По словам Марка Гурмана из Bloomberg, обновление iOS 17, которое Apple планирует представить в июне, будет включать несколько новых функций, связанных со здоровьем. Появится функция отслеживания настроения, а также Apple планирует впервые выпустить приложение «Здоровье» на iPad.
Новый трекер эмоций позволит пользователям отслеживать свое настроение, отвечать на вопросы о своем дне и просматривать результаты с течением времени. В будущем можно будет использовать алгоритмы для определения настроения пользователя по его речи, набранным словам и другим данным, но Apple начнет с отслеживания настроения

#apple #слухи
😁8👎3🔥31
Воскрешаем старый проект с помощью ChatGPT (5 мин)

Эксперимент по переписыванию небольшого проекта анимированных кнопок для iOS, написанного 8 лет назад на Objective C. Всего код состоит из 500 строчек кода.
На весь этот проект ушло 6 часов времени. Сам процесс нельзя назвать приятным, ибо он весьма механический и скучный, при этом все равно требует тщательной проверки. ChatGPT 4 действительно может писать код, но для решения реальных задач его использовать тяжело из‑за маленького контекста и не всегда удобного интерфейса.

#chatgpt
👍3👎2