Так как самым главным источником прибыли компании Apple является ее магазин приложений, сотрудники заинтересованы в большем числе полезных и интересных утилит. По этой причине регулярно проводится конференция для разработчиков, на которой рассказывают об изменениях в операционных системах. В 2014 году разработчикам показали новейший язык программирования Swift, на котором ведется разработка приложений для iOS. Swift легок в освоении, так как имеет очень простой синтаксис и строго типизирован. Для желающих освоить самостоятельно этот язык подходит очень хорошо.
Что понадобится для начала
Кроме базовых знаний программирования, нужно иметь следующее:
- компьютер или ноутбук с операционной системой OSX на борту;
- среду разработки Xcode, которая является бесплатной.
Данный набор дает возможность запускать приложения в специальном симуляторе прямо на компьютере. Но нужно иметь в виду, что в будущем, возможно, нужно будет заплатить 99 долларов за то, чтобы получить годовую подписку в программе разработчиков. После оплаты появится возможность:
- запускать разработанные программы не в симуляторе, а на настоящих устройствах;
- размещать приложения в магазине App Store;
- загружать новые версии среды разработки и iOS.
В новых версиях Xcode появился такой элемент, как «песочница», названный Playground. Здесь разработчик может поэкспериментировать с новым языком программирования.
Многие хотят начать писать программы, но думают, что это чрезвычайно трудно. Конечно, для того, чтобы стать профессионалом, нужно иметь много знаний и огромный опыт за плечами. Но для того чтобы создать маленькое приложение, нет необходимости быть профессионалом.
С чего начинается разработка приложений для iOS и Android? Обучение происходит на практике. Поэтому начинать надо с нее. Много теории - это не всегда хорошо. Ведь если человек прочтет от корки до корки десять он не станет. Нужно действовать.
Playground
Данная «песочница» - это замечательное окружение для изучения языка программирования. Как она выглядит? Пользователь вводит строчку программного кода и сразу же видит результат выполнения. После того как станет понятно, что написанный фрагмент работает так, как нужно, его можно просто перенести в проект. При помощи «песочницы» можно решить такие задачи, как:
- освоение синтаксиса языка программирования;
- улучшение навыков программирования при помощи экспериментов с новыми API;
- осуществление простых арифметических вычислений;
- разработка нового алгоритма и наблюдение за каждым его шагом.
Разработка приложений для iOS: с чего начать
Теория - это, конечно, хорошо, но, как говорилось ранее, нужна практика. Для того чтобы познакомиться с «песочницей», нужно запустить среду разработки Xcode. После запуска пользователь может видеть окно, в котором предлагается создать новый проект или же запустить Playground. Нужен второй пункт. Теперь необходимо придумать имя и сохранить «песочницу» в любое удобное место на компьютере. Кстати, разработка приложений для iOS на Windows тоже возможна, но тогда потребуется решить большое число проблем. Это и установка пиратской операционной системы, и правка важных файлов, и множество ошибок и вылетов.
После сохранения будет запущен тот самый Playground, который нужен.
На первый взгляд, здесь нет ничего интересного. Но стоит вписать туда свой код, как внешний вид тут же изменится.
Для начала можно попробовать написать следующее:
for var y = 0; y < 10; ++y {
println (“result: (z)”)
После этого «песочница» изменит свой вид. В столбце справа (панель результатов) показаны значения для каждой строки, которые получаются после выполнения. Также в правом столбце можно включить отображение временной панели, которая дает возможность проследить изменения во времени выбранного выражения. Здесь же отображается консольный вывод с текстом, который выводился бы программой.
Комментирование кода
Разработка приложений для iOS, как и для других платформ, не обходится без комментариев, которые нужны для того, чтобы разработчику было легче ориентироваться в коде. Комментарии - это строки, игнорируемые при выполнении программы. Они могут быть как однострочными, так и многострочными.
Переменные
Итак, приложения пишутся на языке программирования. Базу любого языка составляют переменные. Разработка приложений для iOS и Android без использования переменных невозможна. Как понятно из названия, это контейнер, в котором содержится изменяемое значение. Каждая переменная должна обладать уникальным именем и может содержать в себе как числовые, так и текстовые значения. В языке программирования Swift переменные определяются при помощи слов var и let. Во втором случае переменная не может меняться и должна быть проинициализирована при объявлении. В первом случае переменная инициализируется непосредственно перед использованием.
Каждая переменная обладает каким-то типом. Это могут быть строки, числа с плавающей точкой (дробные), булевы значения (истина и ложь).
Вывод результатов
Результат выполнения программы выводится в консоль. Что это такое? Это то, что обеспечивает взаимодействие пользователя с компьютером. Так, консолью вывода раньше называли монитор, а консолью ввода - клавиатуру. Сейчас значение терминов немного изменилось. Так называют программное окно, предназначенное для ввода и вывода команд. Разработка приложений для iOS нередко требует вывода каких-то данных. Для этого в языке Swift предусмотрены команды print и println. Первая отличается от второй тем, что автоматически начинается с новой строки.
Функции
Следующее базовое понятие в программировании - функции. Это некая последовательность действий, которые выполняют конкретную задачу. Каждая функция способна принимать какие-то значения, а также возвращать результат. Для использования этой конструкции ее необходимо сначала объявить при помощи ключевого слова func. После него указывается имя, а также круглые скобки. Если должно быть возвращено какое-либо значение, то после скобок указывается его тип. Если возвращаемого значения нет, то тип можно не указывать или же указать «пустой» тип - void. В круглых скобках находятся значения, которые функция принимает. Для вызова функции указывают ее имя и значения для аргументов.
Можно сделать так, чтобы имя параметра при вызове функции было обязательно указано. Для этого его обрамляют символом «решетка».
Так можно написать какие-либо полезные функции, которые могут, к примеру, вычислять курс валют, переводить одни единицы измерения в другие. Каждый раз, когда будет нужно их использовать, достаточно лишь вызвать эти функции, а не писать код заново.
Что теперь?
Итак, как видно из вышесказанного, разработка приложений для iOS своими руками вполне может оказаться по силам каждому. Главное - выучить основы языка программирования, познакомиться со средой разработки и очень много и часто практиковаться. Именно практика помогает добиться значительного прогресса. А ведь описанное здесь - это только начало. Дальше в мире программирования будет много интересного, сложного, увлекательного. Это поможет всегда держать мозг в тонусе, создавать что-то новое и неплохо зарабатывать. Ведь техника от Apple используется во всем мире. Поэтому ваше приложение смогут оценить миллионы людей.
Здесь я хочу опубликовать мой личный рейтинг iPhone и Android программистов. Я выражаю свое личное мнение как тестировщика мобильных приложений.
Я не могу сказать, что они лучше всех. Но работать с ними мне нравилось, потому что количество ошибок после выполнения ими той или иной задачи стремился к нулю. Т.е. эти люди делают свою работу качественно без брака. Если ошибка и обнаружена, то число ее переоткрытий практически не превышает одного раза. Ошибка исправляется раз и навсегда. Это достигается хорошим знанием платформы и просто хорошим качеством кода. Чем меньше ошибок, тем меньше тратится время на исправление. Меньше время разработки, значит вы тратите меньше денег на проект.
Я считаю наличие крешей в готовом продукте показателем качества продукта.
Если программа падает и теряет данные, пользователь скачает другую.
Итак, личный рейтинг. Те люди, с которыми я работал.
- Любимов Михаил
, Разработчик iOS приложений, Sebbia, Ростов-на-Дону. Проект Shoppoints.
- Дмитрий
, iOS Developer, Fidel.ru
- Андрей О iOS developer
Черный список:
- D-Systems или Распределенные системы
. https://www.free-lance.ru/users/d-systems/portfolio/ Делали первоначально мой проект. Вместо сроков 3 недели это заняло 4 месяца. Ссылаются на то, что я начал тестировать, хотя разработка еще не была завершена. Я получил код очень плохого качества, хотя первоначально требовалось чтобы код был сделан так, чтобы легко написать версию под iPhone. Мне потребовалось много ресурсов чтобы потом делать переделки. Когда об этом было заявлено — они согласились переделать, но дальше молчание.
- Индусские программисты. Тот программист, с которым я работал по одному из проектов — число переоткрытий ошибок превышает 3. Приложение падало на каждом шагу… Любой чих за деньги….
- [email protected] - или Депинфотех. Не рекомендую связываться КАТЕГОРИЧЕСКИ. Спамят письмами, хотят взяться за любой проект, хотя не имеют ни опыта не разработки. При ставке 20 долларов в час предлагают Junior разработчика. Когда нужно сделать приложение под iOS присылают примеры работ на Android
Когда я был фрилансером, я работал с достаточно многими программистами.
Что касается выбора разработчика iOS приложения для вашего проекта
, то я руководствуюсь следующими правилами.
- Ставка для программистов, у которых нет приложений в App Store — 300 рублей в час. Так или иначе программист будет изучать XCode за ваш счет, если он ничего не писал. Ставка опытного программиста — от 500 рублей в час. Особняком конечно лежит Москва. Тут ставки от 500 рублей и выше….
- По качеству программного кода русские программисты превосходят украинских и индийских коллег. По мне лучше взять разработчиков не из Москвы, а из провинции. Новосибирск, Казань…. Это актуально и для фирм, занимающихся разработкой.
- Если у вас есть проект, ищите программиста, который делал нечто похожее. Если это финансы — ищите кто делал расчеты. Если это игры — примеры игр. Разработчик будет делать меньше ошибок, если отрасль ему знакома.
- Предлагайте оценить сроки по каждой задаче. Если программист тратит на натягивание дизайна 2х кнопок 2 часа — это не ваш программист. Может я и утрирую, но исправление одной ошибки — не более 2х часов. Если ошибка сложная.
- Задайте программисту вопрос по математике. Нормальный программист сможет вывести одно неизвестное из формулы.
- Спросите работал ли программист с багтрекером, знает ли циклы обработки ошибки. Если работал, сколько переоткрытий ошибок у него обычно было.
- Спросите, сколько крешей обычно было в его приложениях под iOS. Почему они случались и насколько быстро исправлялись.
Подбор iOS разработчиков на проект
Если вы заказчик и решили сделать свое мобильное приложение и не знаете, что для этого нужно.
Вы можете обратиться ко мне, я расскажу и помогу найти нужного вам человека или фирму. Следует учесть, что iOS разработчики инди(те которые работают одни) имеют меньшую ставку в час, чем фирмы(ООО). Качество же услуг фирмы может хромать и зависит насколько хорошо поставлены в фирме процессы разработки(есть ли система контроля версий, есть ли багтрекер). Не всегда фирма с большими рейтами для iOS программистов сможет обеспечить достаточно хорошее качество разработки. Все зависит от конкретных людей и иногда инди разработчик даже лучше. С другой стороны фирма обеспечивает договор — гарантию что вас не кинут и работа будет доделана до конца. В случае инди разработчика под iOS я рекомендую поговорить с ним лично, расспросить о проектах, которые он делал.
Контакты разработчиков
В общем если вам нужны контакты мобильных разработчиков, они есть ниже. Просто поделитесь ссылкой в одной из соц. сетей. Там есть и контакты разработчиков и специалистов по продвижению.
Удачи.
Анатолий Ларин
[email protected] мобильный маркетолог, буду подсказывать ^__^ http://touchin.ru
Александр Штучкин
[email protected] !
Николай Додонов
[email protected] Делаем свое приложение.
Полина Витенко
[email protected]
специалист по маркетинговым коммуникациям, очень-очень хочу больше узнать о маркетинге в сфере IT
Online
Дака Мартынюк
[email protected]
Ярослав Сеньшин
[email protected] Пишу первое приложение, поэтому хочется узнать все тонкости
Иван Козлов
[email protected]
Руковожу отделом мобильной разработки
Евгений Валеев
[email protected]
Технический директор мобильной софтверной компании
Алексей Гончаров
Готовим приложение, интересно)
Тимофей Утнасин
[email protected]
Компания FlexyMind — разработка детских развивающих игр для мобильных ОС
Наталия Давыдова
[email protected]
руководитель отдела мобильной разработки компании H&H http://handh.ru
Дима Орлов
[email protected]
Я делаю мобильные приложения
Моисеенков Алексей
[email protected]
основываю свою студию
Маргарита Сырцова, [email protected], директор компании по комплексному созданию облика компании, мотивирует желание развивать направление приложений
Поляков Максим
[email protected]
Я знаю как изменить мир, теперь мне надо понять как лучше на этом заработать.
Марина Виноградова
[email protected]
Мы запускаем скоро мобильное приложение
Даниил Соснин
[email protected]
Готовим мобильное приложение.
Online
Екатерина Жолобова
Жолобова Екатерина, [email protected] Мобильный маркетолог со стажем)
Завьялов Антон, [email protected] Разрабатываю проект для лиги маркетологов с интерактивной поддержкой
Насыров Наиль
[email protected]
Одно из направлений проекта в аспирантуре ИТМО
Владислав Александрович
Владислав Карбовский, разработчик
[email protected]
Александр Хитущенко
[email protected]
Руководство проектом мобильного приложения для туристов т
Илья Чернецкий
Илья Чернецкий [email protected] делаю мобильные приложения (http://coinkeeper.me, relevanceto.me etc)
Ольга Кабанова
Ольга Кабанова, [email protected], занимаюсь продвижением десктопных и мобильных приложений
Ксения Копылова
Ксения К.([email protected]) и Тимофей М. ([email protected]) — занимаемся разработкой мобильных приложений
Yura Easy
Лобынцев Юрий
[email protected]
руковожу разработкой мобильных приложений
Сергей Шмаков
[email protected]
SMM-менеджер buruki.ru + участвую в разработке нового приложения для buruki.ru для iOS и Android
Петр Фальковский
[email protected]
интересен рынок мобильных приложений
Надя Кошкина
Надежда Кошкина [email protected] — маркетинг IT-проектов; занимаемся разработкой собственного приложения. Леонид Назаров [email protected] — дизайнер интерфейсов.
Марина Калямина
[email protected]
Очень актуальная тема. В голове много идей для создания приложений, хотелось бы послушать советы
Глеб Буров
Глеб Буров, CTO Seedr
[email protected]
Виктор Штефанец
интернет-проекты
[email protected]
Вячеслав Богородицкий
[email protected]
руководитель проектов в веб-студии.
сейчас развиваем направление мобильных приложений.
Евгений Дементьев
[email protected]
Руководитель отдела мобильной разработки «Топфейс»
Иван Балашов
Андрей Маркин [email protected], маркетолог в сфере IT, планируется запуск мобильного приложения.
Online
Денис Каланов
Директор по развитию IT-Доминанты
[email protected]
Планируем запуск мобильного приложения…
Вероника Минина
маркетолог мобильных приложений, UFT
[email protected]
Мотивирует: быть в курсе know how,узнать об опыте коллег, получить новые знания, контакты.
Петр Василевский, Алексей Финагин
[email protected], [email protected]
Разрабатываем мобильное приложение.
Попова Татьяна
[email protected]
Развиваем он-лайн проект, готовим запуск его мобильной версии
Андрей Григорьев
Развиваем мобильное приложение Forex по iOS
[email protected]
Online
Александр Зайцев
Александр Зайцев [email protected] Интересна тема, т.к. сам занимаюсь разработкой.
Владислав Поклонцев
Поклонцев Владислав [email protected]
Разрабатываем первое мобильное приложение.
Вадим Скаржевский
[email protected]
Планирую делать приложение. Хочу узнать тонкости
Яна Кузьмина
[email protected]
Продакт менедер пары мобильных приложений
Сергей Грищёв
Грищёв Сергей
[email protected]
Основатель студии мобильных приложений ShadeApps, у нас вышло уже 2 приложения под iOS — ещё 3 находятся в разоаботке
Екатерина Макарова
[email protected]
Начинающий специалист по продвижению мобильных приложений, очень хочется перенять опыт.
Евгения Филина
e-mail:
[email protected];
[email protected]
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 и смотрите видео:)