أحدث المنشورات من iOS Dev (@iosdev) على Telegram

منشورات iOS Dev على Telegram

iOS Dev
🍏Канал об iOS-разработке, необычных подходах и решениях.
👨‍💻Автор: Виктор Грушевский (@Viktorianec)
Темы:
⭐️ Подготовка к собеседованиям.
⭐️ Архитектуры и алгоритмы.
⭐️ Код. Много кода.

⚒️База знаний: https://boosty.to/ios_dev

#ios #mobile #swift
7,520 مشترك
933 صورة
63 فيديو
آخر تحديث 11.03.2025 07:47

قنوات مشابهة

Эксплойт
2,235,443 مشترك
iOS remote jobs
4,655 مشترك
Antony Catcher
1,064 مشترك

أحدث المحتوى الذي تم مشاركته بواسطة iOS Dev على Telegram

iOS Dev

10 Mar, 08:02

1,573

Создание UDP-сервера и клиента в Swift на базе фрейморка Network

Сетевая модель OSI описывает, каким образом устройства в локальных (и глобальных сетях) обмениваются данными.

Всего у неё 7 уровней и каждый из них выполняет определённую задачу (скорее всего вы и так это знаете, обычно это проходят на 2-3 курсе универа).

Так вот, на прикладном уровне чаще всего нам достаточно URLSession.

Но вот для сетевых задач более низкого уровня (работа с TCP и UDP), фреймворк Network предоставляет более полный контроль на транспортном уровне. Это обеспечивает большую гибкость и эффективность по сравнению с URLSession.

📖 В этом материале от нашего читателя Максима Егорова вы можете познакомиться с тем, как написать свой UDP-сервер и клиент на несложном, но любопытном примере.

🛠 Полный код проекта доступен здесь.

😃 iOS Dev
iOS Dev

09 Mar, 12:22

1,989

Музей науки Манчестера

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

Вообще, локация этого музея сама по себе необычная, для этого выбрана территория бывшего первого в мире пассажирского вокзала (Манчестер—Ливерпуль-Роуд).

Понятен и акцент на исторические достижения в области промышленности. Но лично для меня было интересно посмотреть на реплику первого в истории компьютера, в котором можно было хранить инструкции выполнения программ в памяти.

И хотя он описан как маленький и примитивный (для своего времени), да и название у него символичное Малыш (или baby) сейчас эта махина выглядит просто огромной.

27 тонн, 15 на 7 метров с потребляемой мощностью в 150+ кВт. Вычислительная мощность — 357 операций умножения в секунду. При этом само умножение было реализовано очень любопытно и по факту 1 умножение равнялось 14 операциям сложения.

После такого задача писать мобильные приложения кажется немного проще 😌

😃 iOS Dev
iOS Dev

07 Mar, 09:10

2,364

Новый инструмент анализа производительности: Processor Trace

Длительное выполнение операций в главном потоке может привести к самым различным проблемам: от подвисаний и проблем отображения вплоть до того, что приложение перестанет отзываться в целом.

🛠 В Xcode 16.3 Beta 2 появился новый инструмент для проверки нагрузки: Processor Trace.

С его помощью можно получить информацию о выполняемом коде, включая ветвления и инструкции.

Но, как обычно, есть и большое но: мы можем использовать его только на M4 и на устройствах iPhone 16 и выше.

И недостаток поменьше: при использовании трассировки девайс будет работать приблизительно на 1 % медленнее.

Благодаря новому инструменту можно проверять активность процессора (и уже затем мы можем решать, что реально вынести в фон с помощью Swift Concurrency или dispatch queue).

📖 Обратите внимание и на этот пост с советами по повышению производительности.

😃 iOS Dev
iOS Dev

06 Mar, 09:59

2,425

Симметричные и асимметричные эффекты в SwiftUI c добавлением модификатора Scroll Transition

📖 Делюсь неплохим гайдом с примерами кода по добавлению эффектов при скролле, важно помнить, что это доступно только с iOS 17.

А ещё напомню, что в канале есть несколько полезных постов:

🔗 Добавление растягиваемого заголовка в ScrollView с параллакс-эффектом для SwiftUI

🔗 Реализация эффектов ScrollView

🔗 Ещё один разбор ScrollTransitionConfiguration

А для UIKit можно чекнуть, как реализовать бесконечный скролл на базе UITableView + API HackerNews.

😃 iOS Dev
iOS Dev

05 Mar, 08:46

2,627

Grand Central Dispatch: большой разбор

Наш подписчик подготовил фундаментальный разбор GCD, и в отличие от многих аналогичных статей, наполнил его примерами, над которыми можно (и нужно) подумать.

Среди основных тем:

🔘Основные концепты: thread, multithreading, GCD, task, queue
🔘Типы очередей: main, global, custom
🔘Quality of Service (QoS) и разбор приоритетов
🔘Последовательная и параллельная очереди
🔘Способы выполнения задач: async, sync
🔘Deadlock
🔘Упражнения для проверки знаний по GCD - весь код доступен на GitHub

Пообщавшись с Кириллом, было принято решение вынести некоторые задачи и в большую подборку.

📖 Оригинальную статью можно прочесть здесь.

Напомню, что доступ к этой и другим практическим темам можно получить 💰тут и ⭐️ прямо здесь.

😃 iOS Dev
iOS Dev

04 Mar, 07:50

2,604

Синхронное выполнение задач в iOS-приложениях

Все iOS-разработчики справедливо беспокоятся о потенциальной блокировке основного потока. Поэтому практически всегда длительные задачи переносятся с него, чтобы сохранить отзывчивость приложения..

Но на самом деле, если процесс короткий, как справедливо подмечает Мэтт в своей статье, такое смещение может плохо сказаться на производительности. Так как хотя затраты на переключение минимальны, такая операция на/из потока не является бесплатной.

Добавление в код параллелизма сопровождается увеличением сложности сразу по нескольким направлениям (и оно может быть существенным).

📖 Больше примеров и полезных размышлений можно прочитать в оригинальном материале.

А разбор других (не менее важных) вопросов в разработке, подборку вопросов по многопоточности и многое другое можно найти 💰 в закрытой базе и ⭐️ прямо здесь.

😃 iOS Dev
iOS Dev

03 Mar, 10:15

2,709

Промпт-инженеры и их зарплаты

В канале я регулярно поднимаю вопросы, связанные с AI (от проблем у Stackoverflow, запрета использования в Apple до опросов).

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

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

Во-вторых, знаю ребят, которые пытались юзать ChatGPT (и аналоги) для решения алгоритмов и ломались уже на вещах уровня medium в литкоде. Особенно когда речь идёт о корнер-кейсах или нетривиальных условиях.
Будет неловко, если этот код попадёт в продакшен, как считаете?

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

Но вот в чём парадокс, происходит ровно наоборот, хотя пару десятков лет назад казалось разве робот может написать симфонию.

Люди создают музыку с использованием нейросетей, рисуют картины, программируют и даже пишут книги.

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

На счёт зарплат таких специалистов - отдельный разговор. Допустим, подписка на ChatGPT стоит от 20 до 200 долларов. Какое образование необходимо, чтобы пользоваться этим инструментом в IT-сфере?

Как думаете, должна ли быть отдельная должность с ограниченным пулом задач для промпт-инженеров в iOS, возможно ли это в целом? Могут ли у них быть собственные грейды?

😃 iOS Dev
iOS Dev

28 Feb, 10:00

3,535

Простая настройка модуляризации для iOS-приложения

При этом подходе можно добиться целого ряда важных преимуществ.

Например, разбиение приложения на модули поможет не только облегчить совместную работу над проектом и повысить тестируемость, но и при правильных настройках улучшит скорость сборки.

📖 В этой статье показано, как можно структурировать такой проект (с использованием Core/Domain/Presentation слоёв), и, что немаловажно, как масштабировать этот подход для реализации более сложных и объёмных приложений.

🛠 Код доступен на GitHub.

🔗 В канале можно и посмотреть на подход Spotify к реализации модульной архитектуры.

А познакомиться с разными подходами для выбора нужной архитектуры проекта (и посмотреть на то, какие могут быть подводные камни) можно как всегда вот здесь (или же ⭐️ прямо тут).

😃 iOS Dev
iOS Dev

27 Feb, 07:19

3,157

Task.sleep() vs Task.yield(): Объяснение различий

В Swift Concurrency можно использовать Task.sleep() и Task.yield(), чтобы позволить определенной задаче «заснуть» или «выйти» на определенный период времени.

И хотя оба варианта выглядят и ведут себя похоже, есть несколько различий, о которых полезно знать.

📖 В этой статье Антуан рассказывает про оба способа и объясняет, какие есть области применения в приложениях.

😃 iOS Dev
iOS Dev

26 Feb, 07:29

3,381

Рисование карт с помощью Swift Charts

Стандартный фреймворк Swift Charts это мощный инструмент для отображения данных с помощью самых разных способов.

В своей статье Артём Новичков вдохновился крутой сессией с WWDC и придумал необычное решение с комбинацией GeoJSON и MapKit.

📖 А что из этого вышло можно увидеть здесь.

🛠 Код проекта на GitHub.

😃 iOS Dev