Swift - относительно новый язык программирования, с помощью которого можно создавать приложения для операционных систем Apple.
Вы будете использовать этот язык вместе с iOS: так создаются все современные мобильные приложения.
Раньше основным языком был Objective-C, но ему на смену пришел Swift - более понятный и легкий в изучении.
Если вы не знаете Swift - можете сначала изучить его в этом курсе, затем возвращайтесь для изучения iOS.
Можно иметь хороший пассивный доход, создавая любые приложения и продавая их через AppStore. Либо делать приложения на заказ для крупных компаний.
Сейчас не так много хороших iOS разработчиков, поэтому у них пока большие зарплаты. Рынок еще не перенасытился - можно успеть попаcть в "поток".
Многие идут в мобильные разработчики, когда видят, что простые приложения с хорошей идеей могут приносить большой доход на автопилоте.
Например, автор игры Flappy Bird, который зарабатывал в день по 50000 $. Из-за чего ему пришлось закрыть доступ к игре (по некоторым отзывам, не смог справиться с давлением). Можно почитать интересное интервью с разработчиком.
Я хочу разрабатывать приложения для iOS, что для этого нужно уметь?
1
Сначала нужно научиться разрабатывать на языке Swift без привязки к iOS. Чтобы затем вы не отвлекаться на его синтаксис и пр. Это можно пройти в курсе "Разработка на Swift"
2
После того, как выучили Swift - можно начинать изучать архитектуру iOS и особенности разработки мобильных приложений. Если у вас уже есть опыт Java и Android - вы намного быстрее научитесь создавать iOS приложения - данный курс выполняет этот шаг.
3
Когда поймете основы Swift и iOS - можно уже переходить к профессиональным вещам: веб сервисы, параллельные вычисления, кастомные компоненты, анимация и многое другое.
Сначала Swift, потом iOS
Ошибка многих новичков в том, что они прыгают сразу во 2-й или 3-й пункт, без изучения первых двух.
В итоге в голове получается каша. Чтобы начать погружение в iOS - вы должно хорошо владеть Swift и не отвлекаться на его синтаксис или принципы работы.
Также, как в Android - без фундаментальных знаний Java (Kotlin) вы не сможете разрабатывать Android приложения.
Поэтому я рекомендую идти последовательно и не торопясь - начинать раскладывать знания по полочкам и изучать по принципу "от простого к сложному".
Программирование не любит спешки.
Минимальные требования для изучения iOS
С полного нуля начать изучение iOS с этого курса будет сложновато. Потому что у вас должен быть фундамент:
- Swift (синтаксис, коллекции, типы данных, замыкания и пр.)
- ООП (наследование, полиморфизм, абстракция, протоколы и пр.)
- Опыт работы в XCode
Если у вас нет этих знаний - сначала пройдите этот курс, затем возвращайтесь обратно сюда.
Если пытаться одновременно изучать Swift и iOS - ничего хорошего обычно не выходит, слишком много новой информации, в голове получается каша.
Сейчас очень мало актуальных статей на русском языке, где вы могли бы получить практику Swift + iOS
Конечно, если вы знаете технический английский язык, вам будет полегче. Но все равно, намного понятней, когда новые темы понимаешь сначала на русском языке, а потом можно дополнительно смотреть на английском, когда уже знаешь суть темы.
Поэтому одной из целей было создание обучающего материала полностью на русском языке, чтобы было понятно всем.
Данный курс - не обычный перевод официальной документации, которым занимаются многие компании и разработчики. А полноценный курс, созданный с нуля и с правильно последовательностью тем.
Что если просто почитать документацию?
Изучить iOS по документации могут немногие. Тем более, если вы новичок - вы просто запутаетесь что за чем читать. К тому же, лучше закреплять это сразу на практике (когда просто читаешь документацию - забываешь 80% информации)
Поэтому вам нужно больше практики - создавать как можно больше качественных приложений, чтобы потом выходить на рынок iOS.
Основные темы курса
* Количество уроков: 80 (13 часов), объем ~ 4 Гб
Процесс обучения построен по принципу "от простому к сложному". Чтобы последовательно "наслаивать" знания друг на друга.
Каждый урок постепенно будет добавлять новый функционал. Чем дальше будете идти - тем сложнее будут темы и задания.
В конце у вас получится готовый проект, который будет иметь UI интерфейс и взаимодействовать с пользователем.
Все темы подобраны в строгой последовательности, от простого к сложному.
Список тем курса
(в каждой теме может быть от 1 до 5 видеоуроков, поэтому не путайте понятия "тема" и "урок")
29 мин
(доступен для просмотра)
Разделение приложения на уровни по принципу MVC. Добавление нужных протоколов для доступа к данными с реализацией.
9 мин
(доступен для просмотра)
Описание объекта-менеджера, который управляет стеком контроллеров, автоматически добавляет компоненты навигации.
15 мин
(доступен для просмотра)
Связывание нескольких окон между собой в storyboard. Добавление навигации, связей.
16 мин
(доступен для просмотра)
Добавление таблицы вместе с другими компонентами на форму. Прием, который пригодится в любом iOS приложении.
12 мин
(доступен для просмотра)
Передача данных из одной Scene в другую. Обработка действий пользователя и возврат результата.
33 мин
35 мин
Сохранение данных задачи в БД, отображение изменений в общем списке, обработка действий пользователя для кнопок навигации.
27 мин
24 мин
Работа со списком, выделение выбранного значения, применение и отображение значения для задачи. Передача результатов действий в другой контроллер.
18 мин
13 мин
Повышение юзабилити приложения за счет увеличения площади нажатия мелких кнопок.
12 мин
Удаление задачи из БД и из общего списка задач.
21 мин
Работа с большим текстовым полем для добавление любой информации к задаче (ссылки, адреса и пр.).
12 мин
Подтверждение действий с помощью диалоговых окон (удаление, завешение).
23 мин
Завершение задачи из списка. Такую задачу можно затем либо удалить, либо вернуть обратно в работу.
21 мин
Создание новой задачи с возможностью заполнения всех данных, отображение новой задаче в общем списке.
30 мин
Добавление задачи из специального поля в списке задач, не нужно открывать отдельный контроллер и вводить все данные.
47 мин
Поиск задач по названию, фильтрация результатов с помощью Core Data и запросов. Использование стандартного компонента поиска.
25 мин
Добавление в проект стороннего функционала с помощью новых библиотек. Использование готового кода из фреймворков.
39 мин
Выбор даты задачи с помощью календаря. Использование сторонней библиотеки вместо стандартного компонента.
13 мин
Отображение списков (задачи, справочники) в отсортированном виде. Добавление объектов сортировки с помощью Core Data.
21 мин
Добавление возможности пользователю самостоятельно выбирать поля для сортировки. Используется стандартный компонент поиска.
24 мин
Боковое меню приложения для навигации по различным страницам. Позволяет разбивать пункты меню по категориям.
53 мин
Пользователь будет иметь возможность фильтровать список задач по своему усмотрению (показывать завершенные задачи, без категорий и пр.)
35 мин
Редактирование и добавление любых справочных значений. Эти объекты можно использовать при работе с задачей (категория, приоритет).
29 мин
Дополнительная фильтрация по любым справочным значениям (какие именно задачи отображать в общем списке).
25 мин
Различные доработки и исправление недочетов в работе приложения. Также рефакторинг участков кода.
21 мин
Добавление новых значений приоритетов с возможностью выбора цвета для каждого приоритета (чтобы визуально отличать в общем списке).
7 мин
Удобная возможность для изменения важности (индекса) приоритета с помощью технологии drag&drop - нажатие и перетаскивание объекта.
12 мин
Дополнительная возможность отображения для каждого справочников - сколько задач ссылается на данное каждое значение.
6 мин
Использование шрифта с иконками из сторонней библиотеки, которая позволяет добавлять любые иконки вместо текста.
12 мин
Сообщения пользователю при различных ситуациях - изменение задачи, фильтрация и пр. Повышает юзабилити, пользователь лучше понимает результат своих действий.
17 мин
Как открывать текстовую информацию задачи без открытия самой задачи - сразу из общего списка. Повышает скорость работы приложением.
20 мин
Помогают исправлять ошибки в работе Core Data с БД. Рассмотрим на основе приложения как можно добавлять слушатели в код, также - где смотреть ошибки проекта после "крэшей".
* Количество уроков: 10 (2 часа), объем ~ 800 Мб
Бонусные уроки входят не во все комплекты курса. Эти уроки дополняют основной функционал, добавляют различные "фишки" и удобства. Основной материал по разработке вы получаете в первом, главном блоке.
44 мин
Добавление в приложение нескольких языков. Считывание системных настроек и отображение приложения на этом системы.
19 мин
Использование сторонней библиотеки вместо стандартных инструментов, которая позволяет более удобно работать с локализацией приложения.
31 мин
Пользователь будет иметь возможность переключать язык приложения "на лете" и не зависеть от выбранного языка системы.
6 мин
Добавление тестовых данных при первом запуске приложения - позволяют пользователю начать работу приложением, понять основные возможности.
21 мин
Приветственные слайды при первом запуске приложения, чтобы пользователь имел представление об основных возможностях.
10 мин
Проверка работы приложения на iPhoneX, отличия, особенности запуска и использования компонентов.
В конце разработки проекта у вас уже будет достаточно много различных классов и пакетов, а также созданных окон в Storyboard.
Чтобы полностью понять как работает проект - вы создадите его по шагам. Также есть вариант - сразу открыть итоговый проект и разобрать его (не рекомендуется).
Набор пакетов и классов по всему проекту
Окна и навигация между ними
Если просто изучать теорию (читать документацию, статьи) - без практики выветрится около 80% информации. Поэтому в каждом уроке у вас будет несколько простых и сложных заданий, которые закрепляют пройденную тему.
Вы будете с нуля создавать весь код и постепенно усложнять функционал проекта.
Изучаете основные темы урока по видео - сначала без создания кода, чтобы просто усвоить информацию
Смотрите готовый исходный код из урока-лекции - желательно его переписывать с нуля самостоятельно
В конце лекции - получаете домашнее задание, которое нужно попытаться выполнить самостоятельно.
Получаете готовый проект-решение домашнего задания, для сравнения со своим вариантом
Разбор исходного кода по решению домашнего задания, пошаговое выполнение всех действий для получения результатов
Текстовый вид презентации из лекции, для повторения и удобного открытия гиперссылок (чтобы вручную не писать в браузере)
Каждый проект содержит большое количество комментариев по коду. Это нужно для того, чтобы даже новичок мог разобраться в происходящем.
Вы сможете идти по коду и смотреть пошагово что происходит в данный момент.
Комментарии есть как в исходных кодах-лекциях, так и в решениях дом. заданий.
Посмотрите на видео весь функционал приложения, которое вы создадите с нуля. Из видео узнаете основные возможности: инструкция при первом запуске, работа с задачами, справочниками, фильтрация, поиск и т.д
Вводные слайды с описанием основного функционала. Показываются только один раз при первом запуске приложения.
Splash-окно при запуске проекта, при котором в фоновом режиме происходит загрузка начальных данных и UI.
Отображение главного списка с задачами с возможностью открытия, удаления, создания новой задачи, поиск, сортировка и пр.
Возможность быстрого создания задачи с последующим редактированием.
Использование удобного календаря для выбора даты, вместо стандартных компонентов iOS.
Работа со справочными значениями по категориям, которые можно указывать для задачи
Поиск и сортировка списка задач. Тип сортировки сохраняется в настройки приложения
Быстрый доступ любому разделу приложения (настройки, фильтры) с помощью бокового меню
Пользователь имеет возможность фильтровать задачи по любому принципу
Язык приложения можно менять в любое время и сохранять в настройки приложения
Список справочных значений приоритетов, которые можно выбирать для задачи
Цветовая палитра визуального разделения в списке задач (по приоритету)
Задачи можно завершать или удалять из общего списка или при редактировании
Удаление любой задачи сразу из общего списка с помощью движения "свайп"
Перетаскивания справочных значения приоритета для изменения важности (индекса)
Самый правильный вариант - это использование родных, нативных инструментов. Вы будете пользоваться набором инструментов Apple для разработки приложений iOS.
Для этого вам понадобится установить все на виртуальную машину, о чем подробнее будет написано ниже на странице.
Если у вас уже есть любой компьютер от Apple - вы конечно же будете использовать его.
Бесплатная официальная IDE от Apple, с помощью которой можно создавать приложения для всех операционных систем Apple (iOS, macOS и другие).
Операционная система от Apple, которая отличается простотой и скоростью работы. XCode может работать только на macOS, т.к. версии для Windows/Linux пока нет.
Если у вас есть реальные устройства iPhone или iPad - это не будет лишним. Но вы также можете обойтись и без них - на первых порах можно просто тестировать приложения на виртуальных устройствах (также как и в Android).
Если в качестве обучения - то да, можно.
Но в дальнейшем, если хотите работать профессионально, конечно нужно будет купить iMac или MacBook.
Но в первое время подойдет любая ОС (Windows, Linux), вы будете работать на виртуальной машине с системой macOS.
Главное, чтобы было побольше оперативной памяти.
Посмотрите видеоуроки, чтобы вы могли работать в среде Windows. Обязательно выполните все инструкции перед началом изучением курса iOS.
* Если у вас MacBook с операционной системой macOS, то 2-е видео "Установка macOS" можно пропустить
"Можно ли использовать универсальный инструмент, например Xamarin?"
Часто читатели задают вопрос, какой способ создания мобильных приложений выбрать? Сейчас на рынке существуют кроссплатформенные решения, которые позволяют один раз создать код и портировать его на разные мобильные платформы (Xamarin, React Native и другие).
У новичков большой соблазн начать изучение iOS именно с таких универсальных решений.
Не советую этого делать.
Т.к. в любом случае надо знать основы, фундамент, чтобы понимать как это все работает.
К тому же лучше использовать возможности родного языка Swift, которых может не быть в других языках и приходится изобретать "велосипед".
При использовании родных технологий - вы всегда будете использовать последние обновления, а не ждать, пока под них создадут нужные библиотеки-адаптеры для использования в кроссплатформенных продуктах.
Если у вас уже есть купленный MacBook (или любой другой компьютер/ноутбук от Apple),то вам естественно лучше пользоваться им.
Примерно год назад я перешел с Windows на MacBook с системой macOS и понял, насколько он удобней и быстрее для программирования (как и Linux).
Если у вас пока нет техники Apple - ничего страшного, можно спокойно обойтись и без нее. Главное, чтобы ваше железо было более менее мощным.
В этом случае можно использовать виртуальную машину и установить туда macOS. Производительность будет хуже, чем на родной ОС, поэтому нужно машина помощнее, о чем говорил выше.
Двухъядерный процессор Core i5 или выше - сейчас ставят почти во все ноутбуки. Core i3 тоже подойдет, но уже не так хорошо. Можно использовать также другие процессоры, сопоставимые с Core i5 или i7
Он не должен быть старым и трещать при каждой операции (это кстати часто является "узким" местом, из-за чего ноутбук начинает медленно работать, даже если остальные параметры в норме) - желательно SSD
Чем больше ОЗУ, тем лучше, т.к. на него будет хорошая нагрузка. Минимум должно быть 8 Гб, чтобы можно было начинать программировать, а тем более запускать виртуальные машины iPhone/iPad
Главное требование - ваш ноутбук не должен быть убитым и старым, иначе будете просто мучиться и ждать при каждом нажатии. Также не подойдут мини-ноутбуки (раньше были модными), у них даже ОС тормозит сама по себе.
Если у вас железо слабее, чем указано выше, то вы сможете создавать iOS приложения, но в этом случае производительность будет не очень быстрой, компиляцию и прочие запуски придется ждать дольше обычного.
Базовые принципы одинаковы во всех версиях, поэтому можно начинать изучение просто с последней версии. По необходимости использовать специфичные возможности более старых версий.
На изучение курса iOS у вас уйдет примерно 3-4 недели, т.к. функционал приложения довольно большой. Вы можете сами контролировать свой ритм изучения.
Вы будете разрабатывать в XCode - это специальная среда разработки для Swift и iOS. Можно запускать на виртуальной машине Windows/Linux либо на MacBook.
Подробнее об окружении для работы с Swift - смотрите выше на странице.
Курс рассчитан НЕ на новичков. Вы должны знать Swift (синтаксис, принципы ООП, объекты, коллекции, замыкания и пр.). В этом курсе вы будете заниматься только приложением iOS (не будем отвлекаться на Swift).
Элементарных знаний любой ОС (например, Windows) хватит, чтобы начать работать в ОС. По ходу изучения вы будете повторять действия: вам просто нужно будет уметь запускать среду разработки и работать с файловой системой.
Необязательно, но если есть - не будет лишним. Во время разработки вы будете запускать проект на виртуальном устройстве - эмуляторе.
Все исходные коды есть, по каждому уроку можно будет открывать в XCode. Но я рекомендую все равно набирать весь код вручную, чтобы лучше запомнить его.
Основное требование - ноутбук/компьютер должен быть более-менее свежим, никак не "древним". Также не подойдут мини ноутбуки, которые одно время были в моде. Более подробно - описано на странице.
Можно, но это будет стоить дороже yна 30-50%, чем если бы вы сразу купили нужный комплект. Особенно, если покупаете курс в дни скидок.
Да, особенно если покупаете по акции со скидкой - многие так делают. Изучение курса можете начинать в любое время. Вопросы сможете задавать также в любое время.
Нет, необязательно. Можно выучить Swift и без знания Objective-C, хотя он будет не лишним. Можно начинать сразу со Swift, т.к. он намного проще и понятней, чем Objective-C.
С Украины можно оплатить через Приват24 либо банковским переводом. Для этого нужно выбрать комплект курса, нажать кнопку покупки и ввести свои данные. На последнем шаге вы сможете выбрать любой удобный способ оплаты.
Если у вас возникнут вопросы - вы всегда сможете их задать в закрытой группе форума, куда есть доступ только у клиентов.
Вы не останетесь один на один со своими проблемами - это очень важно, чтобы вы могли постоянно двигаться вперед.
Исходные коды обновлены: май 2019 г.
Основной курс ~ 4 Гб, 80 уроков (13 часов)
Бонусные уроки ~ 800 мб, 10 уроков (2 часа)
Время на изучение: 3-4 недели
Видеоуроки
Исходные коды
Файлы PDF
Инструкция
Инструкция
Видеоуроки
Исходные коды
Файлы PDF
Закрытый форум
Проверка исходных кодов
2 скайп встречи
1 на 1
Инструкция
Картой VISA, MasterCard
(онлайн оплата)
Платежная система Webmoney
(онлайн оплата)
Платежная система Яндекс.Деньги
(онлайн оплата)
Платежная система QIWI
(онлайн оплата или через любой терминал)
Платежная система PayPal
(онлайн оплата)
"Сбербанк Онлайн" или "Тинькофф Кредитные системы"
(онлайн оплата)
Приват24 (Украина)
(онлайн оплата)
Для жителей Казахстана
(Казком или Kaspi - homebank, банкоматы, кассы, терминалы)
Безналичный расчет для физ. и юр.лиц
(через банк)
Денежные переводы из любой страны
(наличными через банк)
Салоны сотовой связи
(наличными)
Любой банкомат "Сбербанка"
(наличными)
P.S. Не нашли подходящий способ оплаты? Напишите нам