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

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

#ios #mobile #swift
加入频道
This media is not supported in your browser
VIEW IN TELEGRAM
Эффект люминофора на SwiftUI+Metal

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

🤩 То, что получилось вы можете увидеть на гифке.

А исходный код на Swift по традиции уже доступен 💰 тут и ⭐️ тут.

Ещё примеры:

🔗 Warp-эффект на metal-шейдере
🔗 Beauty infinite loop
🔗 Огненный шейдер


😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
1735🔥16❤‍🔥9🤩542👍2
Какой бы совет вы дали начинающему 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🤣60💯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🔥38🤩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🔥61🤩14135👍4❤‍🔥1🏆1🍓1
Apple только что представили Retention Messaging API

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

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

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

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

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

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥2813👏8👍22❤‍🔥1💯1
This media is not supported in your browser
VIEW IN TELEGRAM
Нет, ну вдруг вы ещё не слышали…

29 июля в 19:00 мы собираемся на Avito Mobile meetup. В планах обсудить профиты и минусы кэширования в приложениях и разработку на BDUI как на полноценном языке со своими практиками и подходами.

Ждём вас по ссылке на регистрации, а после — в нашем офисе или онлайн!
❤‍🔥6🔥66🤯533👍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
32👏18❤‍🔥9🔥7👍54💯2🤩1