Блог

5 книг для начинающих разработчиков Objective-C

Сначала C или сразу Objective-C?
07 мая 20187 минут4974

Программисты, которые только планируют изучать Objective-C, часто задают вопрос: «Обязательно ли перед этим учить С»? Мы подобрали хорошие книги для новичков, авторы которых по-разному отвечают на этот вопрос. Читайте экспертов и выбирайте, какой способ обучения больше подходит вам.

Программирование на Objective-C 2.0

Автор книги Стивен Кочан занимается программированием на С с момента выхода первого Mac в 1984 году. Он также автор нескольких бестселлеров по языку С, а его книга «Программирование на C для Mac» была включена в официальную подборку Apple Press Library.

Книгу по Objective-С Кочан написал в 2004 году, с тех пор она переиздавалась шесть раз.

Весь материал разбит на три большие части:

  • Язык Objective-C (все об основах языка).
  • Фреймворк Foundation (описывается работа с обширным набором готовых классов, которые образуют фреймворк Foundation).
  • Cocoa, Cocoa Touch и iOS SDK (обзор фреймворков Cocoa и Cocoa Touch, пошаговый разбор того, как разрабатывается простое приложение на iOS с использованием iOS SDK).

Первая глава начинается с написания простой программы на Objective-С и примера кода. Автор вводит новые понятия постепенно – весь материал выстроен так, чтобы к концу книги у читателя было достаточно понимания, чтобы написать первое iOS-приложение. Перед тем, как изучать это издание, разработчик советует немного разобраться с основами программирования – изучить теорию структуры данных и работы с памятью.

В предисловии Кочан пишет, что долго думал, в какой форме преподнести весь материал, которым он владеет. В результате автор решил рассказывать о языке Objective-C отдельно от С:

«Изучение всего языка C перед изучением Objective-C неприемлемо. Процедурный язык C содержит много средств, которые не являются необходимыми для программирования на Objective-C,  особенно на уровне новичков. На самом деле обращение к некоторым из этих средств противоречит методологии надежного объектно-ориентированного программирования. Также нет смысла в изучении деталей процедурного языка перед изучением объектно-ориентированного. Это дезориентирует программиста и мешает осваивать объектно-ориентированный подход к программированию. То, что Objective-C является расширением языка С, вовсе не означает, что нужно сначала выучить С. Поэтому я решил, что не буду начинать с обучения языку С и не буду предполагать, что читатель знает С. Вместо этого я принял необычный подход: обучение языку Objective-C и базовому языку С как объединенному языку с точки зрения объектно-ориентированного программирования».

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

У Стивена Кочана также есть видеокурс по Objeсtive-C. Многие разработчики очень положительно отзываются об этих видеоуроках, единственный минус — они доступны только на английском.  

Objective-C. Программирование для iOS и MacOS

В предисловии автор Аарон Хиллегасс объясняет, что его подход в обучении будет отличаться от подхода его коллег. Хиллегасс не хочет подробно останавливаться на синтаксисе Objective-C, но планирует большую часть материалов посвятить объяснениям, «как работает программирование и что о нем думают опытные программисты».

Это книга не будет легкой для чтения, предупреждает автор:

«Каждый грамотный программист Objective-C должен достаточно глубоко понимать С. Кроме того, многие идеи, которые в Objective-C выглядят довольно сложными, уходят корнями в простые концепции С. Часто я буду представлять некоторую идею на С, а затем направлять вас к современному аналогу той же идеи на Objective-C».

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

Аарон Хиллегасс – известный разработчик и основатель проекта The Big Nerd Ranch. В 90-х он работал в компании NeXT (основана Стивом Джобсом после ухода из Apple), в 2000 году Apple нанял Хиллегасса, чтобы обучать своих программистов разработке в Cocoa. Позднее Хиллегасс запустил проект The Big Nerd Ranch – компания, которая разрабатывает программное обеспечение для Apple.

У Big Nerd Ranch есть популярные курсы и серия книг по программированию. Все книги Аарона Хиллегасса вышли именно в этой серии и стали классикой среди мобильных разработчиков. У автора есть и другие известные книги по программированию на Objective-C: iOS Programming и Cocoa Programming for Mac OS X (не переведены на русский язык).

Программирование для iOS 7

Автор Мэтт Нойбург настоятельно рекомендует читать эту книгу с iOS Programming Fundamentals и называет эту книгу продолжением. Читать ее нужно с базовыми представлениями о языках C, Objective-C и среде Xcode.

Книга состоит из трех частей, посвященным программированию на iOS:

  1. Описание языка C (автор считает, что изучать этот язык необходимо и он при написании приложений под iOS используется гораздо чаще, чем многие думают). Введение в программирование на Objective-C. Объектно-ориентированные концепции. Механизмы работы кластеров и экземпляров.
  2. Среда Xcode (именно в ней разрабатываются приложения под iOS). Все стадии разработки приложения вплоть до их размещения в App Store. Важная глава – о работе программы Interface Builder.
  3. Язык Objective-С с точки зрения среды Cocoa Touch.

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

Мэтт Нойбург, в отличие от предыдущего автора, настаивает на изучении Objective-C с основ и в том числе, с изучения языка С. Еще в начале книги он с сожалением говорит о большом количестве программистов, которые пишут приложения для iOS без правильной базовой подготовки:

«Всеохватывающее стремление программировать для операционной системы iOS способствовало возникновению неприятной тенденции – начинать программировать, не умея это делать. Система iOS обеспечивает программиста силами, которые могут показаться совершенно безграничными, но которыми нельзя воспользоваться без серьезной подготовки. К сожалению, я часто сталкиваюсь с программистами, глубоко погруженными в создание интересных приложений, вопросы которых совершенно ясно показывают, что они не знакомы с азами поведения в том мире, в который они так счастливо и беззаботно погрузились».  

В первой главе Мэтт Нойбург более детально объясняет, почему для программирования на iOS необходимо в первую очередь изучить язык С:

  • Objective-C является надмножеством языка программирования С. Это означает, что Objective-C включает в себя С; все, что верно для С, верно и для Objective-C.
  • Часть интерфейса API-системы iOS основана на С, а не на Objective-C.

Для изучения языка С автор советует книгу Брайана Кернигана и Дениса Ритчи (создателя этого языка) The C Programming Language.

iOS. Приемы программирования

Как рассказывает автор Вандад Нахавандипур в предисловии, Objective-C занимает особое место среди языков, на которых он программировал с детства. Его привлекла чистота языка – «каждая команда делает всего одну вещь, и делает ее хорошо».

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

В книге уделено большое внимание обновлениям, которые появились для iOS 7. Автор подробно рассматривает фреймворки и классы, доступные для SDK iOS 7:

  • Фреймворк UIKit и его дополнение UIKit Dynamics.
  • Технология Grand Central Dispatch, с помощью которой Apple в основном обеспечивает параллелизм в iOS.
  • Комплект для программирования карт Map Kit и фреймворк Core Location.
  • Синтаксические анализаторы для JSON и XML.
  • Библиотека фотографий и фреймворк ресурсов Assets Framework.
  • Новейшие возможности Xcode.
  • Фреймворк Core Data.
  • Фреймворк Core Graphics.
  • Фреймворк Pass Kit.

Автор данного издания не настаивает на изучении языка С для разработки приложений под iOS (по крайне мере, ничего не пишет об этом в данной книге):

«Чтобы программировать приложения для iOS 7, вы должны знать основы языка Objective-C, с которым мы будем работать на протяжении всей этой книги. Как понятно из названия, язык Objective-C основан на С, но имеет определенные расширения, которые облегчают оперирование объектами. Объекты и классы имеют фундаментальное значение в объектно-ориентированном программировании (ООП). К числу объектно-ориентированных языков относятся Objective-C, Java, C++ и многие другие».

Objective-C Recipes

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

Автор книги Мэтью Кэмпбелл – ведущий разработчик приложения Tasting Notes (приложение для дегустации вин) и основатель компании Mobile App Mastery. Компания занимается обучением мобильных разработчиков. Он обучил разработке на iOS более 800 программистов, написал несколько книг и работает над новой – Objective-C Syntax Quick Reference.

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

Примеры кода понятные – даже новичку удастся с легкостью их повторить. Эта книга не подойдет для изучения Objective-C с нуля, но станет хорошим продолжением прочтения предыдущих материалов, о которых мы говорили, поможет более глубоко погрузиться в разработку.

Кэмпбелл не пишет о том, что для изучения Objective-C нужно заранее изучить язык C. Он не акцентирует внимание на том, как лучше изучать этот язык, а делится результатами своей практической деятельности и, как мы видим из предисловия, большой любовью к этому языку:

«Изучение программирования сегодня – это изучение того, какую форму можно придать миру вокруг нас. У разработчиков Objective-C есть уникальная возможность создавать приложения, которые будут использовать люди по всему миру.

Пользоваться этим языком – одно удовольствие. В то время как другие языки часто кажутся неуклюжими, Objective-C грациозно демонстрирует свою мощь и разнообразие. Проблемы, которые кажутся нерешаемыми в других языках, с Objective-C тают на глазах. Это книга – об изучении Objective-C в его естественной среде. У Objective-С есть своя история о том, как решать проблемы элегантно. И он может рассказать ее в коде».

ресурсы для программистовbooksobjective cios
Нашли ошибку в тексте? Напишите нам.
Спасибо,
что читаете наш блог!
Posts popup