Перейти к содержимому
Теория · Итоговый проект · урок 5 из 5

Что дальше

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

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

Что вы теперь умеете

За курс вы научились:

  • писать и запускать программу и читать сообщения компилятора;
  • хранить значения в константах и переменных, считать, сравнивать, ветвить код и повторять его в циклах;
  • выносить код в функции, безопасно открывать опционалы, выбрасывать и ловить ошибки;
  • работать со строками, массивами, словарями и множествами и передавать замыкания в map, filter и reduce;
  • описывать свои типы перечислениями, структурами и классами, а общие умения — протоколами и обобщённым кодом;
  • объяснять, когда ARC освобождает объект, и разрывать цикл сильных ссылок через weak;
  • ждать долгую работу через async и await, не блокируя программу, запускать работы одновременно через async let и защищать общие данные актором.

Этого хватает, чтобы читать небольшие программы на Swift и разбирать примеры из документации Apple. Незнакомыми в них чаще окажутся имена из библиотек, чем сам язык.

Приложения: Xcode и SwiftUI

Курс учил сам язык, без экранов и кнопок. Об этом шла речь ещё в первом уроке. Приложения для iPhone, iPad и Mac пишут в Xcode. Вместо одного файла main.swift там проект из многих файлов, а экраны описывают на SwiftUI — библиотеке Apple для интерфейсов.

В SwiftUI вас встретят знакомые вещи:

  • экран и каждая его часть — структура, которая соответствует протоколу View;
  • что показать на экране, описывает вычисляемое свойство body этой структуры;
  • кнопка принимает замыкание — код, который выполнится при нажатии;
  • модель данных, вроде Expense, остаётся обычной структурой, а экран только показывает её.

Поэтому следующий шаг к приложениям — учебные материалы по SwiftUI: у Apple есть бесплатные пошаговые уроки. Язык вы уже знаете, осталось изучить библиотеку.

Здесь картинка с тетрадью заканчивается. Настоящее приложение учёта расходов хранит чеки между запусками и показывает их на экране. Для этого нужны уже не новые конструкции языка, а библиотеки: SwiftUI для экранов и другие библиотеки Apple для хранения данных.

Swift вне устройств Apple

Swift работает и в Linux, и в Windows. На нём пишут серверы — программы, которые отвечают на запросы сайтов и приложений. Для этого есть готовые библиотеки, самая известная из них — Vapor.

Ещё на Swift пишут программы для терминала, такие же, как примеры этого курса. Модель из итогового проекта подойдёт и там: перечисление, структура и функция parse не зависят от того, где запущена программа.

Собеседование

Если вы вошли на сайт и прошли все уроки, кнопка «Завершить курс» внизу этого урока откроет страницу завершения курса. На ней две кнопки:

  • «Пройти собеседование по Swift» открывает симулятор собеседований;
  • «Дорожная карта Swift» открывает дорожную карту со всеми темами Swift, в том числе теми, которых курс не касался: SwiftUI, UIKit, сеть и хранение данных.

Симулятор открывается и из меню сайта. В симуляторе есть тесты с вариантами ответа, как в этом курсе, и собеседование, где вы отвечаете своими словами, а ответ оценивает ИИ. Вопросы там и о темах курса, и о том, чего курс не касался.

Перед симулятором разомнитесь на вопросах, которые вы уже разбирали в уроках:

  • чем let отличается от var;
  • что такое опционал и чем опасен !;
  • чем структура отличается от класса;
  • чем отличаются map, filter и reduce;
  • что такое цикл сильных ссылок и как его разорвать через weak;
  • чем try? отличается от try! и от do/catch.

Попробуйте ответить на каждый вслух, как на настоящем собеседовании: коротко, с примером кода.

Главное

  • Курс научил языку Swift: значениям и типам, функциям, коллекциям, своим типам, ошибкам, памяти и асинхронному коду.
  • Приложения для iPhone и Mac пишут в Xcode, а экраны описывают на SwiftUI: структурами, которые соответствуют протоколу View.
  • Swift работает и на серверах, и в программах для Linux и Windows.
  • Следующий шаг — симулятор собеседований: он открывается кнопкой «Пройти собеседование по Swift» на странице завершения курса и из меню сайта.