с чего начать изучение swift
Осваиваем Swift за 30 дней: опыт разработчика
Подборка курсов, сайтов и рассылок, которые помогут освоить Swift в течение месяца.
Я начал изучать Swift ровно 30 дней назад. Три дня назад моё приложение было утверждено Apple для бета-тестирования. Понятно, что бета ещё далеко не идеал, но для меня это было большим достижением.
У меня нет ни степени в области компьютерных наук, ни опыта работы разработчиком, но последние 5 лет я был продакт-менеджером в команде разработки ПО и писал Ruby on Rails приложения ради забавы. Мне хотелось быть более близким к тем вещам, с которыми я работаю, поэтому я начал кодить.
Почему я выбрал iOS и Swift?
Постоянный рост популярности мобильных приложений
Я хотел работать над тем, что нужно людям, и мне всегда нравилась близость со смартфонами у пользователей. Наши устройства знают о нас всё: когда мы просыпаемся и когда ложимся спать, где мы и как мы туда попали, наше расписание, наше отношение к друзьям и семье и многое другое, о чём не знает даже сам пользователь. Мне это нравится. А ещё, я уже давно являюсь поклонником Apple, так что это было естественно начать именно с iOS. Некоторое время я разбирался с Objective-C, мне не понравилось, и я решил изучать Swift.
Ограничения играют на пользу
Разработка приложений в рамках, заданных Apple, вполне доступна новичку и не сильно ограничивает возможности. Зато у меня не было соблазна отвлекаться на что-либо другое и вынуждало меня больше думать о UX.
Swift — быстроразвивающийся язык.
Мне нравится находиться у истоков, вместе расти и развиваться, по этой причине я предпочитаю работать в стартапах. Так и тут, Swift ещё не настолько популярен, и мне нравится быть вместе с сообществом единомышленников.
Ресурсы для начинающих
Когда я начал изучение, у меня была идея простенького приложения. Это помогло мне сохранить мотивацию и шаг за шагом изучать основы.
Я потратил кучу времени в поиске хороших ресурсов, инструкций и онлайн-курсов. Я нашёл много крутых вещей для начинающих, для тех, кто не видел ни строчки кода, и решил, что это будет слишком медленно. В то же время технические статьи и справочные материалы (в том числе от Apple) оказались рассчитаны на более опытных разработчиков.
В конце концов я нашёл золотую середину, ниже приведены материалы, которые я счёл наиболее полезными:
1. Стэнфордский курс Пола Хегарти «Разработка Swift приложений для iOS 8».
Доступно бесплатно в iTunes U (в том числе на Windows). На просмотр первых пяти лекций и выполнение домашнего задания у меня ушло около недели. В процессе обучения я столкнулся с трудностями, и мне пришлось перейти к другим ресурсам. Тем не менее скоро я планирую продолжить обучение. А этот сайт поможет вам разобраться с тем, что вы не понимаете.
2. Курс от ВШЭ «Разработка iOS-приложений на языке Swift».
Курс основан на книге «Swift: Programming Language». Для обучения потребуется опыт разработки на любом языке программирования (хотя бы на уровне основ). В целом курс даёт хорошую подготовку для начала работы над своими приложениями.
3. RayWenderlich.com
Нет, это не чей-то персональный сайт. Это лучшее, что я когда-либо находил. Если вы только начинаете, советую подписаться на рассылку и воспользоваться учебником, размещённым на сайте. Благодаря ему я впервые узнал о странных вещах и нашёл, как с ними справляться. После прочтения приступайте к поиску идей. Если не получается — погуглите.
Мой тайм-план
Неделя 1. Я погрузился в лекции и задания Стэнфордского курса, параллельно читая книгу, на основе которой был создан курс ВШЭ, и изучая ресурсы RayWenderlich.com. В конце первой недели я решил, что готов к старту работы над приложением.
Недели 2 и 3. В это время я отправился в небольшое путешествие, в пути у меня не было доступа к интернету, и я заранее загрузил более 40 вкладок. Это дало мне возможность работать над приложением, не отвлекаясь. Каждой день я думал о том, как сделать его лучше.
Неделя 4. Я продолжал зачистку ненужного кода, рисовал логотип в Sketch и готовил приложение к отправке Apple на рассмотрение. Я получил ответ меньше, чем через сутки.
Я провел 15 часов, работая в Xcode, 3 часа в iOS эмуляторе, больше 4 часов ушло на чтение учебников и около часа на поиск ответов на Stack Overflow. Ещё кучу времени я был занят изучением материалов с помощью смартфона (это время я не считал).
На что стоит подписаться
Думаю, этого достаточно новичкам. Если вы знаете полезные ресурсы, поделитесь ими в комментариях.
Наконец, моё приложение — RoundTrip
Для тех, кто пользуется общественным транспортом (оптимизировано для Нью-Йорка) и желает оптимизировать расходы.
Swift Часть 1: Быстрый старт
Swift Часть 1: Быстрый старт
Эта статья будет полезна как новичкам, так и опытным программистам. Если вы новичок, то Swift отлично подходит на роль первого ЯП, а если вы гуру, то никогда не бывает лишним закрепить свои знания. Здесь каждый найдет для себя, что-то полезное.
Хотя этот туториал и не займет много времени, в нем вы познакомитесь со всем самым необходимым: переменными, управлением потока, классами, лучшими практиками и многим другим. Также, в конце обучения, мы попробуем написать наше первое (а для кого-то нет) приложение.
Для того чтобы благополучно пройти этот туториал, вам понадобится версия Xcode не ниже 6.1.1 (версия Xcode на время написания статьи).
Привет, Playground!
При запуске Xcode 6 мы увидим вот что:
Нажимаем на Get started with playground, даем свое имя и жмем Далее (вариант выбора платформы на данном этапе нас не интересует). Сохраняем наш playground в удобном для вас месте и приступаем.
Мы создали новый тип Playground файла, который позволяет нам тестировать Swift-код и моментально видеть результат. К примеру, попробуйте добавить следующие строчки кода в ваш Playground:
Спорим, что как только вы написали эти три строчки, вы сразу увидели результат работы в правой части? Это очень удобно, не так ли?
Заметка
Перенесите файл SwiftPlaygorund.playground на панель быстрого запуска. Таким образом, вы всегда сможете быстро его открыть для тестирования вашего кода на Swift.
Переменные и константы в Swift
Попробуйте добавить следующую строку в конец вашего кода в Playground:
Явная и неявная типизация
Таким образом мы не указываем явно типы для этих констант и переменных, потому что компилятор имеет достаточно информации для того, чтобы эти типы вывести автоматически.
Вообще, вы можете указать тип явно, если хотите. Попробуйте заменить строку объявления tutorialTeam на следующую:
Мы выяснили, что в данном случае лучшей практикой для нас будет указывать тип переменной лишь при необходимости, поэтому, удаляем Int :
Базовые типы и управление потоком в Swift
Float и Double
Давайте попробуем вставить еще пару строк в конец нашей игровой площадки и познакомимся с базовыми типами Float и Double :
Есть два типа для работы с числами с плавающей точкой: Float и Double :
Вписываем себе пример констант логического типа Bool :
String
Подобрались к строковым значениям:
Обратите внимание, что больше мы не используем символ @ как в Objective-C.
Конструкции If и интерполяция строк
Условное выражение выглядит очень похоже на любой другой язык. Круглые скобки вокруг условия опциональны, а вот фигурные скобки обязательны даже в тех случаях, когда вам нужно исполнить всего одну строку кода!
Вы можете наблюдать работу функции print() в боковой панели, но это может быть проблематично, если ваша строка длинная. Для того, чтобы увидеть результат полностью вам нужно нажать на пиктограмму глаза, в правой части playground’а, который появится при наведении на строку результата:
Есть и другой способ посмотреть длинное значение выражения. Вам нужно пройти в главное меню Xcode (то, что наверху) View\Assistant Editor\Show Assistant Editor.
Assistant Editor покажет вам результат работы функции print() без наведения на строку результата, что согласитесь, само по себе проще. Если вы что-то не поняли, то можете скачать наш файл playground’а со всем кодом что был написан выше.
Классы и Методы
Далее, мы создадим класс, который поможет нам, допустим, посчитать количество чаевых, которые мы должны оставить в ресторане.
Если вы создаете субкласс, то после имени субкласса, вам нужно поставить двоеточие и имя суперкласса. В отличии от Objective-C в Swift вам не нужно постоянно писать суперкласс NSObject или что-то другое. Добавьте в фигурные скобки следующее:
После того, как вы добавите этот код, вы получите несколько ошибок, не переживайте, мы скоро их исправим.
Обратите внимание, что вы обязаны указывать начальное значение для свойств при их объявлении, также, вы можете указать их в инициализаторе. Но мы не сделали ни того, ни другого, поэтому получаем ошибки. Если нет желания указывать начальное или исходное значение, то необходимо объявить свойства как опционалы, но это совсем другая история, то есть туториал.
Теперь добавьте следующий блок в фигурные скобки:
Тут мы создали инициализатор для класса, который принимает два параметра. Инициализатор всегда называется ключевым словом init в Swift. Вы можете создать несколько инициализаторов, если вам так угодно, вот только они должны принимать разные параметры.
Теперь, у нас нет никакого конфликта имен для свойства subtotal, так что нам больше не нужно добавлять self, потому что компилятор уже автоматически выводит его, когда это нужно. Для тех, кому не все равно откуда взялось subtotal = total / ( taxPct + 1) поясним:
Теперь, добавьте следующий блок кода в фигурные скобки (после предыдущего в фигурных скобках):
Эта функция определяет размер налога, путем перемножения процента на общую сумму.
Теперь, добавляем следующий блок и снова в самый конец фигурных скобок:
Вот этот блок, когда представляет из себя новый метод, который выводит на экран три возможных варианта чаевых. Когда вы вызываете метод класса, то первый параметр необязательно должен иметь имя, но остальные должны.
Теперь, давайте добавим последний кусок кода в самый конец, после фигурных скобок:
Наконец-то, мы создали подобие калькулятора для чаевых Вот, что в итоге у нас должно было получиться в нашей «игровой площадке»:
Проверьте ваш Assistant Editor на наличие результата:
Массивы и цикл For
В данный момент у нас есть некоторое дублирование кода, потому что мы вызываем метод calcTipWithTipPct несколько раз, с различным процентом чаевых. Вы можете уменьшить дублирование кода, используя массив.
Замените содержимое printPossibleTips вот это:
Теперь, добавим эти строки ниже:
Вы можете написать альтернативный вариант вот в такой форме:
Словари
Давайте сделаем еще одно небольшое изменение в нашем чудо-калькуляторе чаевых. Вместо того, чтобы просто выводить значение чаевых, мы вернем словарь значений. Такой подход позволит упростить отображение результатов в некоторых интерфейсах.
Удаляем метод printPossibleTips и вместо него пишем:
Вылезла ошибка, но не бойтесь, она поправима. Начнем сверху нашего кода и пройдемся от секции к секции:
Наконец, осталось изменить последнюю строку нашей игровой площадки. Собственно, именно она и исправит ошибку.
После того как произойдут некоторые вычисления, вы увидите в инспекторе результат в виде словаря (нажмите на глаз для расширенного вида):
Примите наши поздравления! Вы сделали свой первый калькулятор чаевых на Swift! Конечный вариант нашего playground.
Что делать дальше? Продолжайте читать туториалы и перевод книги по Swift. Надеемся, данная статья была для вас полезной. До встречи в следующем уроке!
Как научиться программировать на Swift: полное руководство
Вы заинтересованы в создании собственного приложения для iOS или Mac? Если это так, вам нужно будет изучить один язык программирования: Swift.
В этом руководстве вы узнаете, как лучше всего изучить Swift в Интернете. Кроме того, он даст вам набор советов, которые помогут вам, когда вы начнёте свой путь к изучению программирования на Swift.
Что такое Swift?
Swift — это язык программирования, который позволяет создавать приложения для Mac, iPhone, Apple Watch и iPad. Swift был выпущен Apple в 2014 году.
Swift стоит за большинством основных приложений, которые вы будете использовать на устройствах Apple. Spotify, Instagram и YouTube — это те, которые используют Swift для поддержки своих приложений iOS.
Почему вы должны изучать Swift?
Swift легко освоить
Язык программирования Swift был создан, чтобы быть эффективным и простым в использовании.
Swift использует простой и выразительный синтаксис, который легко понять, даже если у вас нет опыта программирования. Фактически, по словам Apple, Swift был разработан как первый язык программирования, который должен выучить каждый.
Swift-разработчики пользуются большим спросом
По данным Apple, компания создала 2 000 000 рабочих мест во всех 50 штатах США. 1 530 000 из них, по оценкам, относятся к экосистеме App Store. Это означает, что рабочие места были созданы в результате того, что компании нанимают разработчиков для создания приложений для устройств Apple.
С точки зрения рынка труда Swift-разработчиков перспективы многообещающие. По данным Glassdoor, в США существует более 3400 открытых вакансий в сфере разработки для iOS. Эти вакансии составляют лишь часть работ по разработке мобильных приложений.
Это демонстрирует, что Swift — это действительно востребованный навык, который активно ищут многие работодатели.
Swift — это будущее iOS
Swift, возможно, был выпущен только в 2014 году, но с момента его запуска он стал одним из самых популярных языков программирования в мире.
Согласно индексу TIOBE, Swift занимает 12-е место по популярности среди языков программирования. Индекс TIOBE Index отслеживает популярность ведущих языков программирования с использованием поискового трафика.
Для чего используется Swift?
Swift — это язык программирования, используемый для разработки приложений для устройств Apple, таких как iPhone и Apple Watch. Это современная замена языков на основе C, которые ранее использовались для разработки Apple.
Многие из приложений, которые вы видите сегодня в Apple App Store, были написаны на Swift. Фактически, большинство приложений для устройств Apple сегодня написаны на Swift, за исключением устаревших. Это потому, что Swift — рекомендуемый язык для разработки Apple.
Сложно ли учиться Swift?
Swift — несложный язык программирования для изучения, если вы потратите правильное количество времени. Многие программисты считают, что начать работу со Swift легко из-за его синтаксиса и ресурсов для начинающих.
Действительно, у Apple есть подробные руководства по программированию на Swift на своём веб-сайте и на сайте документации Swift. Эти уроки дадут вам все знания, необходимые для начала работы со Swift. Так что найти ресурсы — не проблема.
Swift использует ясный и выразительный синтаксис. Создатели языка хотели, чтобы Swift было легко читать и писать. В результате Swift — отличная отправная точка, если вы хотите научиться программировать. У вас не должно возникнуть проблем с чтением кода Swift, когда вы освоите основы.
Сколько времени нужно, чтобы изучить Swift?
На освоение базового понимания Swift уходит от одного до двух месяцев, если вы посвящаете изучению около часа в день. Если вы изучаете неполный или полный рабочий день, вы можете изучить основы Swift за более короткий период времени.
Вы можете довольно быстро приступить к работе над своим первым приложением со Swift благодаря всем подробным учебникам. Чтобы начать создавать приложения самостоятельно, вам понадобится несколько месяцев практики.
Если вы хотите стать профессиональным разработчиком устройств iOS или Apple, у вас впереди более длинный путь. Вам понадобится как минимум шесть месяцев, а может быть, даже год, чтобы освоить навыки, необходимые для того, чтобы стать профессиональным разработчиком Swift.
Как и в случае с любым языком программирования, ваше обучение никогда не закончится. Swift всё ещё обновляется, и существует так много фреймворков, что у вас никогда не закончится материал для изучения. Сколько времени вам понадобится на изучение Swift, зависит от того, сколько времени вы потратили и насколько вы готовы выучить язык.
Как научиться программировать на Swift
Но как на самом деле научиться программировать на Swift? Чтобы ответить на этот вопрос, мы собираемся обсудить две вещи, которые вам нужно знать. Мы поговорим об основных навыках, которые нужны разработчикам Swift, и о том, как вы можете получить эти навыки.
Развитие ваших навыков
Прежде чем продолжить карьеру разработчика Swift, вам сначала необходимо овладеть основами языка программирования Swift. Хотя Swift является относительно современным языком, уже существует ряд отличных учебных ресурсов, которые помогут новичкам выучить его.
Чтобы начать своё путешествие, вам следует сосредоточиться на изучении основ. Но прежде чем вы это сделаете, вам следует загрузить Xcode, приложение Apple для создания программного обеспечения. Вам следует взглянуть на документацию Apple Swift. Эта документация включает в себя широкий спектр руководств, которые могут быть полезны при начале знакомства со Swift.
Давайте разберём основные темы, которые вам следует изучить, когда вы начнёте работать со Swift.
Синтаксис и переменные
Первый шаг к изучению любого языка программирования — это узнать, как он работает и какие правила управляют этим языком. Вот тут-то и пригодится синтаксис.
Затем, когда вы изучите базовый синтаксис Swift, вы можете приступить к изучению переменных. Переменные используются для хранения данных в программе. Вот основные темы, которые вам следует изучить, когда речь идёт о синтаксисе и переменных:
Условные выражения и циклы
Условные выражения позволяют кодировщикам запускать блок кода только в том случае, если и когда выполняется определённое условие или набор условий. Это позволяет им контролировать работу своей программы в различных настройках. С другой стороны, циклы позволяют выполнять повторяющиеся задачи несколько раз.
Вот основные темы, которые вам следует изучить, когда дело касается условных выражений и циклов:
Массивы и словари
Массив — это тип данных, который позволяет хранить в программе список значений. Словарь — это тип данных, который позволяет хранить список меток вместе со списком значений. Данные хранятся в парах ключ-значение.
Когда вы работаете в Swift, важно, чтобы вы могли использовать эти типы данных. Вот основные темы, которые вам следует изучить:
Функции
Функции — это блоки кода, которые выполняют определённую задачу в программе. Например, функция может сложить два числа в программе или предложить пользователю войти в мобильное приложение. Вот основные темы, которые вам следует изучить, связанные с функциями:
Классы и структуры
Swift — это объектно-ориентированный язык программирования, что означает, что он использует классы для определения структуры данных в программе. Цель классов — сделать код более читаемым и уменьшить повторение. Кроме того, Swift также использует структуры, позволяющие разработчикам создавать свои типы данных.
Вот основные темы, которые вам следует изучить, когда речь идёт о классах и структурах:
Эти темы составляют основы языка программирования Swift. Существуют такие фреймворки, как SwiftUI, которые позволяют создавать более подробные пользовательские интерфейсы. Ни один из этих фреймворков не станет недоступным после того, как вы изучите основы Swift.
Ресурсы для изучения Swift Free
Существует огромное сообщество ресурсов, которые могут помочь вам изучить Swift. Но какие ресурсы стоят вашего времени? Отличный вопрос.
Ответ на этот вопрос зависит от вашего стиля обучения. Вы предпочитаете практические видеоуроки или любите читать руководства? Вам нравится среда, основанная на наставничестве, или вы предпочитаете учиться в своём темпе?
Прежде чем вы начнёте искать ресурсы, вы должны подумать о том, как вам лучше всего учиться. Попробуйте найти ресурсы, соответствующие вашему подходу к обучению.
Игровые площадки Apple Swift
Apple также разработала приложение под названием Swift Playgrounds, в котором используется интерактивный подход к обучению программированию на Swift. Это приложение позволяет вам решить ряд основных задач, чтобы познакомиться с основами Swift.
Ресурсы для разработчиков Apple
Неважно, новичок ли вы в программировании или только что знаком с Swift, Apple поможет вам. На веб-сайте Apple Developer вы найдёте множество ресурсов, которые помогут вам освоить основы Swift.
Кроме того, Apple опубликовала ряд отличных бесплатных книг и курсов, которые вы можете использовать. Они включают:
Учиться на практике
Следуя инструкциям и онлайн-видео, вы можете только уйти. После того, как вы освоите основы Swift, вашим следующим шагом должно стать начало работы над проектом.
Какие проблемы у вас есть в настоящее время, которые вы хотите решить? Вам нравится пробовать разные вкусы чая, и вам нужно место для хранения заметок? Или вам нужно место, где можно отслеживать ваш прогресс в выработке привычек?
По мере того, как вы узнаёте о новых концепциях программирования, вам следует попытаться работать над проектом, который действительно использует эти навыки. Это поможет вам закрепить теорию, которую вы изучили в классе, и развить более глубокое владение Swift.
Вы всё ещё не знаете, что бы вы могли построить? Вот несколько, которые могут вам помочь:
В качестве альтернативы вы можете спросить своих друзей: «Если бы вы могли создать приложение, чтобы это было?» а затем попробуйте построить это.
Присоединяйтесь к сообществу разработчиков
Изучение программирования может оказаться трудным путешествием в одиночку. Есть так много возможностей для неудач. Работая в одиночку, действительно легко бросить курить, когда наступают тяжёлые времена, и вы не можете решить проблему.
Как только вы начнёте изучать Swift, вам следует попробовать присоединиться к сообществу разработчиков. Эти сообщества объединяют разработчиков всех мастей и дают им возможность обмениваться идеями, помогать друг другу и сотрудничать в проектах.
Для таких начинающих Swift-разработчиков, как вы, стоит изучить следующие сообщества:
Когда вы присоединяетесь к сообществу разработчиков, вам следует потратить некоторое время на анализ того, как оно работает. Попробуйте пойти по стопам уже существующих участников. Вносите столько, сколько можете, и, если вы видите возможность сделать это, добровольно помогайте другим людям.
Лучший способ научиться Swift бесплатно
Нет лучшего способа стать профессиональным программистом, чем практика. Фактически, чем больше вы практикуетесь, тем лучше (что является общим правилом для изучения любого нового навыка).
По мере того, как вы практикуете свои навыки, вы ближе познакомитесь с синтаксисом Swift и передовыми методами. Вы столкнётесь с ошибками в своей работе, а затем придумаете, как их исправить. Это позволит вам создать в уме огромное хранилище знаний, что упростит программирование в процессе.
Чем больше вы сможете практиковаться, тем лучше. В начале своего пути вы должны стараться посвящать хотя бы пару часов в неделю изучению Swift. Или, если вы привержены изучению Swift сейчас, вы можете даже пытаться писать код каждый день. Как только вы выработаете хорошую привычку, вы встанете на верную траекторию к тому, чтобы быстро научиться программировать на Swift.
Практические советы по изучению быстрого программирования
Вот несколько советов о том, как можно практиковать свои навыки Swift:
Независимо от того, как вы хотите практиковать, принцип один — просто продолжайте кодировать. Затем, когда вы оглянетесь на этот день через год, вы будете поражены тем, как далеко вы продвинулись.
Заключение
Язык программирования Swift, хотя и новее таких технологий, как Objective-C, заслуживает изучения. Знание того, как кодировать на Swift, даёт вам навыки, необходимые для создания мобильных приложений, приложений Mac и приложений для других устройств Apple.
Поскольку Swift является такой важной технологией, используемой для разработки приложений, многие компании активно ищут квалифицированных разработчиков Swift. По мере того, как мобильная связь становится всё более популярной, появятся новые возможности для карьерного роста.
Подводя итог, вот пять основных шагов, которые вы должны выполнить, чтобы быстро изучить Swift: