iOS Dev (@iosdev) Kanalının Son Gönderileri

iOS Dev Telegram Gönderileri

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

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

#ios #mobile #swift
7,520 Abone
933 Fotoğraf
63 Video
Son Güncelleme 11.03.2025 07:47

iOS Dev tarafından Telegram'da paylaşılan en son içerikler

iOS Dev

25 Feb, 05:25

3,191

Что происходит, когда вы перемещаете файл в git?

Это интересный вопрос, поскольку каждый из нас работает с гитом постоянно. Кто-то предпочитает Xcode или Tower, кто-то юзает консоль, но так или иначе понимание принципов важно.

Многие считают, что коммиты в git - это диффы изменений, но Бруно Роша в своей статье опровергает этот тезис. Коммиты это снэпшоты (кроме исключения): то есть при любом изменении в файле, git будет хранить полную копию этого файла в репозитории.

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

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

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

😃 iOS Dev
iOS Dev

21 Feb, 07:00

3,916

Реализация шейдера с презентации Apple для iPhone 16e

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

📖 Реализация доступна на GitHub.

📱 Оригинальный пост Стивена Хейни.

Кстати, вот тут, например, можно посмотреть на реализацию эффекта для Siri в iOS 18.

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

😃 iOS Dev
iOS Dev

20 Feb, 09:14

3,449

Жёсткие рамки или при чём тут бесконечный скролл

При работе над разными проектами, чаще всего можно встретить два варианта построения процессов: долгие эпики на несколько кварталов (и даже лет) и значительно менее продолжительные спринты с фиксированными фичами.

При таком формате важно избегать состояния scope creep (или же неконтролируемое увеличение масштаба проекта, что особенно часто встречается в начале разработки, бывалые менеджеры проектов поймут о чём речь).

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

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

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

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

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

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

Его имя — Аза Раскин. И именно ему мы должны сказать спасибо (или выразить негодование) за появление бесконечного скролла. Ведь в далеком 2006 году кроме пагинации не существовало альтернативы, и именно благодаря ему пользователи теперь значительно реже ощущают ход времени в ряде запрещённых соцсетей.

Хотелось бы, чтобы разработка все-таки не превращалась в бесконечный скролл, а мы с вами понимали, в какой момент должна быть перевёрнута нужная страница.

😃 iOS Dev
iOS Dev

19 Feb, 09:48

3,223

NSAttributedString: создание, редактирование и управление атрибутами

UILabel стоит больше, чем вы думаете — это не просто утверждение, а факт. Если вы работали с большим количеством стилей, то эта тема может быть очень близка. А когда мы говорим про что-то более производительное, нет иного варианта, кроме как уйти к Core Text.

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

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

Приятно, что автор понимает издержки и указывает про возможность кэширования таких строк.

😃 iOS Dev
iOS Dev

18 Feb, 08:41

5,531

💸Динамика зарплат разработчиков во второй половине 2024 года

Objective-C всё ещё сохраняет лидирующую позицию с уровнем в 350к, Swift вплотную подобрался к 300 000.

🚀 Среди компаний лидеры: Авито, Иннотех, Раффайзен Банк и VK.

Медианная зарплата в IT — 180 000 ₽, это на 19% больше первого полугодия 2024.

📖 Полные результаты исследования здесь, сравнить тенденцию изменений можно с этим постом.

😃 iOS Dev
iOS Dev

13 Feb, 08:46

4,096

Игра «Жизнь» Конвея: реализация c использованием MetalKit

📖 Пост про автомат Конвея (и даже пример реализации на Swift) уже был в нашем канале.

Эндрю Глейв показал, как можно сделать визуализацию с использованием vertex & fragment шейдеров.

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

😃 iOS Dev
iOS Dev

11 Feb, 09:41

3,584

Умение доносить свои мысли

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

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

Поверьте, всегда можно отличить практика от того, кто это имитирует.

Всегда можно отличить знание от повторения.

Практикуйтесь в технической части. Решайте сложные задачи.

Формируйте собственное мнение.

😃 iOS Dev
iOS Dev

10 Feb, 10:55

3,513

Создаём эффекты как в Apple Invites

Буквально неделю назад вышло новое приложение от Apple. Если вы задумывались, как можно реализовать анимацию с параллаксом при скролле (или вновь узнать немного больше о шейдерах), то с радостью делюсь проектом с официального сайта.

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

📺 Реализация вдохновлена этой сессией с WWDC24.

Кстати, в базе есть примеры более сложных шейдеров (💰 тут и ⭐️ тут).

😃 iOS Dev
iOS Dev

07 Feb, 13:27

4,119

Локализация iOS-приложения: советы, хитрости и лучшие практики

Читатель нашего канала попросил поделиться статьёй, в которой он разбирает особенности локализации (плюрализация, canInflect и форматирование разных типов данных).

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

📖 Поэтому рекомендую взглянуть на этот материал, и, возможно, сохранить себе некоторые советы.

Напомню, что здесь можно почитать про механику работы со String Catalogs.

😃 iOS Dev
iOS Dev

06 Feb, 15:02

3,889

Реализация динамического градиента на основе среднего цвета изображения

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

📖 В этом материале можно посмотреть на один из таких примеров.

🛠 Код проекта доступен здесь.

А ранее в канале можно было увидеть ещё один пример для плавного перехода между цветами.

😃 iOS Dev