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

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

чат: @iOSDevsUAChat
Ідеї та пропозиції: @SergeyZhuravel
Download Telegram
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
💡WWDC Index

Новий ком'юніті-проєкт навколо WWDC – список усіх сесій та їхніх описів на одній сторінці. Cmd+F, пишете потрібне вам ключове слово, отримуєте список усіх сесій!

🇺🇦 iOSDevUA
💡Clock у Swift неефективні

Автор статті зіткнувся з поганою продуктивністю роботи з ContinuousClock та SuspendingClock, провів бенчмарки, і виявилося, що вони працюють набагато повільніше, ніж звичайний Date. Замість них він пропонує перейти на функцію mach_absolute_time.

🇺🇦 iOSDevUA
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Apple приділяє надзвичайну увагу до деталей. Неможливо подивитися на це і не посміхнутися 🤯

🇺🇦 iOSDevUA
👍1
💡Тренуємо і запускаємо ML модель на пристрої

Гарний туторіал про те, як з нуля навчити свою ML модель для того, щоб передбачати ймовірність закриття діалогового вікна залежно від рівня заряду батареї.

🇺🇦 iOSDevUA
🚀Hello Developer: травень 2024

Новий випуск щомісячної розсилки Apple для розробників.

👉 Pathways – навчальні треки з підбіркою статей, відео та документації з різних тем.
👉 Інтерв'ю з переможцями Swift Student Challenge.
👉 Реєстрація на онлайн-зустрічі з App Review Team.
👉 Огляд Apple Pencil Pro.
👉 Q&A від команди SharePlay.
👉 Новий фреймворк для конвертації документів у PDF.

🇺🇦 iOSDevUA
💡Шаблони нових айпадів уже в Sketch

Після анонсу нових айпадів (і скандалу з рекламою, але про нього ми в каналі говорити не будемо), Apple додали шаблони з їх рамками в офіційну бібліотеку в Sketch. Можете вже використовувати для своїх скріншотів!

🇺🇦 iOSDevUA
👍1