Статьи

iOS с нуля с Swift: куда идти дальше

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

Несмотря на то, что 2007 год кажется вчерашним, мобильное пространство и, в частности, iOS выросли невероятными темпами. Трудно представить мобильный пейзаж без iPhone, iPad и iPod Touch. В результате значительного роста и популярности платформы iOS нет недостатка в книгах, видео, курсах и блогах, которые помогут вам стать опытным разработчиком iOS.

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

Я создаю несколько приложений каждую неделю. Это не значит, что каждое приложение достойно публикации в App Store, скорее наоборот. Я начну с выделения конкретной, четко определенной проблемы, которая является частью более крупного проекта. Затем я создаю новый проект для iOS, который нацелен на решение этой проблемы. В тот момент, когда я нашел и реализовал решение проблемы, я уточняю решение за несколько шагов рефакторинга, чтобы подготовить его к интеграции в более крупный проект. В то же время я создал повторно используемый компонент для последующего использования. Сосредоточив внимание на возможности повторного использования, вы с меньшей вероятностью будете писать код для спагетти и с большей вероятностью сэкономите время на будущих проектах.

Этот подход также отлично подходит для изучения новых фреймворков или для тестирования новой библиотеки с открытым исходным кодом, с которой вы хотите поиграть. В ходе этой серии мы создали несколько проектов для iOS. С каждым новым проектом мы узнавали что-то новое и, по ходу дела, становились все более и более знакомыми с Xcode. Знакомство с вашей средой разработки — еще один ключевой элемент разработки iOS.

Мой второй совет — избегать копирования и вставки фрагментов кода, которые вы найдете в Интернете. Если вы не понимаете фрагменты, которые копируете, в долгосрочной перспективе вы от них не выиграете. Конечно, это может временно решить проблему, с которой вы боретесь, но используя случайные фрагменты кода, которые вы не понимаете, вы накапливаете техническую задолженность . Это не означает, что вы не должны включать в свои проекты хорошо поддерживаемые библиотеки, такие как AFNetworking или Magical Record . Это также не означает, что вы должны знать все детали реализации библиотек, которые вы используете в своих проектах. Если вы столкнулись с проблемой, которую вы можете решить самостоятельно, потратив один или два часа на написание решения, тогда это хорошо потраченное время.

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

Прежде чем углубиться в список полезных ресурсов, я хочу упомянуть, что Envato Tuts + существует уже много лет и создал впечатляющую коллекцию высококачественных учебных пособий по разработке под iOS. Около 400 учебных пособий по Envato Tuts + специально предназначены для разработки под iOS, от начинающих до продвинутых тем. У нас также есть несколько курсов по разработке под iOS, на которые вы, возможно, захотите взглянуть.

Если вы являетесь зарегистрированным разработчиком iOS, то у вас есть доступ к форумам разработчиков Apple . Форумы разработчиков Apple не только активны и полны разработчиков, которые знают, что их сотрудники, фреймворки и инженеры DTS (техническая поддержка разработчиков) поддерживают и контролируют форумы, которые иногда могут сэкономить ваш день или сэкономить вам день.

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

Справедливо сказать, что Stack Overflow произвел революцию в разработке программного обеспечения и сообщества разработчиков. Переполнение стека — отличное место для того, чтобы задавать вопросы, а также возвращать сообществу, помогая другим. Независимо от того, на каком языке вы работаете или на какой платформе вы разрабатываете программное обеспечение, существует вероятность того, что в Stack Overflow есть живое сообщество, сосредоточенное вокруг ваших интересов.

За последние несколько лет социальное кодирование стало очень популярным, и GitHub , безусловно, является движущей силой этой тенденции. Поскольку вы новичок в разработке для iOS, вы, вероятно, пока не сможете участвовать в проектах с открытым исходным кодом (iOS).

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

Apple, недавно открытый источник языка программирования Swift. В то же время компания сделала язык программирования Swift доступным по международной лицензии Creative Commons Attribution 4.0 . Команда Swift проделала фантастическую работу с этим справочником по Swift, и я призываю вас прочитать книгу от корки до корки, если вы серьезно относитесь к разработке Swift и iOS.

Еще одна замечательная книга о разработке Swift — « Функциональное программирование в Swift » Криса Эйдхофа, Флориана Куглера и Вутера Свиерстра. Несмотря на то, что это немного более продвинутое, функциональное программирование является важным аспектом разработки Swift. Функциональное программирование в Swift — отличная отправная точка.

Apress и O’Reilly Media — два издателя, которые известны тем, что выпускают высококачественные книги по разработке iOS и разработке в целом. Одна из первых книг о разработке какао, написанная когда-либо, — « Программирование какао для Mac OS X» . Эта книга написана и обновлена Аароном Хиллегасом , основателем ранчо Большого ботаника. Аарон очень хорошо известен в сообществе Какао, и многие разработчики узнали о разработке Какао из его книг, включая меня.

Всемирная конференция разработчиков Apple (WWDC) является ярким событием года для многих разработчиков какао. Каждая презентация, представленная на WWDC, записывается и может быть транслирована или загружена . Коллекция видеороликов восходит к WWDC 2010, поэтому у вас есть много материала для ознакомления.

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

  • Несколько недель назад у официального блога языка программирования Swift появился новый дом. Если вы хотите быть в курсе того, что происходит со Swift, то обязательно добавьте этот блог в закладки.
  • Cocoa Is My Girlfriend публикует более продвинутые, глубокие статьи. Авторы «Какао — моя подруга» — это Маркус Зарра, Мэтт Лонг, Фрейзер Хесс и Саул Мора (создатель Magical Record ).
  • Хотя блог Майка Эша не самый красивый в Интернете, он наполнен отличным контентом. В частности, его пятничные вопросы и ответы приятно читать.
  • Блог Оле Бегеманна содержит свежие и хорошо написанные статьи о разработке для iOS и смежных темах.
  • NSHipster — еще один замечательный блог, который ведет Нейт Кук. Слоган NSHipster гласит «… журнал пропущенных битов в Objective-C, Swift и Cocoa.», Который довольно хорошо обобщает содержание NSHipster.
  • Все, что Брент Симмонс пишет о разработке, стоит прочитать. У Брента большой опыт разработки программного обеспечения, и то, что он пишет, всегда стоит вашего времени.

Несколько лет назад Дейв Вервер запустил еженедельную рассылку iOS Dev Weekly о разработке iOS и Swift. Если вы хотите получить тщательно составленный список ссылок, связанных с разработкой для iOS и Swift, тогда я настоятельно рекомендую новостную рассылку Дейва. Я упоминал, что это бесплатно?

Twitter — отличная среда, чтобы быть в курсе развития iOS и OS X. Я собрал короткий список людей в твиттере, которым вы, возможно, захотите следовать.

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

Надеюсь, вам понравилась эта серия о разработке для iOS так же, как мне понравилось ее составлять. Если у вас есть какие-либо вопросы, не стесняйтесь оставлять комментарии или пинговать меня в Twitter . Предложения по будущим темам также можно оставить в комментариях.