iOS 8 + Swift

Есть более новая версия этого курса «Developing iOS 9 Apps with Swift«, которая на этом сайте представлена на странице iOS 9 + Swift 2.2 + Swift 3

Swift 2  и iOS 9 адаптация

Screen Shot 2016-04-21 at 11.24.56 AM

 

Swift — новый язык программирования для создания приложений на iOS, объявленный на WWDC 2014. Официальный релиз его вышел осенью 2014 года, а уже в январе 2015 года на iTunes размещен новый курс  «Developing iOS 8 Apps with Swift»   стэнфордского университета  CS193P зима 2015 года.  Читает его все тот же  профессор Paul Hegarty.  Он высвечивает множество нюансов операционной системы iOS 8, которые не так -то легко обнаружить в документации, и снабжает вас приемами программирования, которые вы не найдете ни в одной книге ( может быть, на WWDC 2011 2012 2013 2014). Он многократно сократит ваш путь изучения программирования на iOS 8 и Swift.

Для того, чтобы воспользоваться этим контентом, вам нужно иметь только Mac — Macbook Pro, MacBook Air, iMac.

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

На этом сайте уже выложены неавторизованные русскоязычные конспекты следующих лекций:

Лекция 1 CS 193P Зима 2015 iOS 8 — Логистика курса, обзор iOS 8 (часть 1).

Лекция 1 CS 193P Зима 2015 iOS 8 — Логистика курса, обзор iOS 8 (часть 2).

Лекция 2 CS 193P Зима 2015  iOS 8 — Больше  Xcode и Swift, MVC  (часть 1).

Лекция 2 CS 193P Зима 2015 iOS 8 — Больше  Xcode и Swift, MVC  (часть 2).

Лекция 2 CS 193P Зима 2015 iOS 8 — Больше  Xcode и Swift, MVC  (часть 3 -Autolayout).

Дополнение к Лекция 2 — особенности кода Calculator в Swift 1.2 и Swift 2.0 или как не «застрять» на этом месте

Лекция 3 CS 193P iOS 8 Зима 2015  — Применяем MVC  (часть 1).

Лекция 3 CS 193P Зима 2015  iOS 8 — Применяем MVC  (часть 2).

Рекомендации изучающим курс cs193p iOS 8

Задание  1 cs193p Winter 2015 Калькулятор для Swift 1.2 и Swift 2.0 (с решениями).
 Код для Swift 1.2 iOS 8.4 на Github. Код для Swift 2.0 iOS 9 на Github.

Лекция 4 CS193P Зима 2015 iOS 8 — Больше Swift и Foundation Frameworks. (часть 1  Optional, Range, Инициализация) 

Лекция 4 CS193P Зима 2015 iOS 8 — Больше Swift и Foundation Frameworks. (часть 2. AnyObject,  as?, is, String.Index)

Задание 2 CS 193P Зима 2015 iOS 8  — Калькулятор  с «мозгами».

Лекция 5 CS193P Зима 2015  iOS 8 — Objective-C совместимость, Property List , Views

Лекция 6 CS193P Зима 2015 iOS 8 — Протоколы и делегирование, распознавание жестов

Лекция 7 CS193P Зима 2015 iOS 8 — Множественные MVC (Split View, Tab Bar, Navigation Controller и Popover)

Дополнение к Лекции 7: Изменение адаптивности Popover в iOS 8.3

Как создать NSNumberFormatter Singleton в Swift (1.2  и 1.1) —  дополнение к Заданию 2

Лекция 8 CS193P Зима 2015 — «Жизненный цикл» View Controller,  Автоматическая разметка (Autolayout)

Лекция 9 CS193P Winter 2015 — Scroll View  и Многопоточность (Multithreading)

Элегантный графический калькулятор без делегирования.

Лекция 10 CS193P Winter 2015 — Table View

Замыкания вместо делегирования в iOS 8 Swift

Лекция 11 CS193P Winter 2015 — Unwind Segues, Alerts, Timers, View Animation

В UICollectionView в iOS 9 теперь легко передвигать ячейки.

Лекция 12 CS193P Winter 2015 — Dynamic Animation

Лекция 13 CS193P Winter 2015 — Application Lifecycle («жизненный цикл приложения») и Core Motion

Лекция 14 CS193P Winter 2015 — Core Location  и MapKit

Лекция 15 CS193P Winter 2015 — Modal (и Popover) Segues

Лекция 16 CS193P Winter 2015 — Фотокамера, Постоянное хранение и Вставка Картинки в Картинку (Camera, Persistence and Embed Segues)

Лекция 17 CS193P Winter 2015 — Internationalization и Settings

Адаптивные SplitViewController и Popover для iOS 9. (Swift).

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

Задание 1 CS 193P Зима 2015   iOS 8 — Калькулятор  (с решениями) для Swift 1.2 и Swift 2.0. Код для Swift 1.2 iOS 8.4 на Github. Код для Swift 2.0 iOS 9 на Github.

Задание 2 CS 193P Зима 2015 iOS 8 — Калькулятор  с «мозгами». 

Задание 2. Решение — начало (обязательные пункты 1-4). Код для Swift 1.2 на Github. Код для Swift 2.0 iOS 9 на Github.

Задание 2. Решение — продолжение (обязательные пункты 5-8). Код для Swift 1.2 на Github. Код для Swift 2.0 iOS 9 на Github.

Задание 2. Решение — продолжение (обязательные пункты 9-12). Код для Swift 1.2 на Github. Код для Swift 2.0 iOS 9 на Github.

Задание 2. Решение —  Убираем лишние скобки (дополнительный пункт 1). Код для Swift 1.2 на Github. Код для Swift 2.0 iOS 9 на Github.

Задание 2. Решение —  Возвращаем enum Result (дополнительные пункты 2, 3). Код для Swift 1.2 на Github. Код для Swift 2.0 iOS 9 на Github.

Задание  3 cs193p Зима 2015 Графический Калькулятор

Задание 3 cs193p Зима 2015 Графический Калькулятор. Решение — обязательные пункты. Код для Swift 1.2 на Github. Код для Swift 2.0 iOS 9 на Github.

Задание 3 cs193p Зима 2015 Графический Калькулятор. Решение — дополнительные пункты 1, 2 и 3. Код для Swift 1.2 на Github. Код для Swift 2.0 iOS 9 на Github.

Задание 3. Решение — дополнительные пункты 4, 5 и 6. Окончание. Код для Swift 1.2 на Github. Код для Swift 2.0 iOS 9 на Github.

Элегантный графический калькулятор без делегирования. Код для Swift 1.2 находится на на Github. Код для Swift 2.0 находится на на Github.

Замыкания вместо делегирования в iOS 8 Swift Код для Swift 1.2 находится на Github. Код для Swift 2.0 находится на Github.

Задание  4 cs193p Winter 2015 Smashtag (Выборка данных из Twitter)

Задание 4. Решение — обязательные пункты 1- 4. Код для Swift 1.2 находится на Github. Код для Swift 2.0 находится на Github.

Задание 4. Решение — обязательные пункты 5- 10. Код для Swift 1.2 находится на Github.  Код для Swift 2.0 находится на Github.

Задание 4. Решение — дополнительные пункты 1- 5. Код для Swift 1.2 находится на Github.  Код для Swift 2.0 находится на Github.

Задание 4. Решение — дополнительный пункт 6. Код для Swift 1.2 находится на Github. Код для Swift 2.0 находится на Github.

Задание 4. Решение — UICollectionView с расположением ячеек типа  Pinterest. Код для Swift 1.2 находится на Githib. Код для Swift 2.0 находится на Github

В UICollectionView в iOS 9 теперь легко передвигать ячейки. Код для Swift 2.0 находится на Github.

Задание  5 cs193p Winter 2015 Анимация (игра Breakout)

Задание 5. Решение. Ощутите «магию» Swift на простейшей игре c Dynamic Animation (часть 1)

Задание 5. Решение. Ощутите «магию» Swift на простейшей игре c Dynamic Animation (часть 2)

В данном курсе 5 Домашних Заданий. Первое — очень легкое, нужно в основном повторить то, показывалось на лекции. Далее сложность заданий возрастает по экспоненте. Все эти задания желательно выполнять. Они, как правило, очень интересные, и вы, несомненно, получите от этого удовольствие.

Процесс выполнения заданий на Mac в  Xcode 7 — очень увлекательный: хорошая информационная поддержка, результат отображается на симуляторах iPhone и iPad  или на реальных устройствах, визуализация процесса отладки.

Самое интересное заключается в том, что из Xcode 7 вы можете запустить демонстрационные примеры на своем устройстве (или поделится с друзьями) совершенно бесплатно — для этого не нужно иметь сертификат разработчика Developer Account,  стоимостью 99 $/год. Начиная с Xcode 7 политика Apple по отношению к разработчикам изменилась. Они хотят привлекать к разработке приложений более молодых программистов.

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

iTunes U работает на Macs и iOS устройствах. На iPad в программе iTunes U все материалы размещаются в очень удобной форме для просмотра и чтения. Демонстрационные примеры с сайта Stanford нужны именно на Mac.

Адаптированные к iOS 9 варианты решений Заданий и  демонстрационные примеры доступны на Github.

ОБСУЖДЕНИЕ МАТЕРИАЛОВ курса «Разработка iOS приложений с Swift » проводится в Google Group Swift[ru]

iOS 8 + Swift: 7 комментариев

  1. Подскажите, пожалуйста, мой банк не подтверждает платеж. Живу в Украине. Есть еще какие-либо способы получить доступ к платным частям лекций? Спасибо!

  2. Ураа!! Этот момент настал!! Курс за 2015 год пройден!! Огромная благодарность, ваш труд мне в этом ОЧЕНЬ помог! 🙂

    • Нет, сейчас не имеет смысла проходить курс iOS 8 + Swift, так как это был самый первый курс по Swift, когда Swift имел версию 1.0. С тех пор изменилось очень многое, и со стороны профессора это был очень смелый шаг — взять только что созданный язык программирования и создавать реальные приложения.
      Единственное, что стоит посмотреть, по-моему это рекурсивный вполне полноценный Калькулятор в Заданиях 1, 2 и 3.

Добавить комментарий для Максим Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *