[Async/await] Проблемы Swift 5.4

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Всем привет! Меня зовут Никита, я работаю в компании Технократия и занимаюсь iOS-разработкой. С сегодняшнего дня мы начинаем регулярный выпуск статей, в которых я буду рассказывать о современном подходе к написанию асинхронного кода в Swift. 

Данный мини-курс будет логически разбит на серию небольших статей, в которых мы постепенно будем усложнять темы и смотреть на все более интересные примеры с использованием новой технологии.

Введение

Со времен iOS 2 разработчикам было предложено работать с NSOperation и NSOperationQueue для реализации асинхронных задач. Данная библиотека давала возможность выстраивать цепочку задач и исполнять их на абстрактных очередях, инкапсулирующих работу с потоками. 

В 2009 году Apple представила новую библиотеку - Grand Central Dispatch (GCD), которая также работала с очередями, но была легче в использовании, в связи с уходом от ООП концепции по работе с задачами. Их стало легче создавать, запускать, но стало сложнее выстраивать логику и взаимосвязь между ними.

Шли годы, никаких новых технологий по работе с многопоточность Apple не представляла, если не считать Combine, представленный в 2019 году. Однако в прошлом году Apple представила новую концепцию по работе с асинхронным кодом, которая обещает увеличить производительность, упростить написание кода и снизить порог входа новых разработчиков.

Недостатки Swift ниже 5.5

Прежде чем знакомиться с новой технологией давайте разберёмся с недостатками текущих решений. Начнем по порядку: 

1. Pyramid of doom

Источник: https://habr.com/ru/post/668018/


Интересные статьи

Интересные статьи

Заполнители типа (type placeholders) — это новая языковая фича, представленная в Swift 5.6 (Xcode 13.3).Сама концепция очень проста - вместо указания конкретного типа мы можем поставить _ (заполнитель...
Нельзя отрицать того, что лазерные технологии крепко укоренились в жизни человека. И речь идет не только о научных изысканиях или крупном производстве. Лазеры в той или иной форме присутствуют в б...
ВведениеВ большинстве современных протоколов блокчейна каждый участник цепи скачивает и проверяет каждую транзакцию. Это естественным образом ограничивает сверху количест...
Я на днях увидел опрос в твиттере, какой век был в 1900-м году, и несмотря на то, что и раньше сталкивался с этой нелогичной ситуацией — опять ответил неправильно. Как и большинство т...
Подходы к разработке за последние десять лет претерпели серьезные изменения, требования к тестировщикам (QA, QE, инженерам по качеству) тоже поменялись. Но не все тестировщики готовы перешагнуть ...