Мы практически завершили изучение материалов первого курса. Осталось лишь выполнить курсовое задание, после которого вы станете еще на один шаг ближе к мобильной разработке. Подведем итоги того, чему мы научились за это время. Нам удалось познакомиться со средой разработки: xCode и Playground, который облегчает написание кода с целью обучения или тестирования. Вы узнали, что привело к созданию языка Swift и почему он приходит на смену Objective-C. Возможно, на данный момент вам понятны не все преимущества Swift, но чем больше вы будете писать код, тем лучше вы это будете осознавать и тем приятней и быстрее у вас это будет получаться. Мы познакомились с основными блоками, из которых строятся приложения, классы, структуры, перечисления. Теперь вы знаете, в чем разница между значимыми и ссылочными типами, что такое жизненный цикл объект и в каких случаях какой тип лучше использовать. Мы научились создавать собственные типы и наполнять их функционалом с помощью методов, замыканий, функций, всевозможных свойств переменных и констант. Вы узнали о различных способах управления кодом внутри приложения и о том, какие для этого используются выражения, в чем их разница, в чем преимущество одних над другими. Небольшая часть курса была посвящена работе с памятью — это была лишь вводная лекция. Далее мы углубимся в изучение этого материала, но у вас уже есть понимание того, что делать во избежание проблем с захватом объектов, которые никогда не удаляются из памяти. Протоколы — то, на чем строится большая часть работа со Swift. И коллекции являются тому подтверждением. Мы узнали, как устроены коллекции внутри, теперь мы умеем не только создавать собственные, но и проводить с ними различными манипуляции для их трансформации и итерации по ним. Организация кода внутри приложения также очень важна. В дальнейшем это пригодится вам не раз при взаимодействии с другими разработчиками. С каждым курсом этот навык будет расти, и вы сможете писать красивый код, который будет не только работать быстро и правильно, но и приносить эстетическое удовольствие. Строгая типизация в Swift могла напугать вас, если ранее вы разрабатывали приложения на Objective-C. Но создатели языка постарались максимально упросить этот процесс, и теперь при написании приложения вы делаете гораздо меньше ошибок, которые ранее могли быть выявлены только на этапе выполнения программы. И снова в этом нам помогают протоколы и Optional-типы. Дженерики позволили нам во время обучения на курсе создавать универсальный методы и функции, которые могут поддерживать различные типы, и все это, как видели, реализуется достаточно просто. Также были лекции, посвященные работе с атрибутами и созданию операторов. Скорее всего, при повседневной разработке Эти знания будут востребованы на так часто, как остальные. Однако более глубокое понимание процессов поставляет расставить вам знания по полочкам и воспринимать работу с языком на новом уровне: лучше понимаете, допускаете меньше ошибок, пишите код с более высокой скоростью. Если у вас остались вопросы или хотите закрыть какие-то пробелы в знаниях, ждем вас на форуме для обсуждения. Успехов в обучении!