Noveo

Наш блог iOS-разработка — это круто!

iOS-разработка — это круто!

Во всяком случае, iOS-разработчики Noveo в этом не сомневаются — и стоит признать, их аргументация вполне убедительна :). С нашим старшим iOS-разработчиком Александром вы уже могли познакомиться, читая наш блог — Саша любит свою работу и с удовольствием делится знаниями и опытом в постах (последнюю его статью можно почитать здесь), а еще и в роли наставника студентов-стажеров. И когда Саша рассказывает, что именно ему нравится в его работе, просто не получается ему не верить :).

Всем привет! Меня зовут Александр, я работаю iOS-разработчиком в мобильной команде Noveo, и сегодня я расскажу, как сюда попал и почему интересно работать на iOS-платформе.

image

К началу профессионального пути из университетского курса мне были знакомы C, C++, C# и Java, на которых мы писали в основном, конечно, под Windows. Хотелось чего-то интересненького, и на последних курсах я пробовал Qt, баловался расчётами на модной CUDA и отрисовкой в OpenGL. Когда созрела необходимость идти искать работу, надо было хотя бы примерно выбрать направление, язык. В голове тогда было только три требования к платформе: современная, живая и не монстрообразно-большая. PHP и Java для меня отпали сами собой, и из оставшегося я наобум выбрал мобильную платформу iOS. Так как с этой технологией в наших краях мало кто был знаком, на работу набирали стажёров без опыта, но тестовое задание на дом всё-таки дали. Тогда почти всё выделенное время я потратил на установку MacOS на виртуальную машину и ожидание её неспешной реакции :).

4-й iPhone только анонсировали, все пользуются Xcode 3, актуальная версия системы — iOS 3.1. Сейчас это кажется таким далёким и убогим, а ведь прошло всего четыре года… Что это значит для разработчика? Друзья, меня это делает счастливым человеком! Хотел “живую” платформу — получил.

Каждый год появляется столько нового, что всегда есть, что изучать. И под каждым годом я имею ввиду не просто “иногда”. Каждый год в заранее объявленный летний день Apple выкладывает спецификацию и бета-версию SDK, релиз которой планируется вместе с очередной моделью iPhone. При этом существует тенденция постепенно избавляться от использования устаревших методов, классов и подходов, и в этом вопросе на нас не просто психологически давят warning-ами в коде, но и спустя некоторое время старое приложение либо вовсе не удастся собрать с актуальной SDK, либо его поведение не будет отвечать замыслу. Так Apple держит в тонусе и разработчиков и пользователей, и весь софт, что вы видите в магазине, так или иначе поддерживается. Хочу добавить, что обычно поводы для вводимых изменений вполне оправданы: поддержка новых системных фич, унификация работы на разных устройствах, поддержка новых политик безопасности, принимаемых в iOS. В результате, как правило, достаточно поддерживать две последние мажорные версии iOS, ведь скорость миграции пользователей на новые версии огромна (порядка ¾ пользователей переходят на новую систему за 1 месяц с момента релиза). Объясняется это просто: если твой iPhone поддерживает обновление, то нет причин бояться, что что-то перестанет работать. Попробуйте применить это правило к PC под Windows, где XP до сих пор живёт во многих организациях потому что свой софт, потому что своё железо…

Теперь немного о радостях, которые дарит не сама платформа, а сложившаяся вокруг неё инфраструктура. Интегрированная среда разработки Xcode — реально развитый и классный инструмент, который включает в себя редактор кода, компилятор, отладчик, симулятор устройства, статический анализатор, профилировщик, клиент системы управления версиями, систему непрерывной интеграции и некоторые более узконаправленные штучки (для работы с внешними устройствами, звуком, OpenGL и т.д. и т.п.). Для iOS разработки есть и альтернативные IDE, но, конечно, ни одна из них не сможет тягаться по полноте набора функций с Xcode, да ещё за 0$. Ну, а симулятор, который запускается в среднем секунды за 3 и работает так же быстро, как и реальное устройство — просто песня! Признаю, что развитие редактора идёт несколько неспешно, и до сих пор появляются вещи, которых люди ждали годами, но ведь всё-таки появляются!

Из-за бешеной популярности iPhone как платформы и необходимости постоянно развиваться, пользоваться новыми фичами ещё до их официального релиза в интернете создалось огромное сообщество iOS-разработчиков. Почти любой вопрос, который может возникнуть при первом использовании технологии, будь то карты, покупки или работа с сетью, и уж точно любой вопрос новичка в языке уже обсуждались и нашли свои ответы на stackoverflow.com. Почти любая хотелка заказчика в духе “хочу выплывающее меню как в приложении X”, почти любая хотелка разработчика в духе “хочу асинхронный кэш, хранящий JPG на диске и распакованные картинке в памяти” — всё это уже реализовано другими, часто весьма компетентными людьми, доступно в виде открытых исходников с документацией, собрано в едином хранилище cocoapods.org, с поддержкой авто-удовлетворения зависимостей и обновлением всего необходимого “одной кнопкой”.

Что ещё я порой слышу от людей далёких от iOS и MacOS — “это ж надо сидеть на этом вашем игрушечном маке”. Привыкание к системе у меня прошло за считанные дни, и с тех пор я никогда не пользовался Windows или Linux в качестве домашнего или рабочего компьютера (я имею ввиду десктоп, не сервер). Стабильность работы превосходит всё, что я видел раньше — макбук приходится перезагружать не чаще, чем раз в пару месяцев. UI выглядит лаконично и современно, а все возможности линуксовой консоли доступны и привычны. Более того, так уж сложилось, что удобство и качество софта под iOS и MacOS порой на голову выше, чем на остальных платформах, и это не может не радовать!

image

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

НазадПредыдущий пост ВпередСледующий пост

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: