🇺🇦 iOS Dev UA - спільнота iOS розробників
383 subscribers
401 photos
42 videos
9 files
967 links
Перша україномовна спільнота iOS розробників 🇺🇦

👨‍💻Цікаві матеріали зі світу розробки для продуктів Apple.
Статті по розробці на Swift та SwiftUI. Огляд нових технологій в розробці від Apple.

чат: @iOSDevsUAChat
Ідеї та пропозиції: @SergeyZhuravel
Download Telegram
🔥iPad Pro на M4, iPad Air та Apple Pencil Pro. Що нового презентувала Apple на заході Let Loose

Apple провела захід Let Loose, присвячений новим iPad. Уперше за два роки Apple презентувала нові моделі iPad, новий Apple Pencil та клавіатуру.

👉 iPad Air на M2
Перша новинка, яку презентувала Apple — iPad Air. Він доступний у двох розмірах: 11-дюймовий та 13-дюймовий дисплеї. iPad Air оснащений чипом M2, у компанії кажуть, що він приблизно на 50 % швидший за М1, а сам планшет — десь утричі швидший за iPad Air 2020 року.

👉 iPad Pro на M4
Друга новинка – iPad Pro на чипі M4. Планшети стали першими пристроями Apple, у яких використали нові M4. Чип має збільшити продуктивність, також він орієнтований на роботу із ШІ. iPad Pro також доступний у двох розмірах (11 і 13 дюймів) та у двох кольорах. Обидва варіанти матиють OLED-дисплей.

👉 Чип M4
А тепер власне трохи про сам чип М4. Він оснащений новим механізмом відображення та оновленими ядрами CPU та GPU. Пропускна здатність пам’яті була покращена до 120 ГБ/с, і вперше для лінійки iPad Apple додала підтримку динамічного кешування, апаратно-прискореної трасування променів і апаратно-прискореного затінення сітки.
M4 також оснащено оновленим 16-ядерним нейронним механізмом, здатним виконувати до 38 трильйонів операцій на секунду, що в 60 разів швидше, ніж перший NPU компанії A11 Bionic. Деякі інші можливості M4 включають апаратне прискорення AV1 — уперше для лінійки iPad — і зменшені вимоги до пам’яті під час виконання робочих навантажень.

👉 Apple Pencil Pro
Користувачі iPad довго чекали й нарешті дочекалися нового Apple Pencil Pro. У компанії його називають революційним рішенням. Пристрій містить новий датчик у корпусі, який реагує на натискання. Це, наприклад, дозволяє викликати палітру інструментів Procreate, не не використовуючи другу руку.

🇺🇦 iOSDevUA
👍1
📲 Apple випускає Release Candidate для розробників для iOS 17.5, iPadOS та інші.

Release Notes:
👉 iOS & iPadOS 17.5 RC (21F79)
👉 tvOS 17.5 RC (21L569)
👉 visionOS 1.2 beta 5 (21O5587a)
👉 watchOS 10.5 RC (21T575)
👉 iOS & iPadOS 16.7.8 RC (20H343)

🇺🇦 iOSDevUA
💡Дуже інформативний матеріал про Optional'и в Swift!
Досвідчені розробники, ймовірно, не знайдуть багато нового, але новачкам точно буде корисно.
До речі, деякі частини, які розглядаються в статті, часто запитують на співбесідах, тому знайомство з цим точно варте уваги.
Якщо коротко, автор розповідає про те, що таке Optional'и, що вони представляють з себе «під капотом», як їх використовувати, які наслідки є 👍

👉 https://www.avanderlee.com/swift/optionals-in-swift-explained-5-things-you-should-know/

🇺🇦 iOSDevUA
Різниця між stroke() та strokeBorder() в SwiftUI💡

🇺🇦 iOSDevUA
This media is not supported in your browser
VIEW IN TELEGRAM
🚀Sticker Wall - Створення голографічного ефекту в SwiftUI

🤩 Ефект на відео — лінійний градієнтний шар, який змінює свої значення залежно від відносного положення нахилу та обертання пристрою.

У цьому прототипі кожен стікер — це View (і для кожного свої значення кута нахилу, обертання, CMMotionManager та таймери), що призводило до перегріву пристрою при 99%-му завантаженні процесора.

Тому були прийняті рішення для оптимізації:

1️⃣ Перенести весь код, пов’язаний з рухом, в єдиний об’єкт ObservableObject.
2️⃣ Використовувати один таймер для всіх змін значень.
3️⃣ Запускати всі зміни тільки один раз за цикл таймера.

І хоча процесор все одно показує навантаження у 45%, це вже краще початкових результатів.

🔗 Усю історію створення можна подивитися тут 👉 https://twitter.com/danielkorpai/status/1787488924400550160

🇺🇦 iOSDevUA
👍1
💡Xamarin все

Кінець епохи. Починаючи з 1 травня, Microsoft офіційно припинив підтримку всіх SDK Xamarin, включаючи Xamarin.Forms. Усіх, хто ще не встиг переїхати, закликають мігрувати на MAUI.

🇺🇦 iOSDevUA
💡Розробка бібліотеки з урахуванням strict concurrency

Детальний гайд з того, як дизайнити Swift бібліотеку, яка буде компілюватися без попереджень у режимі strict-concurrency. Автор аналізує купу проблем і компромісів, з якими вам також доведеться зіткнутися.

👉 https://rhonabwy.com/2024/04/29/designing-a-swift-library-with-data-race-safety/

🇺🇦 iOSDevUA
💡Про defer у Swift, коротко, з поясненнями та прикладами. Дуже сподіваюсь, що це буде корисно лише новачкам, інакше не знаю, як ви досі без цього жили. Річ дуже стара і дуже корисна 👍

👉 https://www.donnywals.com/what-is-defer-in-swift/

🇺🇦 iOSDevUA
👍1
💡У Apple так багато всього, що вони зробили роадмапи. Всі категорії на скріншоті.

Вибираєте потрібну, а всередині вас структурно проведуть через документацію та відео-тюторіали у правильному порядку.

Назвали 🗺 Pathways.

🇺🇦 iOSDevUA
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
💪Доповіді з конференції try! Swift Tokyo 2024

try! Swift Tokyo — мабуть, одна з найпопулярніших конференцій по iOS у світі. Сподіваюся, колись вдасться цілеспрямовано потрапити і на неї.

Серед представлених 20+ доповідей я б рекомендував звернути увагу принаймні на ці:

📺 Виведення типів у Swift (пріоритет перевантаження, проблеми відповідності протоколу і чому компіляція коду може стати затратною)

📺 Code signing — розбір проблем.

📺 File Provider на iOS та macOS і всі пов’язані з ним можливості.

📺 Майбутнє сумісності C++: досвід перенесення гри на Swift.

📺 Взаємодія з сокетами та паралельна обробка у Swift (це відео вже в моєму обраному).

🔗 А весь плейлист доступний за цим посиланням.

🇺🇦 iOSDevUA
👍1
💡Подкаст з менеджером команди компілятора Swift

Випуск подкасту Swift Package Indexing з Голлі Борла, менеджером Swift Compiler Team. Весь випуск зосереджений на змінах у Swift 6.

Якщо ви не хочете слухати випуск, то можете відкрити його автогенерований транскрипт в Apple Podcasts – функція з'явилася зовсім нещодавно.

🇺🇦 iOSDevUA
💡Сервіс для тестування універсальних посилань в iOS

З'явилася спеціальна утиліта для розробників, яка спрощує процес тестування універсальних посилань (спеціальних URL-адрес, які ведуть на певний контент у вашому додатку).

Платформа запитує останній AASA-файл з серверів Apple та генерує просту панель керування для тестування.

Наприклад, можна побачити, як поводиться кожне посилання, перевірити налаштування та виявити регресії. І ще не важливо, скільки додатків підтримує ваш AASA-файл (протестувати можна їх усі).

Бонус: платформа також повідомить, коли оновиться кешована версія AASA-файлу.

🔗 Перевірити сервіс можна тут 👉 https://getuniversal.link/
📖 А документацію можна знайти тут 👉 https://digitalbunker.dev/launching-getuniversal-link/

🇺🇦 iOSDevUA
Привіт, тепер по вівторках в каналі буде виходити дайджест з найцікавішими новинами у iOS світі 🙂

Hello everyone! New iOS weekly digest is here!
🚀🚀🚀 Last Week at Apple 🚀 🚀 🚀

WWDC Index
An unofficial index of sessions from WWDC with information about 3428 sessions, from 2000 to 2023, plus various Tech Talks:
https://nonstrict.eu/wwdcindex/

Animations: Bringing the Host Passport to Life on iOS
Very interesting article from Airbnb about passport animation in iOS app.
How Airbnb enabled hosts and guests to connect and introduce themselves through the Host Passport:
https://medium.com/airbnb-engineering/animations-bringing-the-host-passport-to-life-on-ios-72856aea68a7

If you looking for a migration guide from Cocoapods to Tuist please check this very detailed article.
Migrating from CocoaPods to Tuist at Playtomic
In the constantly changing world of software development, embracing change and innovation is crucial for staying ahead. At Playtomic, we recognized the need for improving our build system and planned to make a big change by migrating our 4 years old dependency management system from "Manual project management” + CocoaPods to Tuist.
This shift was all about improving the project structure, simplifying development processes, cleaner build configurations, compatibility with Swift Packages and modern SwiftUI projects and giving the overall development experience a huge boost:
https://dev.to/playtomic/migrating-from-cocoapods-to-tuist-at-playtomic-26ed

Looks like we are so close to Android world of different devices and sizes 🙂 Make sure to check this great article about iPad screen sizes.
iPad 2024 Screen Sizes
The 2024 iPad release updates both iPad Pro and iPad Air models. Here’s a recap of what you need to know when updating your apps for the new devices:
https://useyourloaf.com/blog/ipad-2024-screen-sizes

The Dark Side of Unidirectional Architectures in Swift
https://medium.com/the-swift-cooperative/the-dark-side-of-unidirectional-architectures-in-swift-e4acf243ff1c

The Composable Architecture: My 3 Year Experience
I recently finished a 3 year stint with a company that uses the Composable Architecture (TCA) from PointFree. I wanted to write about my experiences with TCA and some of the problems I see with it.
I think Brandon Williams and Stephen Cellis, the creators of TCA, are absolutely brilliant, and what they have managed to pull off with the creation of TCA is amazing. However, It’s just the two of them, and nobody, or no thing, is perfect:
https://rodschmidt.com/posts/composable-architecture-experience

#iOS_Design
Apple already added templates for new iPad to Sketch:
https://developer.apple.com/design/resources/#product-bezels
🔥3👍2
This media is not supported in your browser
VIEW IN TELEGRAM
💡Анімація паспорта в Airbnb

Інженери з Airbnb крок за кроком розповідають, як вони створили складну анімацію відкривання паспорта. А якщо ви хочете дізнатися більше про їхню систему роботи з анімаціями загалом, прочитайте одну з попередніх статей.

🇺🇦 iOSDevUA
👍2
💡Swift Argument Parser Guide — створення власних інструментів

Посібник наразі складається з трьох великих частин, які дозволять створити власні утиліти (з аналізом команд, аргументів та прикладами).

1️⃣ Основи та аргументи.
У першій частині розглянуті основи аналізатора аргументів, способи підготовки інструментів, команди та підкоманди.

2️⃣ Flags.
У цій частині ви дізнаєтесь про прапорці та специфікації імен на інтерактивному прикладі.

3️⃣ Опції, перевірка вводу та варіанти завершення.
У цій частині описані параметри (та їх групи), перевірка вводу і, нарешті, варіанти завершення роботи (з кастомізацією тексту помилок та розбором ситуацій, коли щось пішло не за планом).

🇺🇦 iOSDevUA
👍1
💡Хороший матеріал про час збірки в Xcode. Про те, як стежити за цим і чому це важливо.
Звісно, тут автор не обходиться без реклами свого інструменту RocketSim, який насправді прикольний, і ми вже про нього постили, але навіть якщо пропустити цей момент, стаття дійсно корисна.
З цікавого тут є те, що важливо не лише стежити за часом збірки, розуміти, чи просів він у вашому проєкті, чи покращився з новим Xcode тощо, але також важливо порівнювати час збірки на вашому пристрої з часом збірки на пристроях колег. Можливо, придбати вам потужніший ноутбук буде навіть вигідніше для компанії з погляду витрат 😀

👉 https://www.avanderlee.com/xcode/xcode-build-insights-keep-track-of-project-compilation-times/

🇺🇦 iOSDevUA
💡Підбірка великих iOS-додатків з відкритим кодом

Більшість додатків з багатомільйонною аудиторією не публікують свої рішення (з очевидних причин, адже це може допомогти не тільки конкурентам, але й тим, хто хотів би ними стати).

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

Ось кілька додатків у опенсорсі:

1️⃣ ProtonMail — популярний поштовий клієнт для зашифрованих листів.

2️⃣ Signal — якщо вам потрібно реалізувати у своєму додатку якісь функції для чату, цей проєкт може стати чудовим джерелом натхнення.

3️⃣ VLC — мабуть, найпопулярніший кросплатформенний медіаплеєр з відкритим вихідним кодом.

4️⃣ Kickstarter — платформа для краудфандингових проєктів.
У цьому додатку зроблено вибір на користь функціонального підходу до програмування, який підтримується завдяки впровадженню кількох кастомних операторів.
Можливо, вам буде цікаво, як такий підхід працює на прикладі настільки масштабного додатку.

5️⃣ Telegram iOS — далеко не завжди очевидні підходи (і іноді складночитаємі), але при цьому важко заперечувати, що телеграм залишається неймовірно швидким при великому навантаженні. А ще тут можна надихнутися ефектами та рішеннями найскладніших завдань.

🇺🇦 iOSDevUA
1