И с этой статьи я начинаю вести блог по программированию для iOS . А в дальнейшем и для OS X!
Зачем мне это нужно? Не так давно я стал счастливым обладателем iPad Retina. Он достаточно сильно понравился мне и приятно впечатлил! Я даже начал понимать “яблокофилов” с их постоянным стремлением приобретать всю продукцию Apple, которая выходит в свет. Но одно дело приобретать чужое, а другое – создавать своё своими руками! И эта мысль навела меня на создание данного сайта о программировании приложений/игр для продукции от Apple.
Для кого этот блог? В первую очередь он для тех, кто любит программировать и творить. Вполне возможно, что вы никогда не программировали на Objective-C (именно этот язык программирования используется), но очень хотите начать. Однако, желательно, чтобы вы знали какой-нибудь язык программирования, например, Excel макросы, QBasic, С++, С#, 1С в конце концов. Т.е. Вам очень поможет математический склад ума. Если и это не так – ничего страшного. Блог создан для новичков, таких же как я. Голый энтузиазм Я буду стараться объяснять просто, доступно и интересно, как сам люблю.
Несколько слов о языке программирования. Отзывы в Интернете сходятся в том, что этот язык удобен, не сложен, интересен, более “логичен” для человека, чем языки прошлых поколений. Поэтому, если у Вас есть желание и азарт, то скучно не будет!
Опять же, из отзывов в Интернете и по собственному опыту использования приложений из AppStore я понял, что Дизайн приложения стоит на первом месте. Он обгоняет даже функциональность программы. Т.е., если у Вас программа очень крутая, но выглядит некрасиво, то популярности она не заимеет. Поэтому необходимо уделять большое внимание дизайну приложения, созданию красивого Интерфейса программы, а значит и работать в Photoshop, может быть, консультироваться с дизайнерами (или изучать дизайнерские моменты в Интернете).
Запоминаем: Интерфейс и Дизайн в наших приложениях должны быть на высшем уровне!
Для чего создавать приложения/игры на iOS? Тут есть два варианта:
1. Для себя. У вас есть iPhone/iPad и вы никак не можете найти приложение, которое бы удовлетворяло ваши потребности. Создайте его сами! Любые ваши “хотелки” вы сможете реализовать в своём приложении и радоваться ему!
2. Для всех. Этот вопрос уже интереснее. Ведь можно быть добрым молодцем и интересные приложения/игры раздавать бесплатно. А можно и за 1$-100$ продавать Если конечно его захотят купить:) Думаю последних будет большинство. Кстати, Apple забирает себе 30% выручки от продаж
Так или иначе, для разработки приложений есть 2 пути:
1. Бесплатный. Вы разрабатываете приложение, тестируете его на эмуляторах среды разработки XCode и дальше операционной системы его не выносите. Даже на свой собственный телефон поставить не сможете.
2. Платный. Вы разрабатываете приложение, тестируете его на эмуляторах среды разработки XCode и покупаете:
а. iOS Developer Program - 99$ в год, если желаете создавать бесплатные или платные приложения для iPhone, iPad, iPod touch, и распространять через AppStore. (то что нам нужно в дальнейшем!). А также тестировать их на своих девайсах.
б. iOS Enterprise Developer Program - 299$ в год, если желаете разрабатывать in-house приложения - приложения, для внутреннего использования в своей компании, без открытого доступа.
В итоге имеем: вначале нашего пути нам достаточно создавать приложения и смотреть, как они выглядят в эмуляторах. Как только мы почувствуем уверенность в себе, покупаем iOS Developer Program и, вперед, в мир AppStore. Инструкцию по регистрации я сделаю позже, как только это нам понадобится.
Для информации: Став подписчиком iOS Developer Program , вы обязаны ежегодно оплачивать эту подписку. Подписка может быть продлена в пределах 60 дней после окончания предыдущей. Если подписка не продляется, то вы теряете право распространять приложения через AppStore, ваши сертификаты разработчика будут удалены. В довершение, все приложения, которые вы загрузили на AppStore, так же будут удалены.
С другой стороны, принимая решение стать разработчиком под iOS, следует быть уверенным, что вы собираетесь этим зарабатывать себе на жизнь. А размер заработков с лихвой покроет ваши затраты на подписку.
Об этом мы еще поговорим
А теперь я расскажу о том, как мы будем обучаться программированию. Я буду делать (“постить”) записи с новыми уроками с определенным интервалом времени. Изучать мы будем только то, что нам необходимо в данный момент. Никакой излишней общей информации, если она нам не понадобится на данном этапе, не будет. Уроки текстовые. Чем для меня не удобны видеоуроки: во-первых, надо записывать свой голос), во-вторых, с видеоурока не скопируешь часть кода, поэтому его придется перепечатать, в-третьих, если что-то прослушал, то нужно “перематывать” и т.п., что отнимает куда больше времени. + текст можно отредактировать быстро, а видео переснять – долго. Поэтому – текстовые.
По поводу информации, которая есть в интернете. Она есть, но либо устарела, либо на английском. Кто дружит с английским – добро пожаловать на официальные сайты разработчиков. Для тех, кому русский язык родней – добро пожаловать
13.10.2017Программирование для мобайл-сферы развивается быстрыми темпами и имеет большой спрос у аудитории: мы отвечаем на электронные письма, планируем дела, общаемся, отдыхаем, покупаем одежду и технику с помощью смартфона. Если программирование - ваша страсть и вы хотите облегчить жизнь сотни пользователей, создавая крутые приложения - врывайтесь в мобайл. А в этой статье мы расскажем, как это сделать
Кто такой iOS-разработчик?
Разработчик приложений для iOS - это программист, который пишет back end для сервисов компании Apple.
Программистов в мобайл приводят совершенно разные ситуации. Если вы считаете, что между iOS и Android-разработчиками война, то вы совершенно неправы. Обе платформы востребованы, имеют свои преимущества, а программисты дружат и обмениваются опытом. Решение о том, для какой платформы разрабатывать принимается в основном, по предпочитаемому языку или бекграунду. Подробнее об этом ниже, а пока что несколько фактов, которые могут помочь расставить акценты для вас:
- Системой Android пользуется большое количество моделей, которые имеют разные характеристики, поэтому на адаптацию приложения уходит больше времени, код iOS-приложения адаптировать легче.
- Для того, чтобы учиться программировать под iOS, нужно соответствующее оборудование - iPhone, Mac
С чего начать?
Итак, если вы мечтаете писать крутые приложения для iOS и хотите узнать, как стать разработчиком apple, мы дадим вам несколько советов.
1 У вас должны быть горящие глаза
Это вообще самое главное в учебе и работе. Если вас привлекают только зарплаты, которые получают программисты, вам точно не стать успешным.
2 Вы должны понимать, чем отличаются мобильные телефоны от компьютеров - и это не шутка:)
Ресурсы мобайла ограничиваются производительностью процессора, объемом памяти, качеством батареи, а также подключением к интернету. Чтобы делать качественные приложения, вы должны понимать “боли” аудитории и программировать так, чтобы облегчить их.
3 Начните с основ
Прочитайте книгу о мобайл-программировании, посмотрите видеокурсы. Таким образом, вы вникните в суть и дальше “плыть” будет легче.
4 Погрузитесь в сферу
С какого языка программирования начать?
Разработчики приложений для ios пишут на Swift и Objective-C. Советуем для начала освоить Swift - основной язык для iOS и постепенно учить Objective-C, который также понадобится вам для написания приложений и использования библиотек и ресурсов.
Если у вас есть опыт разработки на C++, это будет отличным преимуществом, поскольку “плюсы” прививают любовь к качественному продукту, принципам и то, что у мобайла ресурсы ограничены, вас не будет вводить в затруднение.
Требования компаний к iOS разработчикам начального уровня
Стандартно к Junior-разработчикам на iOS компании выдвигают такие требования:
- Xcode & Interface Builder
- CocoaTouch
- Использование CocoaPods
- Понимание MVC
- Push Notifications
- UIKit
- CoreData
- Опыт работы с библиотеками AFNetworking, Alamofire, RestKit
- Auto Layout
- Debugging в Xcode
- In-App Purchase
Если вы не использовали какие-то инструменты из этого списка, вас все равно могут принять на работу, но существуют “киты”, без которых никуда. Мы расскажем о наиболее важном.
Как получить работу на должность Junior iOS разработчик
Что необходимо сделать, чтобы соответствовать требованиям уровня Junior и получить должность “iOS разработчик”?
Во-первых, будьте уверены, что IT-компании заинтересованы в программистах начального уровня, которые в перспективе могут вырасти с помощью тим-лида. Спрос на iOS-разработчиков достаточно высок - с 2013 года он вырос в два раза, а конкурс на место вдвое меньше, чем среди разработчиков Android .
Что нужно знать о Swift, чтобы стать Junior-разработчиком?
Для того, чтобы попасть в IT-компанию, необязательно идеально знать Swift. Для должности джуна, вам нужны:
- базовые знания синтаксиса, классов, инициализации
- обработка ошибок
- знание логических выражений, операторов, циклов и массивов
Зачем программисту навыки пространственного мышления?
Это один из самых важных навыков для разработчика под iOS, который влияет на юзабилити приложений. Вам нужно понимать, как пользователи взаимодействуют с сервисами и как они выводятся на разных платформах.
Какие правила проектирования нужно освоить?
Разработчик под ios должен освоить MVC (Model-View-Controller) - определяет, как данные отображаются и обновляются для пользователя. А также паттерн делегирование - с его помощью вы сможете рациональнее переиспользовать код. Все это нужно для того, чтобы создавать интуитивно понятные пользователю приложения, что очень важно для его прибыльности.
Для чего iOS-developer’у нужно освоить GitHub?
GitHub - это отличный инструмент для изменения и отслеживания кода, когда над ним работают несколько разработчиков, также он не зависит от его местоположения.
Таким образом, вы будете обладать хостингом для кода, пользоваться историей изменений и сохраняться на локальном хранилище.
iPhone разработчик - это не просто программист, который идеально знает Swift и Objective-C. Вы должны смотреть на процесс разработки приложения шире и обладать необходимыми навыками для того, чтобы делать первоклассные проекты. Поэтому, кроме того, чтобы учить языки программирования, мы советуем изучить создание приложений в целом и начинать практиковаться:)
Например, один из наших разработчиков в начале своего пути ходил по разным собеседованиям на разные должности, переписывал вопросы, которые ему задавали и обучался самостоятельно: “Я считаю, что книги не помогают - они хороши, когда у тебя есть объем знаний и ты хочешь его структурировать. Поэтому лучше всего ставить цель, начинать с малого и двигаться.”
Для того, чтобы попасть в Artjoker, кроме навыков, описанных выше, нужно:
- Следовать принципам SOLID, DRY, YAGNI
- Использовать менеджеры зависимостей CocoaPods (Carthage)
- Хорошо понимать GIT flow
- Работать с базами данных (CoreData, SQLite или Realm)
- иметь опыт написания клиент-серверных приложений (знание AFNetworking, Alamofire, Apollo GraphQL приветствуется) работать с багтрекинговыми системами
Разработка мобильных приложений для ios - один из профилей команды Artjoker, так что развивайтесь, прогрессируйте и приходите к нам - наши тимлиды помогут вам вырасти в настоящих сеньоров:)
Если вы хотите узнать больше о жизни и работе в Artjoker, читайте "50 фактов о работе в Artjoker и смотрите видео:)
Разработчик приложений iOS - одна из самых «молодых» IT-специальностей: средний возраст кандидатов на эту позицию - 25 лет. Для сравнения: средний возраст соискателей должности разработчика приложений Android - 28 лет. Если сравнивать заработок, предлагаемый разработчикам мобильных приложений iOS и Android, то преимущество у разработчиков iOS: их потенциальный доход превышает зарплатные предложения, которые предлагают разработчикам Android, в среднем на 6%.
В должностные обязанности разработчика приложений iOS входит:
разработка мобильных приложений под iOS;
поддержка мобильных приложений;
участие в отладке и тестировании приложений;
размещение приложений в AppStore.
Заработная плата и требования работодателей
Средняя заработная плата разработчика приложений iOS в Москве составляет 100 000 руб., в Санкт-Петербурге - 80 000 руб., в Волгограде - 48 000 руб., в Воронеже - 50 000 руб., в Екатеринбурге - 64 000 руб., в Казани - 50 000 руб., в Красноярске - 57 000 руб., в Нижнем Новгороде - 55 000 руб., в Новосибирске - 63 000 руб., в Омске - 50 000 руб., в Перми - 57 000 руб., в Ростове-на-Дону - 57 000 руб., в Самаре - 57 000 руб., в Уфе - 50 000 руб., в Челябинске - 58 000 руб.
Начинающими разработчиками iOS могут стать студенты технических и профильных вузов, обладающие хорошей теоретической подготовкой. Соискателям необходимо знать CSS и HTML, принципы объектно-ориентированного программирования, среды разработки Cocoa/Xcode, языки программирования Objective-C/С++. Стартовый оклад начинающих разработчиков в Москве составляет от 45 000 до 60 000 руб. , в Санкт-Петербурге - от 40 000 до 50 000 руб.
Вход в следующий зарплатный диапазон открыт специалистам со стажем разработки приложений под iOS не менее 1 года. Востребован опыт работы с паттернами проектирования, системами контроля версий. От соискателей требуется знание iOS SDK, языков программирования C/C++, шаблонов проектирования, распространенных библиотек, iOS Human Interface Guidelines, принципов клиент-серверной модели взаимодействия приложений. Необходимо уметь разбираться в чужом коде и владеть «техническим» английским. Дополнительным плюсом при трудоустройстве послужит знание методик организации процесса разработки в команде и опыт практического применения распространенных библиотек. Зарплатные предложения для соискателей, соответствующих указанным требованиям, достигают 80 000 руб. в Москве, 65 000 руб. в городе на Неве.
Более высокий доход работодатели предлагают соискателям с высшим образованием и опытом разработки под iOS от 2 лет. От кандидатов требуется отличное знание библиотек и архитектуры iOS, правил и требований к релизам в AppStore, скриптовых языков (Ruby, Python). Основным свидетельством профессионализма для работодателей является портфолио завершенных и опубликованных в AppStore приложений. Также востребованы навыки работы с Core Data, опыт разработки клиент-серверных приложений, опыт оптимизации приложений, рефакторинга чужого кода. Конкурентным преимуществом при трудоустройстве пользуются специалисты, способные разрабатывать приложения под другие платформы. Зарплатные предложения в этом диапазоне в Москве достигают 120 000 руб. , в северной столице - 100 000 руб.
На максимальный заработок могут претендовать соискатели со стажем разработки под iOS более 3 лет и успешным опытом работы в стартапах. Также необходимы навыки разработки сложных пользовательских интерфейсов, архитектуры приложений. Зарплатный максимум для разработчиков iOS в Москве составляет 200 000 руб. , в Санкт-Петербурге - 150 000 руб.
Регион | Диапазон I | Диапазон II | Диапазон III | Диапазон IV | Медиана |
(без опыта работы разработчиком iOS) | (с опытом работы от 1-го года) | (с опытом работы от 2-х лет) | (с опытом работы от 3-х лет) | (средняя заработная плата) | |
Москва | 45 000 - 60 000 | 60 000 - 80 000 | 80 000 - 120 000 | 120 000 - 200 000 | 100 000 |
Санкт-Петербург | 40 000 - 50 000 | 50 000 - 65 000 | 65 000 - 100 000 | 100 000 - 150 000 | 80 000 |
Волгоград | 20 000 - 29 000 | 29 000 - 38 000 | 38 000 - 58 000 | 58 000 - 95 000 | 48 000 |
Воронеж | 25 000 - 30 000 | 30 000 - 40 000 | 40 000 - 60 000 | 60 000 - 100 000 | 50 000 |
Екатеринбург | 30 000 - 38 000 | 38 000 - 51 000 | 51 000 - 77 000 | 77 000 - 130 000 | 64 000 |
Казань | 25 000 - 30 000 | 30 000 - 40 000 | 40 000 - 60 000 | 60 000 - 100 000 | 50 000 |
Красноярск | 27 000 - 34 000 | 34 000 - 46 000 | 46 000 - 68 000 | 68 000 - 115 000 | 57 000 |
Нижний Новгород | 25 000 - 33 000 | 33 000 - 44 000 | 44 000 - 66 000 | 66 000 - 110 000 | 55 000 |
Новосибирск | 28 000 - 38 000 | 38 000 - 50 000 | 50 000 - 76 000 | 76 000 - 125 000 | 63 000 |
Омск | 25 000 - 30 000 | 30 000 - 40 000 | 40 000 - 60 000 | 60 000 - 100 000 | 50 000 |
Пермь | 25 000 - 34 000 | 34 000 - 46 000 | 46 000 - 70 000 | 70 000 - 115 000 | 57 000 |
Ростов-на-Дону | 25 000 - 34 000 | 34 000 - 46 000 | 46 000 - 68 000 | 68 000 - 115 000 | 57 000 |
Самара | 25 000 - 34 000 | 34 000 - 46 000 | 46 000 - 68 000 | 68 000 - 115 000 | 57 000 |
Уфа | 25 000 - 30 000 | 30 000 - 40 000 | 40 000 - 60 000 | 60 000 - 100 000 | 50 000 |
Челябинск | 25 000 - 35 000 | 35 000 - 46 000 | 46 000 - 70 000 | 70 000 - 115 000 | 58 000 |
Портрет соискателя
94% кандидатов на позицию разработчика iOS - мужчины. Молодежь в возрасте до 30 лет составляет 73% от общего числа претендентов. 74% соискателей имеют высшее образование. 29% специалистов владеют английским языком на свободном или разговорном уровне.
Код для вставки в блог
Разработчик приложений iOS