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

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

#ios #mobile #swift
加入频道
Какой бы совет вы дали начинающему iOS-разработчику?

Сформулируйте вашу мысль одним предложением (можно картинкой).

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

Например:

Забудь про кейчейн, храни всё что можно в UserDefaults.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
9🔥14137👍2❤‍🔥1👌1🏆1🍓11
iOS Dev
Какой бы совет вы дали начинающему iOS-разработчику? Сформулируйте вашу мысль одним предложением (можно картинкой). За самый популярный (он может быть как актуальным и полезным, так смешным или вредным) будет символический подарок. Например: Забудь про…
🥇Победитель!

А вообще - посмотрите тред, там очень много хороших советов и размышлений о возможном пути начинающего разработчика на iOS (или не только на iOS)
Please open Telegram to view this post
VIEW IN TELEGRAM
8🤣61💯16😁134👍2🔥2👏22❤‍🔥1
Секретный способ для скругления и тени одновременно в UIKit

Все знают о сложности (и совсем не таком легком пути, как кажется) подобной задачи в UIKit.

Оказывается, среди недокументированного API (а значит, с шансом попадания под определённые риски) есть способ для реализации такого комбо.

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

Можно настраивать ширину, цвет (обратите внимание, нужен именно cgColor) и прозрачность.

view.layer.setValue(true, forKey: "softRim")
view.layer.setValue(20, forKey: "rimWidth")
view.layer.setValue(UIColor.yellow.cgColor, forKey: "rimColor")
view.layer.setValue(1.0, forKey: "rimOpacity")


Большая разница по сравнению с border, которая рисуется внутрь, этот ободок позволяет расширять наше вью и добавлять эффект снаружи.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
13🔥39🤩9🏆96👍2👏21
This media is not supported in your browser
VIEW IN TELEGRAM
😳 Макбук как весы — приложение для macOS на Github

Я не мог пройти мимо этого репозитория!

TrackWeight – это приложение, которое превращает MacBook в весы с помощью датчиков давления Force Touch.

Под капотом либа Open Multi-Touch Support (от Такуто Накамуры) для получения приватного доступа ко всем событиям мыши и трекпада в macOS.

Среди объяснений, почему это вообще работает: трекпад MacBook не совсем обычный, по факту это датчик силы нажатия с тактильными эффектами (поэтому мы чувствуем ощущение щелчка).

🛠 Репозиторий на GitHub (уже 2 000 звёзд).

За такие штуки мы и любим разработку, разве нет?

📊 Кстати, напомню, что с помощью Swift Charts можно играть в Pong.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
9🔥62🤩14135👍4❤‍🔥1🏆1🍓1
Apple только что представили Retention Messaging API

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

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

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

Всего 4 опции: текст, текст+картинка, сообщение о переходе на новый план с текстом и другой подпиской, а также рекламный оффер с текстом и скидкой (или другим уровнем).

📖 Вся документация уже доступна здесь.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥2914👏8👍22❤‍🔥1💯1
LLM Leaderboard - Сравнительный анализ 100 AI-моделей от OpenAI, Google, DeepSeek и других

Делюсь полезным ресурсом, на котором можно чекнуть более 100 LLM по ключевым метрикам: цене, производительности и скорости (скорость вывода - токены в секунду и задержка - TTFT), размеру окна контекста и другим.

📖 Посмотреть можно тут.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
5129🔥6💯3❤‍🔥1👍1🤩1🏆1
Переключение контекста

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

Более того, даже в мифе о правиле 10 000 часов акцент сводится к тому, что потратив огромное количество времени, можно стать профессионалом. Но это совсем не так. Лёгкий пример: когда вы получили права и проездили с 5-10 лет за рулём, вряд ли можно получить суперлицензию и отправиться в Абу Даби соревноваться со всем пелотоном F1.

Важно не количество затраченного времени на ту или иную сферу деятельности, а качество этих задач.

И даже при переключении контекста есть занятные факты. Netflix не ставит целью рассказать нам законченную историю, задача как можно дольше удержать зрителя у экрана. Как там говорится, ещё одна серия и всё?

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

В той же EA и её продуктах (FIFA, NFS и прочие) - давно используется Dynamic Difficulty Adjustment, от которого компания пыталась откреститься, но с переменным успехом. Вкратце, игрокам всегда будет казаться, что они балансируют на грани - своеобразный крючок, который позволит ещё немного задержать внимание. В остальных же компаниях, хоть Valve или кто угодно другой - матчмейкинг реализован со схожей целью.

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

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

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

Но он невероятно важен.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
33👏23❤‍🔥10👍8🔥74💯2🤩1
Что изменилось в поиске iOS и iPadOS 26

В iOS и iPadOS 26 добавилось несколько новых API для обновления визуального стиля и размещения поисковой панели.

📖 В этом посте Наталья Панферова рассматривает, как можно использовать эти улучшения для реализации поискового интерфейса.

Рассмотрены два распространенных шаблонах поиска в приложениях: на панели инструментов и на панели вкладок.

Кроме этого, приведены примеры: как работает каждый из этих вариантов, что изменилось и как реализовать их в SwiftUI.

➡️ Кстати, в канале есть примеры, как можно несложно внедрить фичу с поисковыми подсказками.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
515👍8🔥72👏1
Threads против Tasks в Swift Concurrency

По мнению Антуана из статьи ниже, разработчики могут задаться вопросом, чем различаются треды и таски, если ранее писали на Swift или Objective-C, используя GCD и традиционные API.

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

Но в современной разработке на помощь приходит Swift Concurrency и методология async/await.

Вместо того чтобы создавать метод и юзать замыкание, теперь нужен Task { ... } для запуска асинхронного контекста.

Следующий вопрос, который появится: где будет выполняться созданная нами задача - в основном или фоновом потоке?

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

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥1310👍84❤‍🔥1🏆1
Какая средняя зарплата мобильного разработчика в мире?

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

К слову, кроме традиционных составляющих, разработчики ответили и на вопросы об AI: пользуются около трети, а вот готовы максимально доверять результатам помощников - только 3.1%.

А вот и результаты опроса по зарплатам для мобильных разработчиков (внимание, результаты до налогов):

🇺🇸 $ 170 000 в год.
🇩🇪 $ 93 972 в год.
🇬🇧 $ 99 383 в год.
🇫🇷 $ 63 228 в год.
...
🇮🇳 $ 10 462 в год.

Увеличение по сравнению с 2024 годом - на 20%.

💸 А вот результаты аналогичного опроса в России: в первой половине 2024 года, во второй половине.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
1116🔥10❤‍🔥6🤯3💯2👍1🤩1🆒1
This media is not supported in your browser
VIEW IN TELEGRAM
23 августа пройдет Yandex Mobile Runtime — фест Яндекса для мобильных разработчиков

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

В программе:

AI-хакатон. Создайте работающее приложение за 5 часов с AI-помощниками. Оценивать продукт будет жюри в лице Геннадия Евстратова, руководителя проектов в Яндексе, Анны Жарковой, руководителя практики мобильной разработки Usetech, и других. Регистрация на хакатон отдельная.

Воркшопы по MCP и ускорению приложений и не только.

Карьерные консультации с лидами и сеньорами мобильный разработки из Яндекса и других компаний.

— Решение задач на тренировочной платформе CodeRun

Квиз для iOS-, Android- и Flutter-разработчиков по мобильной разработке с задачами, шутками и отсылками.

А еще — вместе с Городскими сервисами Яндекса обсудим метрики приложений и BDUI, поиграем в настолки в зоне от экспертов Поиска и рекламных технологий и отдохнем с ребятами из Почты, Диска и Календаря в кастомном баре от Яндекс 360.

Только офлайн.

➡️ Регистрируйся тут.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🎉10🔥8❤‍🔥3🫡3🤯2👌2💯22
This media is not supported in your browser
VIEW IN TELEGRAM
🎉 Шаг вперёд - бонус для всех подписчиков iOSDev

Уже несколько лет я делюсь своими знаниями, полезными советами и кайфовыми вещами из мира разработки здесь, в телеграме.

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

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

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

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

🤩 Сайт iOS IQ — первый и самый надёжный связующий элемент между каналом, блогом и приложением.

Я не слишком хорошо знаю модные фреймворки, поэтому реализация на чистом html+css+script (ну и пара открытых источников для подсветки кода). А, ну ещё потому - что тащить зависимости не всегда полезно.

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

Безусловно, перенести всё пока было невозможно - поэтому там уже сейчас около 50 полезных лайфхаков и примеров (но возможности для развития шикарные).

📖 Сохраняйте в закладки.

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

Подпишитесь 💰 на бусти и ⭐️ прямо здесь — получите доступ к огромному количеству материалов, а ещё это лучший мотиватор для того, чтобы в индустрии были не только промпт-инженеры, но и те, кому не всё равно.

Дальше - будет интереснее.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
4620❤‍🔥12🏆8👍5🔥311🎉1💯11