Сёрф iOS-разработка
1.34K subscribers
384 photos
25 videos
95 links
Download Telegram
SwiftUI: стили для View

В SwiftUI многие параметры View устанавливаются через расширение к View и применяются ко всем подходящим View внутри ViewTree по правилу «кто ближе, тот главнее». Например, так можно применить font или buttonStyle.

Но задумывался ли ты, как использовать эту фичу для стилизации больших View с несколькими состояниями и большим количеством child View? И можно ли упаковать это в кастомный стиль и применить внутри ViewTree аналогично font?

Разберёмся с 🏄‍♀️ Никитой, iOS Team Lead в Surf ⬆️

#surf_ios
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍5
BottomSheet в SwiftUI

С появлением SwiftUI интеграция bottom sheet (тот самый экран-шторка) стала ещё более простой и гибкой — если сравнивать с UIKit.

В SwiftUI не нужно создавать сложные контроллеры представлений и управлять их жизненным циклом. Вместо этого мы используем набор встроенных функций и модификаторов для создания и управления bottom sheet.

Идём разбираться с базовыми методами создания и настройки bottom sheet на SwiftUI ⬆️

#surf_ios
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥1051
Запустили регистрацию на летнюю школу iOS 🏄‍♀️

15-18 июля погрузимся в iOS, полайвкодим и отберём ребят в стажёрский резерв Surf!

Что за летние школы такие:

📌 Ты сделаешь первый шаг в IT-сферу и профессию;
📌 Пообщаешься с крутыми спецами в своей сфере и заведёшь полезные знакомства;
📌 Расширишь кругозор и сделаешь выбор в сторону той или иной профессии;
📌 Добавишь проекты в своё портфолио;
📌 И самое главное — получишь возможность стажировки в топовой IT-компании!

❗️ В этом году школа пройдёт для ребят из Воронежа, стажировка после школы также пройдёт в офисе в Воронеже. Подробности о том, как всё будет устроено, мы отправим тебе на почту после регистрации. Наши преподаватели с нетерпением ждут встречи с молодыми и амбициозными студентами!

Чтобы участвовать, выполни несколько простых действий:

1️⃣ Регистрируйся на сайте;
2️⃣ После 15 июня начнём рассылать анкеты — чекай почту;
3️⃣ Жди приглашения на школу!

По вопросам и FAQ пиши в нашего бота.

#surf_ios #surf_events
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥551
Что мы думаем по поводу WWDC 2024 🍏

Всей Surf iOS Team мы смотрели WWDC 2024. И теперь расскажем, что думаем по этому поводу.

Спойлер — это была не самая зажигательная конференция купертиновцев 😅

🟣 visionOS 2 — это хорошо. Apple сделали упор не только на инструменты для разработчиков, но и на создателей контента для VisionOS. Теперь любые фотографии можно сделать объемными. А для записи Spatial-видео Canon вообще выпустили специальный объектив.

Вообще, некоторые из нас ждали редизайн всей системы в стиле visionOS, это случилось, но частично. Заметили, что в обновленном приложении Photos есть элементы из visionOS, а в iPadOS новый TopBar похож на элементы из visionOS. Но хотелось бы больше;

🟣 Кастомизация рабочего стола на iOS — это какой-то Android боженьки. Теперь иконки можно размещать в любом месте экрана и настраивать их цвет;

🟣 Калькулятор на iPad крут, но не так, как распознавание рукописных примеров и автоматический перерасчёт. Распознавание — просто магия какая-то. Интересно, кстати, посмотреть сессию про рукописный ввод (если будет). Дадут ли разработчикам как-то с этим поработать? 🤔

🟣 Apple Developer обновился. И после публичной части конференции разработчики смогли опробовать бета-версии новых Os и Xcode 16;

🟣 iOS 18 получит и многострадальный iPhone SE 2nd generation — единственный iPhone в линейке, у которого нет safe Area и с которым нужно будет считаться при создании UI в приложениях;

🟣 Из контента первого дня для разработчиков были интересные сессии про:
➡️ Swift Testing;
➡️ Swift 6;
➡️ new in SwiftUl;
➡️ new in UIKit;

🟣 Swift Testing оказался всего лишь сахарным макросом для тестов. Есть прикольные фичи, но нет действительно необходимых штук, из-за которых обычно используют подобные обертки. Например, автомоков не хватает;

🟣 Сессия Migrate your app to Swift 6 оказалась по большей части про concurrency. Из интересного — специальный тип билда с советами по миграции;

🟣 В сессии «про новое» много интересного, но без подробностей. Нам вот понравились typed throws. Теперь можно делать throws (SomeError) и уже в try/catch обработчики ошибок будут попроще.

Что мы ждём?

🟣 Новый Xcode 16 с автозаполнением. Он будет понимать контекст и более быстрый билдинг previews в SwiftUI.

🟣 Какие API Apple предоставит для использования Apple Intelligence в приложениях.

#surf_ios
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥106👨‍💻1
Принципы SOLID на примере iOS-разработки

🏄‍♀️ Антон, iOS-разработчик в Surf, рассказал и показал на примерах, как писать красивый, масштабируемый и сопровождаемый код.

В статье ты примеришь на себя роль ментора: поможешь начинающему разработчику отревьюить код и улучшишь его с помощью SOLID.

➡️Го читать и комментировать

#surf_ios #surf_habr
Please open Telegram to view this post
VIEW IN TELEGRAM
15🔥4👎1
Диспетчеризация методов в Swift 🍏

Что такое диспетчеризация методов, как она устроена в Swift и почему важно понимать её устройство? Рассказывает и показывает 🏄‍♀️ Сёрфер Антон.

А примеры будут в следующих постах. Не пропусти!

#экспертный #от_сёрфера
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26🔥123
Диспетчеризация методов в Swift. Продолжение и примеры

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

#экспертный #от_сёрфера
🔥8👍4