- PVSM.RU - https://www.pvsm.ru -
Какое-то время назад я решил перепрофилироваться на разработчика пол iOS, и решил систематизировать материал. Так сказать, составить свой roadmap. Получился некий обзор, которым я хотел бы поделиться с вами.
Данный обзор не претендует на полноту, непогрешимость и истину в последней инстанции.
Итак, вы приобрёли iPhone или iPad. Чудесные устройства, не правда ли? Какое-то время спустя пришла мысль “а не создать ли мне под него программу, которая завоюет мир?”. Я расскажу вам, с чего начать.
Первое, что вам понадобится – компьютер с операционной системой Mac OS X. Хотя бы Mac Mini (стоимость от 20000 рублей). По другому никак. На крайний случай, можно поставить под Windows или Linux систему виртуализации (VMWare, VirtualBox и т.д.), и уже там установить Mac OS X (не буду описывать сам процесс – на хабре уже много раз обсуждали).
Второе – нужно знание английского языка. Хотя бы в рамках «перевожу со словариком» — после первых 2-3 книг подтянете ещё и английский (что вообще никогда не помешает) до уровня «свободное чтение технической литературы». Переводные книги выходят с гигантским опозданием – полгода-год минимум. А большинство вообще не выходят на русском языке. Да и большую часть переводной программисткой литературы читать невозможно – переводят люди, далёкие от этой тематики.
Приготовьтесь купить n-ое количество электронных книг (можно и в бумаге, но а: везти будут долго; б: будет дороже). Стоят они примерно 25-80 долларов. Да, дорого, но оно того стоит.
Программировать под iOS вы будете в основном на языке Objective-C. Objective-C — это ООП (объектно-ориентированное программирование) надстройка над языком C. Так что C знать обязательно. Необходимые знания можно почерпнуть в книге
David Mark, James Bucanek. Learn C on the Mac 2nd Edition [1]
Далее, нужны знания языка программирования Objective-C. Великолепный язык, относительно легко изучаемый.
Итак, основы языка можно изучить по книгам:
Scott Knaster, Waqar Malik, Mark Dalrymple. Learn Objective-C on the Mac 2nd Edition [2]
или
Aaron Hillegass. Objective-C Programming: The Big Nerd Ranch Guide [3]
Следующая книга является, скорее, приложением к предыдущим
Matthew Campbell. Objective-C Recipes [4]
Следующее, что надо знать для полноценного ООП – паттерны проектирования. В идеале, крайне желательно прочесть книгу Банды Четырёх (Gang of Four. Design Patterns). Далее, книга о паттернах применительно к Objective-C:
Carlo Chung. Pro Objective-C Design Patterns for iOS [5]
iOS SDK – это комплект средств разработки под iPhone, iPad и iPod. Без его отличного знания – никуда.
iOS UI – пользовательский интерфейс. Проще говоря, это кнопочки, ползунки, надписи и т.д и т.п. – всё что вы видите на экране вашего устройства. Естественно, и это надо знать как «отче наш».
Для начала, следует прочесть эту книгу
David Mark, Jack Nutting, Jeff LaMarche, Fredrik Olsson. Beginning iOS 6 Development [6]
Далее, её продолжение:
David Mark, Alex Horovitz, Kevin Kim, Jeff LaMarche. More iOS 6 Development [7]
Ну и в довершении, можно пролистать приложение к двум предыдущим книгам
Hans-Eric Gronlund, Colin Francis, Shawn Grimes. iOS 6 Recipes [8]
Весьма хороша следующая книга – вполне тянет на звание «полное руководство по разработке для iOS». К сожалению, книга несколько устаревшая, но это нисколько не умаляет её достоинств.
Joe Conway, Aaron Hillegass. IOS Programming: The Big Nerd Ranch Guide, 3rd Edition [9]
Следующие две книги, так сказать, для совершенствования. Каждая из них является сборником уроков и объяснений тонкостей iOS SDK. Все эти материалы можно найти в разрозненном виде в этих ваших интернетах, но в этих книгах это собрано, отсеяно и отсортировано с особой любовью.
iOS 5 By Tutorials, Second Edition [10]
iOS 6 By Tutorials [11]
Предыдущих книг вам будет достаточно, чтобы написать несложные приложения для вашего мобильного устройства. Сложные вы будете писать после огромного количества практики. В какой-то момент вам захочется написать игру, и этих знаний вам просто не хватит. Для написания игр вам потребуется во много раз больше знаний: математический базис, отличное знание геометрии вплоть до трёхмерной, физический базис, основы проектирования AI и многое, многое, многое другое… Но этим вы займётесь сами. Я же просто перечислю набор книг, которые желательно прочитать разработчику игр под iOS.
Lucas Jordan. Beginning iOS 5 Games Development [12]
Kyle Richter. Beginning iOS Game Center and Game Kit [13]
Steffen Itterheim, Andreas Low. Learn cocos2d Game Development with iOS 5 [14]
Jayant Varma. Learn Lua for iOS Game Development [15]
Mike Smithwick. Pro OpenGL ES for iOS [16]
Sue Blackman. Beginning 3D Game Development with Unity [17]
Philip Chu. Learn Unity 4 for iOS Game Development [18]
Robert Chin. Beginning iOS 3D Unreal Games Development [19]
Вы думаете, что прочтя все эти книги, вы станете Senior iOS Developer? Нет, нет, нет и нет!
Когда-то Стив Балмер, став генеральным директором корпорации Microsoft, рассказывал, кто приносит успех операционным системам и платформам: «Developers! Developers! Developers! Developers!».
Я переиначу его слова: что делает разработчика мастером? Практика! Практика! Практика! Практика!
Никакие знания не перевесят практики. Лично мой совет: прочитав по моему обзору все книги от первой до «Beginning iOS 6 Development» включительно, устроиться в любую компанию на должность junior разработчика. На любые условия. На любую зарплату. Этот опыт бесценен – его не получишь из книг.
Удачи!
Автор: Armi0000
Источник [20]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/programmirovanie/25112
Ссылки в тексте:
[1] David Mark, James Bucanek. Learn C on the Mac 2nd Edition: http://www.apress.com/programming/iphone-ipad/9781430245339
[2] Scott Knaster, Waqar Malik, Mark Dalrymple. Learn Objective-C on the Mac 2nd Edition: http://www.apress.com/programming/iphone-ipad/9781430241881
[3] Aaron Hillegass. Objective-C Programming: The Big Nerd Ranch Guide: http://www.bignerdranch.com/book/objective-c_programming_the_big_nerd_ranch_guide
[4] Matthew Campbell. Objective-C Recipes: http://www.apress.com/programming/iphone-ipad/9781430243717
[5] Carlo Chung. Pro Objective-C Design Patterns for iOS: http://www.apress.com/programming/iphone-ipad/9781430233305
[6] David Mark, Jack Nutting, Jeff LaMarche, Fredrik Olsson. Beginning iOS 6 Development: http://www.apress.com/programming/iphone-ipad/9781430245124
[7] David Mark, Alex Horovitz, Kevin Kim, Jeff LaMarche. More iOS 6 Development: http://www.apress.com/programming/iphone-ipad/9781430238072
[8] Hans-Eric Gronlund, Colin Francis, Shawn Grimes. iOS 6 Recipes: http://www.apress.com/programming/iphone-ipad/9781430245995
[9] Joe Conway, Aaron Hillegass. IOS Programming: The Big Nerd Ranch Guide, 3rd Edition: http://www.bignerdranch.com/book/ios_programming_the_big_nerd_ranch_guide_rd_edition_
[10] iOS 5 By Tutorials, Second Edition: http://www.raywenderlich.com/store/ios-5-by-tutorials
[11] iOS 6 By Tutorials: http://www.raywenderlich.com/store/ios-6-by-tutorials
[12] Lucas Jordan. Beginning iOS 5 Games Development: http://www.apress.com/programming/iphone-ipad/9781430237105
[13] Kyle Richter. Beginning iOS Game Center and Game Kit: http://www.apress.com/programming/iphone-ipad/9781430235279
[14] Steffen Itterheim, Andreas Low. Learn cocos2d Game Development with iOS 5: http://www.apress.com/programming/iphone-ipad/9781430238133
[15] Jayant Varma. Learn Lua for iOS Game Development: http://www.apress.com/programming/iphone-ipad/9781430246626
[16] Mike Smithwick. Pro OpenGL ES for iOS: http://www.apress.com/programming/iphone-ipad/9781430238409
[17] Sue Blackman. Beginning 3D Game Development with Unity: http://www.apress.com/9781430234227
[18] Philip Chu. Learn Unity 4 for iOS Game Development: http://www.apress.com/9781430248750
[19] Robert Chin. Beginning iOS 3D Unreal Games Development: http://www.apress.com/9781430240358
[20] Источник: http://habrahabr.ru/post/166213/
Нажмите здесь для печати.