Swift. Основы разработки приложений под iOS

Swift. Основы разработки приложений под iOS
Автор: Василий Усов
Год: 2016
ISBN: 978-5-496-02256-9
Страниц: 304
Язык: Русский
Формат: PDF
Размер: 10 Мб

Download

Данная книга содержит исчерпывающую информацию для всех желающих научиться програм-мировать на языке Swift с целью создания собственных iOS-приложений (а также OS X-, watchOS- и tvOS-приложений). В ходе чтения книги вы встретите не только теоретические сведения, но и большое количество практических примеров и заданий, выполняя которые вы углубите свои знания в изучаемом материале. Несмотря на то что вам предстоит пройти большой путь, это будет полезный и очень важный опыт. Книга не показывает, как писать iOS-приложе-ния, она предназначена для изучения самого языка программирования Swift. Книга даст вам возможность освоить новый язык и в скором времени приступить к написанию собственных приложений для App Store или Mac App Store. Изучив язык, в дальнейшем вы сможете самостоя-тельно выбрать, для какой платформы создавать программы — для iOS, OS X, tvOS или watchOS.
Примеры кода в данной книге соответствуют Swift версии не ниже 2.1, iOS версии не ниже 9.1 и Xcode версии не ниже 7.1. Если у вас более новые версии, не беспокойтесь, весь описанный материал с большой долей вероятности будет без каких-либо ошибок работать и у вас.

+

Структура книги

Книга состоит из четырех больших частей:
‰Часть I. Знакомство с Xcode. В первой части вы начнете ваше путешествие в мир Swift, выполните самые важные и обязательные шаги, предшествующие началу разработки собственных приложений. Вы узнаете, как завести собственную учетную запись Apple ID, как подключиться к программе apple-разработчиков, где взять среду разработки Swift-приложений, как с ней работать.

Часть II. Базовые возможности Swift. После знакомства со средой разработки Xcode, позволяющей приступить к изучению языка программирования, вы изучите базовые возможности Swift. Вы узнаете, какой синтаксис имеет Swift, что такое переменные и константы, какие типы данных существуют и как всем этим пользоваться при разработке программ.

Часть III. Основные средства Swift. Третья часть фокусируется на рассмотрении и изучении наиболее простых, но очень интересных средств Swift. О некоторых из них (например, о кортежах) вы, возможно, никогда не слышали, другие (например, массивы) вы, вероятно, использовали и в других языках.

Часть IV. Нетривиальные возможности Swift. В четвертой части подробно описываются приемы работы с наиболее мощными и функциональными средствами Swift. Материал этой главы вы будете использовать с завидной регулярностью при создании собственных приложений в будущем.

Знакомство с Xcode

  • 1. Первые шаги
  • 2. Среда Xcode и Playground-проекты

В первой части вы узнаете о том, что необходимо для начала разработки приложений на языке Swift. Вы получите собственную учетную запись разработчика, познакомитесь со средой разработки приложений, называемой Xcode, и приобретете первые и самые важные навыки взаимодействия с ней.

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

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

Среда Xcode и playground-проекты

Введение в Xcode

Изучение программирования на языке Swift мы начнем со среды разработки Xcode.

Xcode — это IDE, то есть среда создания приложений для iOS и OS X. Xcode — это наиболее важный инструмент, который использует разработчик. Среда Xcode удивительна! Она предоставляет широкие возможности, и изучать их следует постепенно, исходя из поставленных и возникающих задач.

Именно с использованием этого интерфейса разрабатываются любые приложения для iOS и OS X. При изучении Swift вы будете взаимодействовать с иной рабочей областью — рабочим интерфейсом playground-проектов. О нем мы поговорим чуть позже.

Xcode распространяется на бесплатной основе. Это полифункциональное приложение без каких-либо ограничений в своей работе. В Xcode интегрированы пакет iOS SDK, редактор кода, редактор интерфейса, отладчик и многое другое. Также в него встроены симуляторы iPhone, iPad, Apple Watch и Apple TV. Это значит, что все создаваемые приложения вы сможете тестировать прямо в Xcode (без необходимости загрузки программ на реальные устройства).

Одним из потрясающих нововведений Xcode 7, помимо поддержки Swift, является появление playground-проектов. Playground-проект — это интерактивная среда разработки, своеобразная «песочница» или «игровая площадка», где вы можете комфортно тестировать создаваемый вами код и видеть результат его исполнения в режиме реального времени.

Базовые возможности Swift

  • 3. Отправная точка
  • 4. Типы данных и операции с ними

Swift — очень интересный язык. Если ранее вы работали с другими языками программирования, то в скором времени заметите их сходство с детищем Apple. Вы узнаете о базовых понятиях, которые предшествуют успешному программированию, и обучит основам синтаксиса и работы с различными фундаментальными механизмами, которые легли в основу всей системы разработки программ на языке Swift.

Как и многие другие языки, Swift активно использует переменные и константы для хранения значений, а для доступа к ним служат идентификаторы (имена) . Более того, Swift возвел функциональность переменных и констант в степень. Вы узнаете о многих потрясающих нововведениях, которые не встречались вам в других языках, но на отсутствие которых вы, возможно, сетовали.

Swift, как и любой другой язык программирования, выполняет свои функции с помощью команд, которые отдает (а точнее, пишет) разработчик. Завершенная команда языка Swift называется выражением. Файл с кодом обычно состоит из совокупности выражений, написанных на множестве строк. Примеры вы могли видеть на изображениях, демонстрирующих playground-проекты в Xcode.

Выражения в свою очередь состоят из операторов, модификаторов и других выражений. Оператор — это минимальная автономная единица (слово или группа слов), выполняющая определенную команду. Модификаторы — это функциональные единицы, расширяющие возможности операторов. Все зарезервированные языком программирования наборы символов называются ключевыми словами.

В Swift выделяют два важнейших понятия: объявление и инициализация.

  • ‰Объявление — это создание нового объекта, с которым планируется взаимодействие.
  • ‰Инициализация — это присвоение объявленному объекту определенного значения.

Основные средства Swift

  • 5. Кортежи
  • 6. Опциональные типы данных
  • 7. Утверждения
  • 8. Управление потоком . Ветвления
  • 9. Типы коллекций
  • 10. Управление потоком . Повторения
  • 11. Функции
  • 12. Замыкания

Конечно же, возможности языка Swift не заканчиваются рассмотренным в предыдущей части материалом. Это было лишь начало. Весь материал, который был изучен, подготовил вас к следующему шагу: изучению основных средств данного языка программирования.

Вы вновь познакомитесь с уже известными вам по другим языкам программирования конструкциям, а также изучите совершенно новые, порой просто поразительные средства Swift, которые разбудят в вас еще больший интерес!

Нетривиальные возможности Swift

  • 13. ООП как фундамент
  • 14. Перечисления
  • 15. Структуры
  • 16. Классы
  • 17. Свойства
  • 18. Сабскрипты
  • 19. Наследование
  • 20. Псевдонимы Any и AnyObject
  • 21. Инициализаторы и деинициализаторы
  • 22. Удаление экземпляров и ARC
  • 23. Опциональные цепочки
  • 24. Расширения
  • 25. Протоколы
  • 26. Нестандартные типы данных и получение справочной информации
  • 27. Универсальные шаблоны
  • 28. Обработка ошибок
  • 29. Нетривиальное использование операторов

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

И хотя ранее мы неоднократно обсуждали различные объекты, их свойства и методы, до сих пор мы не описывали, как эти объекты создаются и работают.

Так как Swift придерживается парадигмы «все — это объект», то любой параметр (переменная или константа) с определенным типом данных — это объект. Для реализации новых объектов вы уже изучили множество различных типов данных, но, как отмечалось ранее, Swift обладает функционалом создания собственных объектных типов. Для этого существует три механизма: перечисления (enum), структуры (struct) и классы (class). В чем разница между ними? Как их создавать и использовать? Данная часть рассказывает об этом. Мы обсудим, что такое объектные типы в общем и в чем разница между ними . Следующим шагом будет изучение механизмов, позволяющих расширить возможности объектных типов, включая протоколы, расширения, универсальные шаблоны, и т. д.

ООП как фундамент

Объектно-ориентированный стиль программирования является основой всей разработки программ на языке Swift. Мы уже неоднократно встречались с одним фундаментальным для данного языка правилом «всё — это объект». Пришло время приступить к изучению наиболее интересных и сложных механизмов, доступных в Swift. Данная глава расскажет вам о наиболее важных терминах и понятиях, которые помогут вам освоить весь последующий материал.

Возможно, вы изучали ООП в прошлом на уроках информатики в школе или в институте, а может, самостоятельно. В таком случае вы, конечно же, заучивали три постулата ООП: инкапсуляция, наследование и полиморфизм. В данной книге я не предлагаю их подробное изучение и заучивание, я предпочитаю практический подход. Да и принципы разработки на языке Swift во многом отличаются от таковых для языков Pascal, Visual Basic, Python, PHP и т. д.