Ознакомьтесь с моим последним приложением: Tinido.

Ровно год назад я работал Android-разработчиком. В то время у меня не было никаких знаний о программировании под iOS, даже я никогда не пользовался продуктами Apple. Однако это было в прошлом, я параллельно разрабатывал приложения для iOS и Android.

Сегодня, оглянувшись назад, я хочу поделиться программой курса программирования iOS, который я создал сам для месячного обучения.
По моему личному опыту, я действительно рекомендую разработчикам Android научиться разрабатывать приложения для iOS. Это звучит странно, но не поймите меня неправильно. На то есть причина: Широкое расширение ваших знаний поможет вам глубже изучить свою область деятельности.

«Если вы делаете что-то, и это получается довольно хорошо, тогда вам следует заняться чем-нибудь еще прекрасным, а не зацикливаться на этом слишком долго. Просто подумай, что будет дальше ». - Стив Джобс

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

Начать работу со Swift

Вместо этого вы можете изучить Objective-C, но я действительно рекомендую вам использовать Swift. Это дружелюбно и легко учиться.

Официальный ресурс Apple - первое место, которое я посетил. Прочтите основные концепции и запачкайте руки, написав их в Xcode.

Кроме того, вы можете попробовать Курс быстрого обучения на Udacity. Хотя на сайте сказано, что это займет около 3 недель, но вы можете завершить это за несколько дней (несколько часов / дней).

В моем случае я потратил неделю на изучение Swift. Итак, если у вас есть время, вы можете изучить несколько следующих ресурсов:

Нарисуйте интерфейс своего приложения с помощью UIKit

Перейдем к визуальной и интересной части. UIKit помогает видеть вашу работу и взаимодействовать с ней на устройствах iOS. Звучит хорошо, не правда ли?

В моем случае я пошел искать бесплатный курс на Udacity. К счастью, нашел. Фундаментальный курс UIKit

Поначалу iOS Auto Layout показался мне довольно странным. Причина заключалась в том, что при разработке приложений для Android я реализовывал его интерфейс через XML-файлы макета и видел результат визуально, почти никогда не использовал функции перетаскивания. iOS, однако, совсем другое дело.
Потратив некоторое время на то, чтобы попрактиковаться в понимании механизма Auto Layout, было очень здорово, что я узнал кое-что еще, выходящее за рамки обычного стиля дизайна Android.

Кроме того, в Xcode вы можете выполнять переход между экранами, просто перетаскивая их соединение в раскадровке, в то время как для Android требуется несколько строк кода.

Вы можете изучить различные функции.

Кроме того, вы можете ознакомиться с дополнительными руководствами по iOS UIKit в разделе Основные концепции на странице iOS Raywenderlich.

Понять постоянство данных iOS

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

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

В приложениях для iOS у вас есть несколько вариантов:

  • NSUserDefaults: тип пары ключей, аналогичный SharePreferences в Android)
  • NSCoding / NSKeyed Archiver: сериализует совместимые классы в представление данных и из него и сохраняет их в файловой системе или через NSUserDefaults.
  • Core Data: сверхмощный фреймворк iOS.
  • Прочее: SQLite, Realm и др.

Сейчас многие разработчики iOS предпочитают Realm Core Data, но я рекомендую изучить Core Data, потому что это официальная постоянная структура iOS, и когда вы понимаете ее основную структуру и реализацию, вы можете сдвинуть гору.

Ресурсы, которые я просмотрел, включают:

Связь с внешним миром через сеть iOS

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

В будущем у вас будет много шансов поработать с классными сетевыми библиотеками HTTP, такими как Alamofire, но сейчас мы учимся. Делайте простые и официальные вещи, прежде чем переходить к другим.

Рекомендуемые курсы и учебные пособия:

Создайте свое первое отличное приложение

«Знания недостаточно. Давайте подавать заявку ». - Леонардо да Винчи

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

Ты классный, чувак. Давайте построим все, что захотите.

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

3 года назад я опубликовал свое первое приложение для Android (приложение для заметок) в Google Play, изучив Android в течение 1 месяца. Год назад я также опубликовал свое первое приложение для iOS (приложение погоды) в Apple Store после месяца самостоятельного изучения. Сначала они оба были просто глупыми, но они поддерживали меня в мотивации и улучшали день ото дня.

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

Примечание. Есть много хороших ресурсов, вы можете найти их, выполнив поиск в Google. Приведенные выше учебные пособия и курсы - мой любимый выбор.

Пожалуйста, свяжитесь со мной через Github, Twitter, Facebook или LinkedIn. Удачного кодирования и хорошо провести время!