ReactJS, TypeScript, Micro FrontendsReact fwdays | 27 березня. Долучайся!
×Закрыть

iOS дайджест #41: new App Store commision

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті.

У випуску: SwiftUI та UIKit interoparability, iOS App Security, new App Store commision.

Актуальне

У цьому розділі розглянемо, що нового в мові Swift та в Apple екосистемі загалом.

Віджети в iOS 14: можливості та обмеження
Автор детально розповідає про те, як створити та налаштувати віджети в iOS 14 та при цьому оминути підводні камені.

Designing widgets for iOS, macOS and iPadOS — the ultimate guide
Ознайомимося з максимально детальним дизайн-гайдом по віджетах в iOS, macOS та iPadOS з розбором типів, лейаутів, а також з прикладами використання.

How to create App Clips
Розглянемо на прикладі, як створити App Clips, їхні можливості та з якими обмеженнями ми стикнемося.

SwiftUI View Lifecycle
Чи задумувалися ви, який життєвий цикл у SwiftUI View? У цій статті знайдете відповіді на всі питання.

SwiftUI and UIKit interoperability
Чи може SwiftUI та UIKit співіснувати в одному проєкті? Спойлер: так. Ознайомимося докладно з інтерперабельністю SwiftUI та UIKit.

Attributed Strings with SwiftUI
Здавалося, що найболючіша тема — це інтерперабельність SwiftUI та UIKit, як тут і Foundation з’явився. Порівняємо Text та NSAttributedString, а також навчимося брати від обох найкраще.

The future of SwiftUI navigation (?)
Автор статті розповідає про майбутнє навігації у SwiftUI за допомогою NavigationLink.

Observing a KVO compatible model in SwiftUI and MVVM
Розглянемо, як використовувати в одному проєкті SwiftUI та KVO. Ми бачимо, як сумісність стає складнішою завдяки втручанню Obj-C Runtime.

Netflix Android and iOS Studio Apps — now powered by Kotlin Multiplatform
В цій статті автор розповідає про створення нового продукту від Netflix — Prodicle. В цьому застосунку бізнес-логіка побудована на Kotlin Multiplatform, який компілюється в Kotlin library для Android та Universal framework для iOS. Більш детально читайте за посиланням вище.

Що нового з’явилося?

Цей розділ присвячений новим фреймворкам і застосуванню їх на практиці.

Swift Algorithms
З’явилась нова бібліотека, яка містить в собі алгоритми для роботи з колекціями. Ну все, з цього моменту можна назавжди забути вивчення алгоритмів. (Ні.)

Modern ways to reload cells
Автор розповідає про те, як оновлювати окремі комірки таблиці, за умови, що вам доступна розкіш підтримки iOS 13+.

Commands in SwiftUI
Розглянемо, як працюють commands у SwiftUI та яке їхнє основне призначення.

Keyboard shortcuts in SwiftUI
У статті автор розповідає про те, як додати keyboard shortcut для будь-якого View у SwiftUI.

Focus management in SwiftUI
Ознайомимося з функціональністю SwiftUI, яка дозволяє керувати фокусом користувача в наших застосунках.

Adding Views and Modifiers to the Xcode Library
Розглянемо одну з найкорисніших функцій SwiftUI — додавання View та Modifier в бібліотеку Xcode для швидкого доступу.

Understanding the Limited Photo Library in iOS 14
Автор пояснює, як працює обмежений вибір фотографій з галереї та навіщо він потрібен.

Using PHPickerViewController Images in a Memory-Efficient Way
Ознайомимося детально, як влаштований новий пікер зображень у Photos, як ним користуватися, оминувши всі підводні камені.

Відкриваємо нові горизонти

У цьому розділі розглянемо різні цікаві теми, які стануть вам у пригоді.

Getting started with Property Wrappers in Swift
Якщо ви ще не знаєте, що таке property wrappers та навіщо вони потрібні, ця стаття саме для вас. Enjoy!

Пишемо регулярні вирази, не знаючи регулярних виразів
Чи часто ви використовуєте регулярні вирази в проєкті для розв’язання задачі, пов’язаної з пошуком збігу в тексті чи рядках? Спойлер: майже ніколи, а шкода. Після того, як ви прочитаєте цю статтю, неодмінно переглянете своє ставлення до них.

Як автоматизувати тестування продуктової аналітики
Автор розповідає про те, як він зумів автоматизувати тестування продуктової аналітики з використанням UI-тестів. З чого ж розпочати?

Useful (and obscure!) Foundation types in Swift
Винаходити велосипеди не є чимось новим для розробників. Автор розповідає про такі класи з Foundation, які є настільки ситуативними, що розробники навіть не здогадуються, що вони існують, а тому регулярно створюють власні рішення. Ознайомимося з цими надзвичайно корисними класами, які стануть нам у пригоді.

Delightful interactive animations
Чи задумувалися ви, як створити інтерактивну анімацію, наприклад, у Spotify? Автор на власному прикладі розповідає, як це зробити.

Statically computed default property values
Автор статті розповідає, що таке statically computed default property values та де і коли нам необхідно їх використовувати.

Overriding UserDefaults for improved productivity
Чи часто ви оверрайдите значення UserDefaults? Розглянемо, як це зробити, яке практичне значення це має.

Testing networking logic in Swift
Всі ми обожнюємо писати юніт-тести. Проте що робити, якщо необхідно покрити тестами networking-логіку? Розглянемо в статті.

Detecting changes in files and folders in Swift
Автор розповідає про те, як моніторити зміни у файлах за допомогою DispatchSource.

How to Unit Test Enumerations in Swift
Що робити, якщо вам необхідно покрити тестами перелічуваний тип даних у Swift? Розглянемо покроково.

Parsing Tricky JSON With Codable in Swift
Якщо ви часто працюєте з бекендом, на який не можете вплинути, то розумієте, який це біль розпарсити погані JSON’и. Автор на власному прикладі пояснює, як розпарсити нетривіальні JSON’и за допомогою Codable у Swift.

Writing Custom NSFormatters in Swift
З’ясуємо, для чого нам слугує клас NSFormatter і як зробити власні форматувальники.

Resizing UIImages with aspect fill on iOS
Кожен з нас хоча б раз використовував UIImageView для відображення зображень у своєму проєкті. UIImageView автоматично підтримує масштабування зображення, це чудово. Проте що робити, коли зображення занадто велике і робота UIImageView з ним неефективна?

Reducing Memory Footprint When Using UIImage
Також треба пам’ятати, що зображення можуть займати набагато більше пам’яті під час відображення (87 MB), ніж при зберіганні (8 MB). Автор пояснює, чому це відбувається та як розв’язати цю проблему за допомогою понижувальної дискретизації.

Як додати 3D в iOS додаток за допомогою SceneKit
Розглянемо, як додати 3D-зображення в iOS-застосунок з використанням фреймворку SceneKit, а також ознайомимося з проблемами, з якими розробники зіткнулися на продакшені.

Modern Dependency Injection in Swift
Автор статті розповідає про Dependency Injection у Swift. Він детально розглядає найчастіші помилки та варіанти організації залежностей в проєкті на власних прикладах.

Вдосконалюємо свої знання

У цьому розділі ми зануримося та розглянемо докладніше цікаві теми з різних напрямів.

iOS App Security: Best Practices
Ознайомимося, як покращити сек’юрність свого застосунку з використанням найкращих технік.

Unowned vs Weak
Розглянемо, в чому ж різниця між unowned та weak вказівниками, та поставимо крапку на цьому.

String Interpolation in Swift
Автор статті розповідає, як створити власні string interpolation на прикладі 4 випадків з практики.

The power of extensions in Swift
Чи часто ви використовуєте extensions у Swift? Розглянемо їхні можливості, а також де та коли їх використовувати.

Launch screens in Xcode
Детально ознайомимося з тим, як працює та як налаштувати launch screen в Xcode.

How Swift API availability works internally
Зануримося у світ Swift API availability та з’ясуємо, як він влаштований зсередини.

CAShapeLayer in Depth
Чи часто ви створюєте власні UI-компоненти чи складні анімації? Більшість з них використовують CAShapeLayer за основу. Розглянемо його властивості та особливості.

How to display Vision bounding boxes
Подивимося цікаві особливості відображення bounding box, створеної за допомогою Vision.

Sorting Swift collections
Автор розповідає про те, як оптимально відсортувати колекції у Swift, а також які особливості існують. Як результат, отримаємо зручний API для покрокових сортувань з різними дескрипторами.

Formatting numbers in Swift
Досить часто ми маємо справу з числами. Проте не завжди їхнє відображення, яке зрозуміле для розробників, буде зрозумілим для користувачів. Задля того, щоб зробити це, нам треба їх відформатувати. Розглянемо, як можна це зробити.

as, as?, and as!
Нарешті поставимо крапку в тому, де та коли використовувати as, as? чи as!

Static vs Dynamic Dispatch in Swift: A decisive choice
Подивимось, у чому різниця між Static та Dynamic Dispatch у Swift, а також визначимо, як вони влаштовані.

Configuring the Main Thread Checker
Чи знали ви, що можете налаштувати методи, про які вас буде попереджати Main Thread Checker? Автор детально розповідає про те, як це зробити.

Scaling custom fonts automatically with Dynamic Type
Якщо ви цікавилися, як адаптувати власний шрифт до стилів тексту з урахуванням системних можливостей зміни його розміру, ця стаття саме для вас.

Context-Bound Types
Розглянемо на прикладах, як зробити роботу з контекстно-пов’язаними типами чистіше.

Lazy Sequences in Swift
Автор розповідає про те, в яких випадках використання lazy sequences допоможе підвищити продуктивність, а в яких, навпаки, погіршити.

Для натхнення

Залишу тут посилання на ресурси, які можуть нас надихнути. Також у цьому розділі знайдете різні лайфхаки та інтерактивні відео.

HTTP in Swift
Автор склав туторіал з 18 частин, де він розповідає про те, як написати власний фреймворк для роботи з протоколом HTTP.

Slow Swift Compiler Performance
Розглянемо, як вимірювати швидкість компілятора на прикладі умовного виразу.

Build performance analysis for speeding up Xcode builds
Автор розповідає про швидкість збірки та як її аналізувати в Xcode.

Web scraping with Swift
Як часто вам необхідні дані з вебсайтів, які не пропонують доступ через API? Розглянемо, що таке вебскрапінг і як користуватися ним в iOS.

Занурюємось в SpringBoard
У цій статті автор розповідає про практичне використання Hopper Disassambler на прикладі рядка пошуку в SpringBoard.

Going iOS native with WordPress
Автор вирішив додати обробку HTML-коду власноруч з використанням SwiftUI. Що з цього вийшло, можна дізнатися зі статті вище.

Generating boilerplate Swift code with GYB
Скільки разів ви копіювали та вставляли код у своєму проєкті, оскільки не було гарного способу абстрагувати його? Таке копіювання — це втрата часу та схильність до помилок. Як щодо того, щоб згенерувати цю частину коду?

Do protocols break Single Responsibility Principle?
Чи справді протоколи у Swift ламають принцип єдиного обов’язку?

Cashing Out: How to Sell Your App
Якщо у вас є власні проєкти, то не обов’язково їх кидати, коли вони набридли. Їх можна продати. Наприклад, найсміливіші прагнуть отримати 5 мільйонів доларів. Проте якщо у вашої програми немає доходу, найімовірніше, її ціна варіюється в декілька сотень доларів. Автор розповідає про свій досвід продажу застосунків.

Apple lowers App Store ’tax’ to 15% for developers making under $1M a year
Офіційно Apple оголосила, що комісія в App Store для розробників, чий дохід менший за мільйон доларів на рік, становитиме 15% замість звичних 30%.

Попередні випуски

👍НравитсяПонравилось1
В избранноеВ избранном2
Подписаться на тему «iOS»
LinkedIn

Похожие статьи

Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Топчик! Не останавливайтесь!

Дякую Вам! Навіть не думаю)

Дякую Вам! Чекайте наступного дайджесту)

Дякую, Сергію! Далі буде)

Подписаться на комментарии