Если не знаешь, надо не бояться, а узнавать.
Айн Рэнд “Атлант расправил плечи”
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/ddc/1c3/602/ddc1c3602c6b6847f2a335c5c4ba51b9.jpg)
Добрый день, меня зовут Игорь Томич и я лектор курсов iOS-разработки и сооснователь онлайн курсов Master Up. Это мой первый пост в наш корпоративный блог, в котором я решил поделиться советами для начинающих iOS-разработчиков. Свое первое приложение для iOS я начал писать в начале 2009 года, а в мае 2012 году провел первый курс обучения по рарзработке под эту же платформу и к этому времени у меня скопилось достаточно “часто повторяемых ошибок” и путей их решения.
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/8db/425/5a0/8db4255a026fb95c7b4c9edc4bc772b0.jpg)
Наверное, самое редко упоминаемое качество в подобных статьях и самая распространенная проблема начинающих разработчиков. Внимательность может сэкономить вам массу времени и сделать процесс получение знаний намного приятней. Мелкие синтаксические ошибки, вызов неправильных методов, неправильное понимание документации и другие подобные ошибки берут свои корни во невнимательности. Не спешите, вас никто не заставляет писать сразу правильный код или мнгновенно понимать документацию.
Учиться самостоятельно находить информацию
Научитесь пользоваться гуглом, поиском по документации в Xcode или в сторонних приложениях. Ищете ответы на stackoverflow.com или на профильных сайтах. Энтропия растет и человек умеющий быстро находить необходимую информацию всегда будет иметь преимущество.
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/14f/2b4/cc2/14f2b4cc2a0c0e210af50c262ba19e49.jpg)
Нет времени читать вторичную информацию, надо обращаться к первоисточникам и генераторам движения вперед. Apple всегда будет ресурсом изначальной информации по платформе, приучитесь читать документацию с developer.apple.com/ios. Читайте и смотрите качественный контент www.raywenderlich.com, nshipster.com, nsscreencast.com. Следите за деятельностью и мнением “грандов”, таких как Matt Thompson, Matt Gammell, John Gruber, Mike Ash Evan Doll. Найдите таких, подача и интенсивность информации подходит лично вам.
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/216/d50/19a/216d5019a3ba9cdecddea25d236c8098.jpg)
Apple тратит много усилий и финансов пытаясь донести глубокое понимание различных технологий проводя ежегодный Worldwide Developers Conference. Обязательно смотрите видео developer.apple.com/wwdc/videos, это просто кладезь правильной и доступной к пониманию информации.
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/0c8/751/f4f/0c8751f4f0aa21db1019606771444429.jpg)
Довольно часто, на первых этапах, сложно досконально понять платформу. Особенно сложно теория поддается изучению, если это первая платформа разработки. Понимание, почему “так правильно”, а вот этот подход “не очень” приходит только с практикой. Программирование это как умение кататься на велосипеде, сколько бы вам не рассказывали и не показывали, надо банально “накатать” определенное количество часов.
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/962/6c3/ed6/9626c3ed6a3199ddd34aa0a84396f249.jpg)
Очень часто при малейшем отклонении от правильного поведения начинающий разработчик впадает в ступор. Вероятность того, что уже кто-то столкнулся с вашей проблемой довольно высока. Поищите по тексту ошибки в google или stackoverflow. Попробуйте посмотреть issues на github в случае ошибок в сторонних библиотеках. Мы не уникальны, как и наши ошибки, используйте “опыт интеренета” для быстрого нахождения ответов.
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/a54/9af/336/a549af336bfa1a474eff72226ed4393d.jpg)
Не пишите “велосипеды”, скорее всего cocoapods.org уже содержит библиотеку, которая решает вашу проблему. В современных проектах, количество сторонних компоненов давно больше десятка, по этому умение работать с менеджеров пакетов будет большим плюсом.
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/f45/418/457/f45418457ac3af0a3205095cc5777922.jpg)
Cмотрите популярные библиотеки на GitHub. Скачивайте и смотрите чужие проекты. Сейчас в open source доступно много хороших и реальных приложений. Например проекты Cheddar и InkPad.
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/e4e/383/05d/e4e38305dd116c9266d54aa6e02b71dd.jpg)
Лучший способ изучить любую платформу это понять философию и уметь отвечать на вопрос “почему?”. iOS довольно целостная платформа, которая берет свои корни из NeXTSTEP. Постарайтесь “прочувствовать” подход, пути решения и логику в фреймворках.
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/50f/33f/10f/50f33f10fa2b389faa1e6496896db0f3.jpg)
Хороший способ мотивированно писать и получить опыт общения с конечными пользователями. Решите проблему которая интересна лично вам. У меня есть куча примеров, когда маленький проект “для себя”, стал неплохим финансовым вознаграждением разработчику. Это и наш личный проект Маршрутки и Тренировка зрения двух ребят с нашего курса.
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/6c2/280/09a/6c228009aa994134388988beb7befd53.jpg)
В этом сразу стоит признаться себе, надо просто начинать учиться и делать, в противном случае всегда будут причины немного отложить обучение или написание своего проекта. Начните с малого, но сегодня.
Айн Рэнд “Атлант расправил плечи”
![](https://habrastorage.org/getpro/habr/post_images/ddc/1c3/602/ddc1c3602c6b6847f2a335c5c4ba51b9.jpg)
Добрый день, меня зовут Игорь Томич и я лектор курсов iOS-разработки и сооснователь онлайн курсов Master Up. Это мой первый пост в наш корпоративный блог, в котором я решил поделиться советами для начинающих iOS-разработчиков. Свое первое приложение для iOS я начал писать в начале 2009 года, а в мае 2012 году провел первый курс обучения по рарзработке под эту же платформу и к этому времени у меня скопилось достаточно “часто повторяемых ошибок” и путей их решения.
Внимательность
![](https://habrastorage.org/getpro/habr/post_images/8db/425/5a0/8db4255a026fb95c7b4c9edc4bc772b0.jpg)
Наверное, самое редко упоминаемое качество в подобных статьях и самая распространенная проблема начинающих разработчиков. Внимательность может сэкономить вам массу времени и сделать процесс получение знаний намного приятней. Мелкие синтаксические ошибки, вызов неправильных методов, неправильное понимание документации и другие подобные ошибки берут свои корни во невнимательности. Не спешите, вас никто не заставляет писать сразу правильный код или мнгновенно понимать документацию.
Учиться самостоятельно находить информацию
Научитесь пользоваться гуглом, поиском по документации в Xcode или в сторонних приложениях. Ищете ответы на stackoverflow.com или на профильных сайтах. Энтропия растет и человек умеющий быстро находить необходимую информацию всегда будет иметь преимущество.
Посещайте правильные ресурсы
![](https://habrastorage.org/getpro/habr/post_images/14f/2b4/cc2/14f2b4cc2a0c0e210af50c262ba19e49.jpg)
Нет времени читать вторичную информацию, надо обращаться к первоисточникам и генераторам движения вперед. Apple всегда будет ресурсом изначальной информации по платформе, приучитесь читать документацию с developer.apple.com/ios. Читайте и смотрите качественный контент www.raywenderlich.com, nshipster.com, nsscreencast.com. Следите за деятельностью и мнением “грандов”, таких как Matt Thompson, Matt Gammell, John Gruber, Mike Ash Evan Doll. Найдите таких, подача и интенсивность информации подходит лично вам.
Смотрите WWDC
![](https://habrastorage.org/getpro/habr/post_images/216/d50/19a/216d5019a3ba9cdecddea25d236c8098.jpg)
Apple тратит много усилий и финансов пытаясь донести глубокое понимание различных технологий проводя ежегодный Worldwide Developers Conference. Обязательно смотрите видео developer.apple.com/wwdc/videos, это просто кладезь правильной и доступной к пониманию информации.
Практикуйтесь, не пытаясь сразу понять все
![](https://habrastorage.org/getpro/habr/post_images/0c8/751/f4f/0c8751f4f0aa21db1019606771444429.jpg)
Довольно часто, на первых этапах, сложно досконально понять платформу. Особенно сложно теория поддается изучению, если это первая платформа разработки. Понимание, почему “так правильно”, а вот этот подход “не очень” приходит только с практикой. Программирование это как умение кататься на велосипеде, сколько бы вам не рассказывали и не показывали, надо банально “накатать” определенное количество часов.
Понимать, что ошибки не уникальны
![](https://habrastorage.org/getpro/habr/post_images/962/6c3/ed6/9626c3ed6a3199ddd34aa0a84396f249.jpg)
Очень часто при малейшем отклонении от правильного поведения начинающий разработчик впадает в ступор. Вероятность того, что уже кто-то столкнулся с вашей проблемой довольно высока. Поищите по тексту ошибки в google или stackoverflow. Попробуйте посмотреть issues на github в случае ошибок в сторонних библиотеках. Мы не уникальны, как и наши ошибки, используйте “опыт интеренета” для быстрого нахождения ответов.
Используйте Cocoapods
![](https://habrastorage.org/getpro/habr/post_images/a54/9af/336/a549af336bfa1a474eff72226ed4393d.jpg)
Не пишите “велосипеды”, скорее всего cocoapods.org уже содержит библиотеку, которая решает вашу проблему. В современных проектах, количество сторонних компоненов давно больше десятка, по этому умение работать с менеджеров пакетов будет большим плюсом.
Читайте GitHub
![](https://habrastorage.org/getpro/habr/post_images/f45/418/457/f45418457ac3af0a3205095cc5777922.jpg)
Cмотрите популярные библиотеки на GitHub. Скачивайте и смотрите чужие проекты. Сейчас в open source доступно много хороших и реальных приложений. Например проекты Cheddar и InkPad.
Задавать себе вопросы
![](https://habrastorage.org/getpro/habr/post_images/e4e/383/05d/e4e38305dd116c9266d54aa6e02b71dd.jpg)
Лучший способ изучить любую платформу это понять философию и уметь отвечать на вопрос “почему?”. iOS довольно целостная платформа, которая берет свои корни из NeXTSTEP. Постарайтесь “прочувствовать” подход, пути решения и логику в фреймворках.
Завести pet project
![](https://habrastorage.org/getpro/habr/post_images/50f/33f/10f/50f33f10fa2b389faa1e6496896db0f3.jpg)
Хороший способ мотивированно писать и получить опыт общения с конечными пользователями. Решите проблему которая интересна лично вам. У меня есть куча примеров, когда маленький проект “для себя”, стал неплохим финансовым вознаграждением разработчику. Это и наш личный проект Маршрутки и Тренировка зрения двух ребят с нашего курса.
Времени никогда не будет хватать
![](https://habrastorage.org/getpro/habr/post_images/6c2/280/09a/6c228009aa994134388988beb7befd53.jpg)
В этом сразу стоит признаться себе, надо просто начинать учиться и делать, в противном случае всегда будут причины немного отложить обучение или написание своего проекта. Начните с малого, но сегодня.