Обзор курса Udemy: IOS и Swift Полный учебный курс по разработке приложений для IOS от доктора Анджелы Ю

Мое самое первое приложение для iOS было только что одобрено и опубликовано в магазине приложений. Ура! Я думаю, что наконец-то готов к обзору этого онлайн-курса, потому что для этого обзора курса я хочу сделать его немного по-другому, немного менее скучным — я собираюсь провести вас через журнал вместе со мной, с момента когда я случайно нажал на ее курс, когда действительно пытался «пропустить рекламу», сюда, где мое самое первое самостоятельно разработанное мобильное приложение одобрено и выпущено в магазине приложений Apple.

Я надеюсь, что к концу статьи я смогу убедить вас, что это немного больше, чем просто еще один обзор курса, а доказательство концепции, что при наличии ПРАВИЛЬНЫХ ресурсов (т.е. этого курса) и некоторой приверженности делу, вы сможете справиться с задачей, которая вначале казалась очень сложной и даже невыполнимой.

Задний план

Я уверен, что многие из вас видели очень частую рекламу этого курса на YouTube несколько месяцев назад. Вот так я и пришла на этот курс, когда попыталась пропустить рекламу, но случайно нажала на ссылку курса.

В отличие от большинства из вас, просматривающих эту статью сейчас, на самом деле я тогда не искал активно курсы/проекты по разработке IOS, но вскоре после этого «несчастного случая» я понял, что это был «счастливый случай». На самом деле это одно из сравнительных преимуществ этого курса, вдохновение, идеи и наставничество, предоставленные Анджелой. Я подробнее остановлюсь на этом, но если у вас есть какие-то предварительные знания в области программирования, вы должны хорошо знать, что технические знания разработчика в области программирования — это лишь малая часть того, чтобы быть разработчиком. Насколько мне известно, Анджела — единственная, кто правильно и хорошо занимается наставничеством. Но об этом позже.

Обязательство и моя страсть вложены

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

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

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

Я начал вести свои учебные журналы по разработке IOS в августе 2020 года (когда у нас было мало дел), и мое приложение было выпущено в магазин приложений 15 декабря 2020 года. В общей сложности было потрачено 349 продуктивных часов. Обратите внимание, что я отдельно записал время, потраченное на изучение дизайна, который является еще одной важной частью разработки продукта. Подробнее об этом позже.

Но я хочу знать, как вы относитесь к этим 349 часам и что вы думаете. Перебор? Слишком мало? Каковы были ваши ожидания? Оставьте комментарий ниже. Хотелось бы услышать :)

Время большого отказа от ответственности

Прежде чем читать дальше, вот несколько моментов для полной ясности.

  1. Теперь яофициально являюсь большим поклонником доктора Анджелы Ю просто потому, что искренне верю, что это один из лучших курсов, которые я когда-либо проходил, и, пожалуйста, поверьте мне, я прошел много курсов.
  2. Это имеет несколько последствий. Хотя я твердо верю в то, что «обзор» должен быть сбалансированным, с объективным и независимым анализом плюсов и минусов, как я делаю это с другими моими курсами, в этом случае я сделаю исключение. для Анджелы, и, как вы увидите, я становлюсь непрофессионально и предвзято считаю, что все, о чем я могу думать, это хорошие вещи об этом курсе. Так что мои извинения заранее, если вы ищете хорошо сбалансированный обзор. Но было бы неплохо узнать и о хороших вещах. Но обещаю, обзор, несмотря на однобокость, будет всесторонним и обстоятельным.
  3. По образованию я ученый-компьютерщик, и у меня есть опыт работы с другими языками программирования, такими как C++/Java/Python. Я имею степень бакалавра математических и компьютерных наук со специализацией в области компьютерных наук. У меня также есть степень магистра финансов, но это вряд ли имеет отношение к этой статье. Я считаю, что мой опыт в области компьютерных наук имеет значение, потому что у вас может быть другой опыт, и, следовательно, ваш путь, если вы выберете этот курс, может немного отличаться. Тем не менее, я хочу сделать один момент совершенно ясным: пожалуйста, не думайте, что вы остались позади, если вы новичок в программировании, и, что более важно, не расстраивайтесь из-за отсутствия опыта в программировании. Я не могу не подчеркнуть, что кодирование и программирование похожи на изучение третьего языка. Они выглядят круто (скучно и сложно), но на самом деле это не так. Если вы хотите узнать об этом, независимо от вашего происхождения, вы можете это сделать. Вы видите, как я сейчас печатаю по-английски, но я едва сдал экзамен по английскому языку, а я стопроцентный китаец? О, хорошо, я нашел что-то общее между мной и Анджелой. Как насчет этого!

Теперь, когда администратора нет, давайте начнем правильно.

Краткое содержание обзора курса

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

  1. Задний план
  2. Правильная подготовка курса: дизайн содержания курса, его охват/глубина, а также выполнение проектов.
  3. Ключевой отличительный фактор: насколько хорошо объясняются концепции и ваши вопросы предвосхищает доктор Анджела Ю.
  4. Второй отличительный фактор: "Анжела подбадривает вас" и вдохновение, которое поможет вам начать или продолжить.
  5. Дополнительный контент курса: материалы курса по маркетингу приложений, курсы по дизайну приложений, множество дополнительных приемов и ресурсов.
  6. Что получилось в результате этого курса: приложение, которое я создал после окончания этого курса
  7. Бонусный модуль дополнительных ресурсов: мне нравится курс Анжелы, но не потому, что я не видел достаточного количества других курсов для сравнения

2. Дизайн содержания курса и охват/глубина

Подробная разбивка затронутых тем приведена на официальном сайте Udemy: https://www.udemy.com/course/ios-13-app-development-bootcamp/. Я полагаю, у вас есть возможность просмотреть первые несколько разделов, а также 30-дневная гарантия возврата денег.

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

Дизайн контента курса

Интересно, и я действительно ценю то, что онлайн-обучение стало намного лучше за последние несколько лет, и у меня не было такой роскоши, когда я учился на бакалавра несколько лет назад.

Под этим я подразумеваю, что если вы выполните простой поиск в Google, или на YouTube, или зайдете на многие веб-сайты онлайн-курсов, такие как Coursera, Edx, Udacity, проект открытого курса MIT и т. д., вы поймете, что до тех пор, пока у вас есть желание и стремление учиться, вы всегда можете найти бесплатные или доступные курсы очень высокого качества. Многие из них имеют хороший дизайн и высокое качество. Вы не поверите, но несколько лет назад этого не было. В то время как у нас был наш лучший друг, Google, который может помочь вам в конечном итоге, хорошо развитое сообщество онлайн-обучения предоставляет систематические и всесторонние учебные журналы. Это роскошь, которой у меня не было.

Я пытаюсь подчеркнуть, что многие другие курсы/учебники по разработке IOS действительно хорошего качества, а это означает, что дизайн курса не может быть ключевым отличительным преимуществом этого курса.

Однако давайте все же поговорим об этом и о том, почему это один из лучших онлайн-курсов по дизайну.

1. Поток и возрастающий уровень сложности просто хороши

Я бы сказал, что подавляющее большинство концепций языка программирования и разработка IOS в Xcode рассмотрены до раздела 22. К тому времени вы уже будете иметь четкое представление о концепциях программирования, начиная с основ операторов, типов, синтаксиса, потока управления, функций, методов. и так далее, до более продвинутых концепций, таких как классы, обработка ошибок, расширения, протоколы и т. д.

Что мне нравится в этом курсе, по сравнению с другими курсами, так это то, что вы продвигаетесь в хорошем темпе, и вас всегда сопровождают проекты с уже настроенными для вас файлами проектов.

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

Анджела постоянно приносила только нужные проекты. Файлы проекта настроены и готовы к работе, поэтому учащиеся могут сосредоточиться на учебной части, а не на учебной. Рассмотренные проекты как раз подходят для рассматриваемых концепций программирования. На самом деле, очень часто Анжела сначала начинает с проектов и глубоко погружается в определенные концепции программирования там, где они вам нужны.

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

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

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

Многие другие онлайн-курсы переходят к проектам только после достаточного изучения концепций программирования, что, как мне кажется, уже слишком поздно. Анджела, с другой стороны, сначала начинала с простых проектов. «Я богат» — это хороший пример, когда приложение в основном ничего не делает, кроме как показывает вам картинку после того, как вы заплатили за приложение по смехотворно завышенной цене. Не поймите меня неправильно, я думаю, что это довольно крутая концепция, помимо этических проблем, но это был бы идеальный проект для новичка, и Анджела нашла его и добилась успеха.

2. Освещение и обновления недавно выпущенных тем (от Apple)

Проекты охватывают абсолютно все (по крайней мере, насколько я могу думать), включая новейшие концепции, такие как машинное обучение и ARKit, в дополнение к обычным основам, конечно. Это приветствуется, потому что многие другие курсы не были обновлены, чтобы включить эти новые темы, которые были только что выпущены Apple.

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

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

3. Глубина содержания курса, т.е. это курс для начинающих или курс для профессионального разработчика

Что ж, возможно, я не лучший человек, чтобы комментировать этот вопрос, потому что я не профессиональный разработчик.

Тем не менее, я считаю, что ответ довольно прост, и этот курс действительно является курсом для начинающих, в том смысле, что он идеально подходит для тех, кто плохо знаком с программированием или с небольшими предварительными знаниями, чтобы узнать о разработке IOS и языке программирования Swift, чтобы попрактиковаться в использовании проектов и, в конечном итоге, создать простое приложение. Я расскажу о приложении, которое я создал, ближе к концу этой статьи (потому что вы знаете, что это, в конце концов, обзор курса) и, надеюсь, приложение, которое я создал, может дать вам действительно хорошее представление о том, какое приложение получается из этот курс для кого-то вроде меня, кто проходит этот курс. Внимание, спойлер, краткий ответ: приложение, которое я создал после прохождения курса, очень простое и легкое. Но приложение не обязательно должно быть сложным и трудным в создании, чтобы быть интересным или полезным. Верная точка справа. Если нет, то зачем мне тратить на это свои 349 часов?

Я бы сказал, что профессиональный разработчик IOS (обратите внимание на слово IOS, потому что вы можете владеть такими языками программирования, как Java и C++, но разработка IOS с использованием Xcode все еще будет очень новой и, следовательно, вы все равно получите много пользы) вряд ли выиграет от курса, потому что, как следует из названия «буткемп», это базовый курс, охватывающий основные понятия. Однако, если вы являетесь разработчиком IOS, скажем, работаете в команде и уже создаете приложения для IOS, я не вижу, какую пользу вы можете извлечь из этого курса.

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

Небольшое замечание: если вы ищете быстрые руководства по конкретным темам и быстрые реализации, я рекомендую курс Пола Хадсона на https://www.hackingwithswift.com/.

Я начал находить этот сайт действительно полезным после того, как «закончил» курс Анджелы. Это потому, что я уже знаю, что искать и подход к реализации. HackingWithSwift действительно хорош, когда вы знаете, что ищете, и сразу после краткого руководства по реализации.

Но в обиду, дорогой Пол, я все же считаю, что курс Анджелы лучше подходит для «постепенного и систематического» обучения.

3. Ключевой отличительный фактор — насколько хорошо объясняются концепции и ваши вопросы предвосхищает доктор Анджела Ю.

Раньше я был репетитором и преподавал курсы по финансам в университете. Поэтому я, естественно, считаю это ключевым фактором, отличающим курс Анджелы от других онлайн-курсов по разработке IOS.

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

Как преподаватель, я могу честно сказать, что я считаю, что объяснять понятия таким образом, чтобы другие, которые могут думать иначе, чем вы, — это суперсила, и Анжела обладает этой суперсилой.

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

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

Я не буду углубляться в это, потому что это не урок программирования, но суть в том, что концепция протокола и делегатов точно такая же, в том смысле, что обработчику не нужно знать, кто является получателем инструкций. Все, что ему нужно знать, это то, что до тех пор, пока получатель квалифицирован, «приняв» сертификат расширенного жизнеобеспечения, он / она может выполнять задачи. В случае, если я хочу использовать коды, написанные Apple в прошлом, Apple не волнует, кто я и что я хочу делать со своими кодами, все, что Apple нужно убедиться, это то, что я квалифицирован и принимаю их протокол ( наличие сертификата расширенного жизнеобеспечения), то я могу использовать код Apple для выполнения определенных задач.

Я знаю, что это объяснение не имеет особого смысла на данном этапе, но на самом деле суть в том, как Анжела преобразовала сложную концепцию в пример из реальной жизни, с которым она знакома (и меня тоже интересует), чтобы ее можно было легко понять. .

Кроме того, у Анджелы есть эта сверхспособность знать, что нас запутает, и предвосхищать вопросы, которые у нас могут возникнуть. Я чувствую это, потому что почти каждый раз, когда я чувствую, что теряюсь в каких-то понятиях, Анджела, предсказывая будущее, которое она не может предвидеть, начинает его объяснять. Я был как…. хм, хорошо, в отличие от протокола, вы можете видеть будущее. Я думаю, что это даже более важно, когда курс проходит онлайн, а взаимодействие не ограничено ничем.

Я знаю, что этот «ключевой отличительный фактор» может показаться немного субъективным, и ваш мозг может мыслить иначе, чем мой и мозг Анжелы, но если мне нужно указать причину, по которой этот курс мой любимый, и как я превратился в фаната Анджелы, это должно быть так, сверхспособность объяснять сложные концепции простым для понимания способом (по крайней мере, для меня) с использованием примеров и хороших иллюстраций, а также мысли предвидеть, что может застать меня врасплох, и объяснять их, не спрашивая меня. .

4. Отличительный фактор: «Анжела вас подбадривает» и как начинается мой дневник

Я, наконец, убрал часть «обзор курса» и рассказал о некоторых основных аспектах курса, и почему я думаю, что с точки зрения дизайна курса, это отличный курс. Теперь, как и было обещано, мое путешествие наконец начинается.

Как я упоминал в начале, я на самом деле не думал о создании своего первого приложения для IOS, когда случайно наткнулся на курс Анжелы через рекламу на YouTube.

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

Другими словами, этот курс для меня не только еще один курс, но и сеанс наставничества.

По пути Анджела будет говорить вам ободряющую речь в конце каждого сеанса. На данном этапе это может показаться тривиальным, но если вы работали над проектом раньше, вы бы знали, сколько раз вы постоянно спрашиваете себя, зачем я вообще это делаю. Подбадривание Анжелы и «подбадривающая сессия» часто приходят в нужное время, когда большинство учеников рассматривают / могут сдаться.

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

Тем не менее, я получил вдохновение и решил посвятить себя проекту / приложению IOS после того, как увидел ее речь, которая была записана и опубликована в ходе курса.

Бонусная сессия: Как сделать приложение от начала до конца

Я до сих пор помню, как лежал на своей кровати, когда увидел этот сеанс. Анжела примерно час рассказывает обо всем журнале на очень высоком уровне. Кажется, это запись разговора/семинара. Эта сессия выглядит более интересной, чем «глубокое погружение в объектно-ориентированное программирование и концепцию наследования». Так что я на самом деле нажал на это, пока отдыхал, и после просмотра сеанса я принял решение зафиксировать и сделать свое самое первое приложение для IOS, успешным или нет, прибыльным или нет, я сделаю это.

Ради интереса я сфотографировала записку, которую написала после просмотра видео, и даже вставила в рамку. Это немного пыльно, но сообщение все еще там, вырезано и выполнено. Конечно, я затронул и другие цели/задачи и не буду комментировать, достигнуты они или нет. Сделайте свой собственный вывод, если хотите.

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

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

Но я думаю, что я пытаюсь здесь сказать, что программирование/завершение проекта по кодированию — это не шутки. Это скучно. Это отнимает много времени. Это постоянно сводит с ума. В то время как другие инструкторы больше внимания уделяют техническим аспектам программирования/кодирования, Анджела не забыла о человеческой стороне, и эмоции естественным образом приходят с программированием.

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

Краткая заметка о моем обучении и практике с проектами

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

Вот почему 349 часов на самом деле включают в себя:

  1. Я прошел курсы как минимум два раза. В первый раз я в основном перемотал вперед и прослушал концепции программирования и щелкнул по ним, когда мне захотелось.
  2. Во второй раз я выполнял проекты самостоятельно, шаг за шагом, а потом делал собственные подробные заметки. Вот почему в моей тетради более 600 страниц.
  3. Время, которое я потратил на изучение курсов, на самом деле примерно равно времени, которое я потратил на создание своего первого приложения для IOS. Опять же, это потому, что я предпочитаю сначала детально изучить курс. Вы можете использовать совершенно другой подход, например, начать с проекта и вернуться к соответствующим разделам курса.
  4. При создании своего приложения я чувствую, что 70% концепций уже раскрыты, и я даже могу найти точные образцы кода, которые мне нужны. Это было связано с хорошо разработанным содержанием курса, о котором я упоминал ранее. По крайней мере, со своей стороны, я заметил, что основные функции моего приложения (создание интерфейса, наличие нескольких экранов, хранение данных в основных данных) уже хорошо реализованы.
  5. Это еще одна причина, по которой мне нравится курс Анджелы, потому что он полезен, когда вы создаете собственное приложение. Когда я работал над проектом, я часто возвращался к видеокурсу Анжелы и ее курсовым проектам.
  6. Как и в любом упражнении по программированию, Google и stackoverflow — ваши лучшие друзья. я застрял на нескольких ключевых моментах (например, пользовательский интерфейс не обновляется, когда я этого хотел, не могу сделать кнопку так, как я хочу, с тенью или с определенным углом, для запроса основных данных в определенном способ и т. д.), но я бы сказал, что это время отладки было сведено к минимуму за счет многократного прохождения курса.

5. Бонусные модули (дополнительное содержание курса)

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

Это то, что многие инструкторы склонны забывать: одного изучения языка программирования Swift или Xcode IDE недостаточно. Не менее важны и другие аспекты, такие как проектирование, маркетинг, проверка идей.

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

Я выделю два отдельных модуля: курс по дизайну приложений и курс по маркетингу приложений, который преподает Анджела, и, как всегда, Анжела так же хороша, как и в обучении кодированию, и в обучении маркетингу, и в разработке приложений, и в ведении здорового образа жизни. образа жизни или похудеть. Ладно, шутки в сторону.

Вы, наверное, можете сказать, что когда я отслеживал свои продуктивные часы, были некоторые «розовые часы», которые я тратил на дизайн. И это правда, я провел много времени, проектируя свои розы, сад, вывески и то, как розы будут расти и увядать.

Стоит отметить, что несмотря на то, что Анжела включила курс по разработке приложений, они фокусируются на дизайне интерфейса, дизайне иконок, дизайне шрифтов и т. д. Но мне нужно что-то большее для моих роз, и мне нужно, чтобы они выглядели великолепно, потому что они являются ключевой частью моего приложения. . Вот почему мне нужно было потратить некоторое время на инструменты дизайна, такие как Adobe Illustrator, iMovie, Keynote, Photoshop и т. д., в дополнение к инструментам, представленным Анджелой.

Это подтверждает мою мысль о том, что создание приложения — это гораздо больше, чем просто написание кода и обеспечение работы интерфейса, это гораздо больше.

6. Что получилось из этого курса и моего журнала — опубликовано мое самое первое приложение для iOS

Хорошо, вот и финал, и это одно из самых захватывающих событий 2020 года. Я оставил это до последней части, потому что вы можете найти ее наименее актуальной для этой статьи. Но я решил включить информацию о своем приложении сюда, потому что я думаю, что это даст вам представление о том, какое приложение можно создать после прохождения курса и применения того, что вы узнали в курсе. Вы увидите, что это определенно не похоже на GTA, Facebook, Instagram или что-то в этом роде, но я надеюсь, что вам это тоже будет интересно.

Отправка сборки проекта Xcode в Apple App Store Connect

Чтобы отправить свой проект в Apple App Store, шаг номер один — это, конечно же, заплатить Apple немного денег. Программа Apple Developer Program, которая является обязательной, если вы отправляете свое приложение в магазин Apple для проверки и выпуска, обошлась мне в 99 долларов США. Очевидно, это немалая сумма денег, и я не надеюсь, что мое приложение вернет мне эту регистрационную плату. Тем не менее, я все еще считаю, что это хорошо потраченные деньги.

Я не буду слишком много говорить о том, как отправляется приложение, но в целом я отправил свой проект Xcode, созданный в Apple App Store, для проверки. Как только моя проверка прошла, я могу войти на веб-сайт App Store Connect, чтобы заполнить некоторую информацию, такую ​​как имя приложения, описание приложения, политика конфиденциальности и т. д. Вся та информация, которую вы видите в магазине приложений.

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

Приложение одобрено командой Apple и опубликовано в магазине приложений

Этот процесс на самом деле очень приятный и плавный.

Я отправил свое приложение около часа ночи и примерно через 5 часов получил электронное письмо о том, что оно было одобрено (среднее время рассмотрения составляет 24–48 часов). Я считаю, что это во многом связано с тем, что мое приложение очень простое.

15 декабря 2020 года мое первое приложение для iOS было одобрено и выпущено в магазин приложений. И я был так взволнован, когда пришло это электронное письмо, ставшее важной вехой в моих усилиях за последние несколько месяцев.

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

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

Тем не менее, стоит еще раз упомянуть, насколько замечательна Анжела, потому что я использовал точно такой же подход, который она преподавала в курсе, чтобы быстро создать свою целевую страницу с использованием страниц GitHub, что я нашел своим любимым способом. Опять же, многие пути Анжелы — хорошие!

И Анжела, если вы слушаете / читаете, именно в этот момент вы, возможно, захотите поблагодарить меня, потому что мне, вероятно, следует прекратить явно повторять, насколько вы замечательны, просто потому, что это просто не «профессионально» для курса рецензент, чтобы получить это предвзято. Кроме того, для фаната было бы здорово услышать от самой Анжелы, но я просто говорю. Я обещаю, что сейчас остановлюсь.

Следующие шаги — заняться цифровым маркетингом и продвижением моего приложения

Опять же, это следует совету Анжелы на ее лекциях по цифровому маркетингу и позволяет избежать неправильного представления о том, что «постройте это, и оно придет».

Тем не менее, я думаю, что пока сделаю паузу и дам вам знать, что будет дальше (если что-то вообще произойдет).

7. Бонусные модули: некоторые другие ресурсы, которые могут оказаться полезными

Это сделано для того, чтобы скопировать то, что Анджела делает со своим курсом, а также включить некоторые дополнительные ресурсы, которые я лично счел полезными, когда начинал свой путь с разработки мобильных приложений для IOS:

Взлом с помощью Swift, основанный Полом Хадсоном



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

Бесплатный курс Udacity — Введение в разработку приложений для iOS на Swift

Я прошел (и просмотрел на этом канале) довольно много курсов Udacity. Я бы сказал, что в целом они хорошего качества, но очень дорогие. Это хорошие курсы, но я просто не могу убедить себя потратить тысячи долларов на онлайн-курсы, где есть не менее хорошие эквиваленты (в данном случае, по моему личному скромному мнению, лучшие и более дешевые альтернативы).

Однако, к счастью для нас и для Udacity, существует бесплатный вводный курс по разработке приложений для IOS. Я работал с их Udacity Nano Degree, но вводная часть — хороший способ получить представление о том, как выглядит разработка приложений для IOS. И, конечно же, если вам понравился вводный курс, и если тысяча долларов не имеет для вас большого значения, пожалуйста, не стесняйтесь записываться на этот наностепень.



Учебник

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

Вывод

Мы здесь.

Мой обзор онлайн-курса Udemy «iOS и Swift — The Complete iOS app Development Bootcamp» доктора Анжелы Ю.

Это определенно один из моих первых любимых курсов, который мне понравился и который оказался полезным при создании моего первого приложения для IOS. Я рад, что после многократного прохождения курса и постоянных ссылок на курс из него вышло приложение. Я также ценю всю поддержку и наставничество Анжелы для сотен тысяч студентов, которые ее проходят.

Желаю удачи тем, кто рассматривает возможность его использования в будущем, и я надеюсь, что у вас будет то же чувство, что и у меня: вы узнали, попрактиковались и рады, что вы это сделали.