Вы многому научились за последние пять недель, кузнечик, и вы можете даже чувствовать себя немного ошеломленным в этот момент. Я хотел бы поделиться с вами некоторыми советами и кучей ресурсов, которые помогут вам стать опытным разработчиком iOS.
Что нужно учитывать
Несмотря на то, что 2007 год кажется вчерашним, мобильное пространство и, в частности, iOS выросли невероятными темпами. Трудно представить мобильный пейзаж без iPhone, iPad и iPod Touch. В результате значительного роста и популярности платформы iOS нет недостатка в книгах, видеороликах, курсах и блогах, которые помогут вам стать опытным разработчиком iOS.
Материал, который мы рассмотрели в этой серии, должен был дать вам хорошее понимание платформы iOS с точки зрения разработчика. Первый совет, который я хотел бы дать вам, — продолжать создавать приложения для iOS. Не ждите, пока вы думаете, что знаете достаточно, чтобы начать создавать это первое настоящее приложение для iOS. Вы узнаете больше всего, создавая небольшие приложения и находя решения проблем, с которыми вы сталкиваетесь по ходу работы. В конце концов, программирование — это решение проблем. Я создаю несколько приложений каждую неделю. Это не значит, что каждое приложение достойно публикации в App Store — скорее наоборот. Я начну с выделения конкретной, четко определенной проблемы, которая является частью более крупного проекта. Затем я создаю новый проект для iOS, который сосредоточен на решении этой проблемы. Когда я нашел и реализовал решение проблемы, я уточнил решение путем нескольких этапов рефакторинга, чтобы подготовить его к интеграции в более крупный проект. В то же время я создал повторно используемый компонент для последующего использования. Сосредоточив внимание на возможности повторного использования, вы с меньшей вероятностью будете писать код для спагетти и с большей вероятностью сэкономите время на будущих проектах.
Этот подход также отлично подходит для изучения новых фреймворков или для тестирования новой библиотеки с открытым исходным кодом, на которую вы наткнулись. В ходе этой серии мы создали несколько проектов для iOS. С каждым новым проектом мы узнавали что-то новое и, по ходу дела, становились все более и более знакомыми с Xcode. Знакомство с вашей средой разработки — еще один ключевой элемент разработки iOS.
Мой второй совет — избегать копирования и вставки фрагментов кода, которые вы найдете в Интернете. Если вы не понимаете фрагменты, которые копируете, в долгосрочной перспективе вы от этого не выиграете. Конечно, это может временно решить проблему, с которой вы боретесь, но используя случайные фрагменты кода, которые вы не понимаете, вы накапливаете технический долг . Это не означает, что вы не должны включать в свои проекты хорошо поддерживаемые библиотеки, такие как AFNetworking или Magical Record . Это также не означает, что вы должны знать каждую деталь реализации таких библиотек. Если вы столкнулись с проблемой, которую вы можете решить самостоятельно, потратив один или два часа на написание решения, тогда это хорошо потраченное время. Разработка программного обеспечения — это не только скорость и результативность. На личном уровне разработка программного обеспечения заключается в том, чтобы стать лучше в том, что вы делаете, в программировании, и вы не станете лучшим программистом, копируя и вставляя фрагменты кода, которые вы не до конца понимаете. Нет никаких путей к тому, чтобы стать великим программистом.
Энвато Тутс +
Прежде чем углубиться в список полезных ресурсов, я хочу упомянуть, что Envato Tuts + существует уже много лет и создал впечатляющую коллекцию высококачественных учебных пособий по разработке под iOS. Около 200 учебных пособий по Tuts + специально предназначены для разработки под iOS — от начинающих до продвинутых тем.
Где найти помощь?
Форумы разработчиков Apple
Если вы являетесь зарегистрированным разработчиком iOS, то у вас есть доступ к форумам разработчиков Apple . Форумы разработчиков Apple не только активны и полны разработчиков, которые знают, что их сотрудники, фреймворки и инженеры DTS (техническая поддержка разработчиков) поддерживают и контролируют форумы, которые иногда могут сэкономить ваш день или сэкономить вам день.
Гугл на помощь … или это переполнение стека?
Всякий раз, когда вы обнаруживаете, что используете Google, чтобы найти ответ на программный вопрос или решение вашей проблемы, есть вероятность, что Google укажет вам на переполнение стека . Справедливо сказать, что Stack Overflow произвел революцию в разработке программного обеспечения и сообщества разработчиков. Переполнение стека — отличное место для того, чтобы задавать вопросы, а также возвращать сообществу, помогая другим. Независимо от того, на каком языке вы работаете или на какой платформе вы разрабатываете программное обеспечение, существует вероятность того, что в Stack Overflow есть живое сообщество, сосредоточенное вокруг ваших интересов.
GitHub
За последние несколько лет социальное кодирование стало очень популярным, и GitHub, безусловно, является движущей силой этой тенденции. Поскольку вы новичок в разработке для iOS, вы, вероятно, пока не сможете участвовать в проектах с открытым исходным кодом (iOS). Однако ничто не мешает вам исследовать некоторые проекты с открытым исходным кодом и просматривать их исходный код, чтобы увидеть, как можно что-то сделать. Если вы хотите ускорить свое обучение, изучая код, написанный другими разработчиками, тогда ключевым моментом является выбор проекта, который хорошо поддерживается и находится в процессе активной разработки.
книги
Программирование на С
Хорошее понимание языка C важно для каждого разработчика Cocoa, но вы заметите, что вы можете проделать долгий путь, только зная основы языка C. Однако со временем вы столкнетесь с частями кода, которые вы не сможете полностью понять, если не углубитесь в язык Си. Полное руководство по изучению Си — книга, написанная Брайаном Керниганом и Деннисом Ритчи , Язык программирования Си . Как вы помните из статьи по изучению языка Си , Деннис Ритчи был одним из создателей языка Си. Какой лучший способ выучить C от человека, который помог создать язык? Еще одна замечательная книга для изучения C — Learn C на Mac от Dave Mark.
Objective-C
Хотя Apple предоставляет исчерпывающее руководство по языку программирования Objective-C ( объектно-ориентированное программирование с Objective-C ), я считаю, что он не идеален для людей, которые плохо знакомы с Objective-C, и, конечно, не для людей, плохо знакомых с C. Один из Лучшая книга об Objective-C — это книга Стивена Кочана « Программирование на Objective-C» . Убедитесь, что вы выбрали самое последнее издание, в котором также обсуждается Objective-C 2.0.
Также следует отметить, что в 2010 году Дэн Уокер написал популярную серию на Tuts + об изучении Objective-C. Если вы хотите расширить свои знания о Objective-C, то я призываю вас взглянуть на серию Дэна.
Больше книг
Apress и O’Reilly Media — два издателя, которые известны публикацией высококачественных книг по разработке для iOS — и разработке в целом. Две отличные публикации Apress — « Начало разработки под iOS 7» и « Больше разработки под iOS 6» . Обе публикации обновляются с каждым новым выпуском iOS.
Одна из первых книг о разработке какао, написанная когда-либо, — « Программирование какао для Mac OS X» . Эта книга написана и обновлена Аароном Хиллегасом , основателем ранчо Большого ботаника. Аарон очень хорошо известен в сообществе Какао, и многие разработчики узнали о разработке Какао по его книгам, включая меня.
Видео
WWDC
Всемирная конференция разработчиков Apple (WWDC) является ярким событием года для многих разработчиков какао. Каждая презентация, представленная на WWDC, записывается и доступна на следующий день зарегистрированным разработчикам для iOS и Mac . Коллекция видеороликов восходит к WWDC 2010, поэтому у вас есть много материала для ознакомления.
iTunes U
В последние несколько лет ряд колледжей и университетов начали преподавать разработку iOS. Некоторые из этих курсов доступны через программу Apple iTunes U — бесплатно. Самый известный и самый продолжительный курс — CS193p в Стэндфордском университете. В техническом колледже Мэдисон Брэд Ларсон преподает « Advanced iPhone Development» , который также охватывает некоторые более сложные темы. Еще один курс по разработке iPhone читает Ян Борхерс из Аахенского университета.
Блоги
Вас не должно удивлять, когда я говорю, что существуют сотни, если не тысячи блогов, посвященных разработке под iOS. Я перечислил несколько моих любимых блогов ниже, но есть еще много для вас, чтобы обнаружить.
- Блог Джеффа Ламарша — один из давно известных блогов о разработке Какао, о которых я знаю. Джефф написал несколько книг по разработке под iOS и действительно знает свое дело.
- «Какао с любовью» — это блог, который ведет Мэтт Галлахер. Я бы не назвал посты Мэтта легким чтением. Большинство статей, которые он пишет, являются всесторонними, упакованы информацией и очень хорошо написаны.
- Cocoa Is My Girlfriend — еще один источник отличных, глубоких статей. Авторы «Какао — моя подруга» — это Маркус Зарра, Мэтт Лонг, Фрейзер Хесс и Саул Мора (создатель Magical Record ).
- Несмотря на то, что блог Майка Эша не самый красивый блог в Интернете, он наполнен отличным контентом. В частности, его пятничные вопросы и ответы приятно читать.
- Блог Оле Бегеманна содержит свежие и хорошо написанные статьи о разработке для iOS и смежных темах.
- NSHipster — младший блог, поддерживаемый Мэттом Томпсоном. В настоящее время Мэтт работает в Panic и является одним из создателей AFNetworking . Слоган NSHipster гласит «… журнал пропущенных битов в Objective-C и Какао …», который очень хорошо суммирует содержание NSHipster.
Информационные бюллетени
Не так давно Дэйв Вервер запустил еженедельную рассылку iOS Dev Weekly о разработке iOS. Если вы хотите получить тщательно составленный список ссылок, связанных с разработкой для iOS, тогда я настоятельно рекомендую новостную рассылку Дейва. Я уже говорил, что это бесплатно?
Кому следовать?
Twitter — отличная среда, чтобы быть в курсе развития iOS и OS X. Я собрал короткий список людей в твиттерсфере, которым вы, возможно, захотите следовать.
- Мэтт Джеммелл
- Аарон Хиллегасс
- Стив Скотт
- Мэтт Галлахер
- Майкл Юрьевиц
- Дэйв Марк
- Марко Армент
- Уил Шипли
- Фрейзер Спирс
- Даниэль Джалкут
- Мантон Рис
- Мэтт Томпсон
- Майк Ли
- Крейг Хокенберри
Наконец, вы также можете подписаться на меня в Twitter. Не стесняйтесь пинговать меня, если у вас есть вопрос или вы просто хотите сказать привет.
Вывод
Надеюсь, вам понравилась эта серия о разработке для iOS так же, как мне понравилось ее составлять. Если у вас есть какие-либо вопросы, не стесняйтесь оставлять комментарии или пинговать меня в Twitter . Предложения по будущим темам также можно оставить в комментариях.