Лекция 1. Начало работы со SwiftUI. Часть 2. CS193P Spring 2021.

Это продолжение Лекции 1. Начало работы со SwiftUI. CS193P Spring 2021.

Начало Лекции 1 можно посмотреть здесь.

Мы вернемся к синтаксису some View через секунду и поймем, что на самом деле это означает. Но сначала я хочу поговорить об этом небольшом фрагменте кода:

Что это такое? Это просто код, который следует сразу после переменной var body: some View. На самом деле это функция, и я сказал вам, что Swift — это язык функционального программирования, а в языках функционального программирования функции действительно очень важны.

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

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

Читать далее

Лекция 1. Начало работы со SwiftUI. Часть 1. CS193P Spring 2021.

Введение

Всем привет и добро пожаловать на курс CS193P Стэнфордского университета. Это курс о разработке приложений для таких устройств iOS, как iPhone и iPad, с использованием среды разработки под названием SwiftUI Это повтор курса, изначально предложенного моим студентам в весеннем семестре 2020 года. Меня зовут Пол Хэгарти. Я учил разработке приложений для iOS студентов Стэнфорда, конечно, в той или иной форме, около 10 лет, и я знаю, что вы приходите к этому изучению с очень разным бэкграундом, опытом программирования и разными ожиданиями того, что вы можете получить от этого курса. Так что на этот раз я решил сделать это небольшое вступление для студентов не из Стэнфорда, чтобы попытаться дать вам представление о том, чего ожидать от этого курса, прежде чем вы погрузитесь в него.  Этот семестр был очередным пандемическим семестром, предлагающим только удаленное обучение, так что вы получите этот курс точно в таком же виде, как мои стэнфордские студенты, на видео, и определенно в этом есть недостатки. Я люблю живые лекции, но на данный момент не могу этого делать, но есть некоторые преимущества и при просмотре лекций на видео. Например, у вас есть возможность сделать паузу и перемотать видео назад. Это отличная возможность, если у вас курс с таким техническим содержанием, как наш курс.

Конечно, у студентов Стэнфорда были супер интерактивные форумы этого курса и куча ассистентов профессора (ТА), готовых в любой момент им помочь, а вы будете этого лишены, но есть огромное множество действительно отличные ресурсов в Интернете. Есть очень яркое сообщество SwiftUI. И это не единственное место, где можно изучить программирование на iOS. Так что вам определенно следует найти все эти ресурсы и посмотреть эти видео, если вы уже этого не сделали. Этот курс проходит в своего рода «нарративном» формате, что хорошо работает для студентов, потому что они увязывают материал этого курса с другими своими курсами. Итак, мы работаем вместе, студенты и я. В процессе прохождения курса мы создадим пару прекрасных приложений, карточную игру и приложение для рисования. Я рассказываю лишь часть истории, когда я читаю Лекции и показываю демонстрационные примеры, а они участвуют в продолжении этой истории, когда делают свои домашние задания. Их домашние задания всегда строят на том, что я делаю на Лекции. Именно поэтому мы публикуем все описания домашних заданий и весь демонстрационный код на сайте cs193p.stanford.edu. Обязательно поищите их. Они абсолютно необходимы для получения максимальной отдачи от этого курса.

Курс CS193P — это не просто практический курс по программированию на iOS, но также курс о том, КАК работает сам SwiftUI. Как сконструирована система разработки SwiftUI очень важно для обучения наших CS (Computer Science — Информатика)  студентов, поэтому мы стараемся посвятить часть лекционного времени тому, КАК SwiftUI делает то, что он делает, а не только как повернуть в нем те или иные “ручки”, чтобы заставить его делать нужные нам вещи. Эти фрагменты о том, как устроен сам SwiftUI, будут “рассыпаны” по всем Лекциям.

Немного о предварительных требованиях к этому курсу. Студентам Стэнфорда рекомендовано взять хотя бы три, а на самом деле четыре вводных CS (Computer Science — Информатика) курса, так что они приходят на мой курс CS193P уже опытными программистами. В частности, одна из вещей, которую знают все студенты Стэнфорда, когда берут курс CS193P, это объектно-ориентированное программирование. Хотя на самом деле программирование с использованием SwiftUI не требует уж очень обширного применения объектно-ориентированное программирования, но концепции, которые вы изучаете в объектно-ориентированном программировании, такие, как экземпляры структур данных и инкапсуляция, действительно хорошие вещи, которые нужно знать, когда пытаешься понять, как работает SwiftUI. Кроме того, SwiftUI требует от вас изучения нового язык программирования под названием Swift. У стэнфордских студентов, которые берут курс CS193P, уже трижды или четырежды был опыт изучения нового языка программирования, так что для них изучение нового языка программирования не требует больших усилий. Но если для вас Swift будет вашим вторым языком программирования или вы — вообще начинающий программист и это ваш первый язык программирования, то вам понадобятся значительные дополнительные усилия, чтобы усвоить весь материал этого курса.

Из всего этого можно сделать вывод, что этот  курс не предназначен для начинающих программистов. Однако, если вы только начинаете программировать или вообще не являетесь программистом, то вам будет очень интересно посмотреть Лекции первых 2-х недель, чтобы составить представление о том, на что это похожа разработка приложения для iOS, потому что мы сразу приступаем к работе.

Студенты Стэнфорда отдельно не изучают язык программирования Swift, поэтому мы с самого начала не предполагаем, что они что-нибудь знают о Swift. Мы будем проходить его шаг за шагом и призываем студентов следовать за нами. Домашние задания действительно требует, чтобы вы следовали этим шагам. Независимо от вашего уровня и опыта программирования, вы должны повторять все то, что мы делали на Лекции,  по крайней мере, на первых нескольких Лекциях. 

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

Итак, поехали.

Читать далее

Стэнфордский курс CS193P iOS 14 + SwiftUI 2. Весна 2021 г.

Лекции курса CS193P Стэнфордского университета «Разработка приложений для iOS с использованием SwiftUI» для весеннего семестра 2021 года снова были прочитаны для студентов в режиме онлайн из-за новой вспышки коронавируса. Стэнфорд постепенно (по 2 Лекции в неделю) делает видео этих лекций доступными для всех, размещая их на своем канале YouTube.

Это не просто практический курс по программированию на iOS, но также курс о том, КАК сконструирована система разработки SwiftUI, что очень важно для обучения наших CS (Computer Science — Информатика) студентов, поэтому мы стараемся посвятить часть лекционного времени тому, КАК SwiftUI делает то, что он делает, а не только как повернуть в нем те или иные “ручки”, чтобы заставить его делать нужные нам вещи.

Учебная программа курса CS193P Spring 2021 в основном похожа на версию Spring 2020. Единственным исключением являются лекции 11 и 12 2020 года (приложение Enroute), которые содержат материалы, не охваченные в 2021 году. Поэтому, если вы находитесь в середине просмотра курса CS193P Spring 2020, то вы сможете переключиться прямо на середину версии 2021 года, когда она станет доступной.

Если вы уже просмотрели версию 2020 года полностью, просмотр видео 2021 года может иметь для вас определенную ценность, поскольку с 2020 года в SwiftUI было внесено довольно много улучшений.

Если вы новичок курса CS193P, вам определенно нужно будет посмотреть только видео 2021 года.

Читать далее