Обучение созданию мобильных приложений. Курсы разработки мобильных приложений. Основы разработки мобильных приложений

От автора: всем привет! Сегодня мы поговорим о том, как стать разработчиком мобильных приложений для Apple и Android. Количество приложений на таких сервисах, как Apple Store и Google Play растет с каждым днем. Эти приложения могут выполнять самые разные функции. Одни из них позволяют обрабатывать фотографии благодаря модным ретро-фильтрам и всевозможным эффектам. Другие помогают изучать иностранные языки, третьи - скачивать и читать электронные книги. Можно даже установить металлоискатель или строительный уровень. В общем, приложений, готовых облегчить нашу жизнь, сейчас в изобилии.

Некоторые из них можно скачать бесплатно, некоторые - нет, в любом случае, бесплатные приложения будут содержать рекламу и платный контент. Но нам в данный момент интересен несколько иной аспект. Дело в том, что на разработке мобильных приложений можно зарабатывать, и довольно неплохо.

С чего начать обучение разработке приложений для мобильных устройств?

Стать разработчиком мобильных приложений значительно легче, если вы уже имеете представление о программировании. Тогда вы можете смело пропустить этот раздел. Но, как известно, повторение - школа художника, а в нашем случае - программиста. К тому же, не исключено, что вам придется выполнить часть работы, связанную с графическим оформлением.

Если же вы не имеете представления о программировании, ничего страшного, ведь этому всегда можно научиться. Тем более, в интернете содержится много , посвященной изучению программирования.

Тем, кто хочет углубиться в сферу веб-программирования в целом и желает во всем «докопаться до сути»; тем, кому интересно программирование не только как ремесло, но и как искусство, можно посоветовать изучить , CSS, а может быть даже jQuery, в том случае если вы хотите по-настоящему испытать себя и свой пытливый ум =)

Так ли нужен диплом?

Существует стереотип, что лучшие программисты - те, что окончили школы программирования, имеют сертификаты и дипломы, якобы подтверждающие их умения и навыки. Но это порой далеко от истины.

Как среди программистов-профессионалов, так и в среде самоучек есть люди, действительно оказавшиеся на своем месте, которые имеют склонность к программированию. Но встречаются и те, что просто считают себя мастерами своего дела, хотя, в действительности, им больше бы подошел веб-дизайн или что-то еще, больше связанное с творчеством.

И, как не странно, среди дипломированных специалистов такая картина наблюдается чаше, чем в среде тех, кто изучал программирование самостоятельно. Это объясняется тем, что тот, кто действительно желает освоить эту профессию, на самом деле учится и постоянно применяет знания на практике, а не просто посещает занятия и ждет в очереди за дипломом.

Что нужно знать разработчику мобильных приложений?

Используя современные языки программирования, которые применяются для разработки мобильных приложений под Android или iOS, вполне реально создать свое первое творение уже за месяц.

Только представьте: всего за месяц из вас получится разработчик мобильных приложений. Обучение профессии программиста, конечно, этим далеко не исчерпывается. Да, вы сможете разрабатывать какие-нибудь несложные игры и даже получать с них прибыль после монетизации.

Зайдите в Google Play или App Store: там подобных приложений большинство, особенно, среди игр. По статистике таких приложений девять из десяти. Этим и занимается среднестатистический разработчик мобильных приложений. Но с чего начать свое обучение, если вы не хотите остановиться на этом?

Для того чтобы не быть тем самым среднестатистическим разработчиком и создавать что-то действительно оригинальное, нужен качественный фундамент. Опытные программисты рекомендуют начинать обучение с computer science, структуры данных, классических алгоритмов, устройства хэш-таблиц и так далее.

Необходимо уяснить те базовые понятия, что используются в программировании, вне зависимости от языка и устройства. Здесь будет нелишним знать основы C++, несмотря на то, что многие уже считают его устаревшим. Возможно и так, но это основы основ, без которых не возникли бы Java и PHP. Полезно будет узнать о защите данных, шифровании, сетевых протоколах и о ядре Unix.

До сих пор мы говорили лишь о технической части вопроса, но для успеха этого будет недостаточно. По-настоящему качественный софт - это не только программа, которая работает без ошибок. Качественный софт подразумевает продуманный интерфейс, который был бы понятен пользователю (а не только разработчику), логику работы программы с учетом всех возможных вариантов развития событий. Обращать внимание на детали и находить интересные, нестандартные решения - это обязанность каждого разработчика.

Почувствуйте себя создателем тенденций

Как странно бы это ни выглядело на первый взгляд, но разработчику мобильных приложений следует быть не только хорошим программистом, но и проницательным маркетологом.

Важно понять, что востребовано в данный момент среди пользователей, после чего поспешить занять ту нишу, которая еще не была занята вашими конкурентами. Вам не нужно гнаться за тем, что популярно сейчас или было популярно когда-то.

Безусловно, новое - хорошо забытое старое, но успешные программисты не подстраиваются под современные тенденции. Они сами берут на себя ответственность создавать эти самые тенденции.

Кроме того, не следует забывать об изучении английского языка, ведь программные коды пишутся именно на нем. Благодаря написанию этих кодов, вы сможете выучить лишь технический английский, но для общения с англоговорящими заказчиками свои знания придется углубить. К тому же, это станет полезной практикой не только для разработки приложений.

Только если гармонично развивать в себе навыки программиста, дизайнера и маркетолога, можно добиться успеха в сфере разработки мобильных приложений.

В заключение

Когда вы обретете необходимые знания, вы можете смело предлагать свои услуги заказчикам, которых в изобилии сможете найти на биржах фриланса. Не стоит ждать того, что успех сам свалится на вас сразу после регистрации и заполнения портфолио с вашими наработками.

Вначале вам придется выполнять небольшие и несложные заказы, но, если на этом не останавливаться, со временем вы сможете разрабатывать действительно впечатляющие проекты для заказчиков не только своей страны, но и всего мира.

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Онлайн-школу для мобильных разработчиков.

Всё серьёзно: 9 месяцев обучения, лекции топовых разработчиков, практические задания, тестирования, чат с преподавателями и материалы для самостоятельной работы.

Под катом - необходимые знания для старта, план обучения , знакомство с преподавателями и программа трудоустройства для выпускников Академии.

Необходимые знания для обучения

Начинаем не с нуля. Программа предназначена для начинающих разработчиков со знанием Java.

Твоё первое приложение

Научим работать с Android-платформой и покажем распространённые архитектурные подходы. Изучим популярные библиотеки, Unit- и UI-тестирование, работу с Google Play Services.

Каждый студент в процессе обучения будет создавать собственное приложение. По окончании каждого учебного блока будет выполнять задания - использовать полученные знания для работы над собственным проектом. Итогом обучения станет рабочее приложение, которое можно смело показывать работодателю или коллегам.

Программа обучения

рассчитана на 9 месяцев. Программа состоит из 6 блоков, каждый блок длится 6 недель. Загрузка студента - 4-6 часов в неделю.

Обучение проходит на онлайн-платформе OpenProfession. Вы можете придерживаться нашего графика или учиться в своём темпе.

Блок 1

Познакомьтесь с платформой Android, Android Studio и системой сборки - Gradle. Узнайте, что такое дебаг и логгирование. Изучите основные сущности Android-приложения и поработайте с Activity и Fragment. Познакомьтесь с элементами интерфейса - View, ViewGroup.

Блок 2

Преподаватели расскажут о работе со списками с помощью RecyclerView и покажут средства для обеспечения многопоточности в Android. Вы изучите работу с сетью с помощью Retrofit2/Okhttp3 и познакомитесь с реактивным программированием, в частности, с RxJava2. Научитесь работать с уведомлениями и Room - ORM-обёрткой над SQLite.

Блок 3

Вы узнаете, как правильно делить приложение на модули. Изучите MVP и MVVM паттерны, а также познакомитесь с CLEAN - чистой архитектурой. Осознаете мощь внедрения зависимостей с помощью библиотек Dagger2 и Toothpick.

Блок 4

Рассмотрите Unit- и UI-тестирование: Mockito, PowerMock, Espresso, Robolectric. Поработаете с ORM-обёртками: Room, GreenDAO, Realm, а также с популярными библиотеками - Picasso, EventBus, ButterKnife и другими стандартами отрасли.

Блок 5

Преподаватели расскажут о Material Design Components. Научитесь работать с анимациями и создавать кастомные элементы интерфейса. Познакомитесь с кастомным LayoutManager.

Блок 6

Вы научитесь работать с кастомными сервисами и периферией: Google Firebase, Google Analytics, Google Maps, Push-уведомлениями, сенсорами и камерой. Научитесь подписывать и публиковать своё приложение в Google Play.

Формат обучения

Новые знания. Каждый учебный блок содержит видеолекции и live coding-сессии.

Практика. Проверяйте свои знания, выполняя тесты и задания в учебных материалах. И конечно, применяйте новые знания в своём первом приложении.

Общение. Задавайте вопросы и получайте фидбек от преподавателей, общайтесь с другими студентами в чате.

Развитие. Преподаватели программы разработали методические материалы и составили подборку полезных ссылок, чтобы вы продолжали изучать новое даже за рамками Академии.

Преподаватели

Вы будете учиться у ведущих разработчиков e-Legion. Знакомьтесь:

Разработчики Азрет Магометов nullpex и Марат Тайчинов много лет создают мобильные продукты для разных сфер бизнеса, которыми ежедневно пользуются миллионы людей. В программе ребята рассказывают не только теорию, но и делятся лайфхаками.

Собеседование в e-Legion

Прособеседуем каждого выпускника. Количество проектов в e-Legion постоянно растёт, поэтому мы всегда в поисках талантливых разработчиков.

Мы организовали уже 6 онлайн и оффлайн школ мобильных разработчиков в Санкт-Петербурге и Казани, выпустили 857 разработчиков и 10 из них работают у нас.

Заканчивайте обучение, получайте сертификат OpenProfession и присылайте ваше резюме HR-менеджеру e-Legion.

Го учиться

- 5-го февраля.

Остались вопросы? Присоединяйся ко - вебинару, где преподаватели и организаторы Академии ответят на все вопросы и подробно расскажут о процессе обучения.

Мобильный разработчик — это специалист, разрабатывающий программные приложения для различных мобильных устройств: планшетов, смартфонов. Профессия на данный момент самая модная, перспективная и востребованная. Ведь именно в сфере мобильной разработки появились такие интересные новинки как голосовой и жестовый интерфейс. Профессия подходит тем, кого интересует информатика (см. выбор профессии по интересу к школьным предметам).

На рынке вакансий - острый дефицит специалистов этого профиля. И в дальнейшем ситуация будет только усугубляться, так как современный мир уже невозможно представить без мобильных устройств, которыми пользуется не только продвинутая молодёжь, но и все слои населения. Всё большее количество людей выходит в интернет с мобильных устройств. Российский рынок мобильных устройств является самым быстрорастущим. Человек будущего не хочет быть привязанным к офису с его тяжеловесной компьютерной техникой, когда есть реальная возможность решать любые вопросы с помощью мобильных устройств буквально на ходу.

Множество компьютерных программ перебазировалось на мобильные устройства и успешно там функционирует. И в будущем их «мобилизация» только усилится.

Преимущество и уникальность профессии мобильного разработчика в том, что всё зависит только от тебя самого: имея изначально хорошую идею и грамотно воплотив её в мир мобильных технологий, не вкладывая ресурсов, можно в самые короткие сроки создать международный проект, аналогичный Instagram и стать миллионером.

Мобильные приложения чрезвычайно популярны у предпринимателей разного уровня. Если приложение актуально, удобно в применении, функционально и решает важные проблемы пользователей, оно значительно увеличивает число клиентов и повышает прибыль бизнеса.

Особенности профессии

Функциональные обязанности мобильного разработчика на данный момент чётко не определены в силу молодости профессии. Ему приходится быть одновременно дизайнером, верстальщиком, программистом. А в целом деятельность мобильного разработчика можно подразделить на несколько этапов:

  • подготовительный период в создании приложения — определение конкретных требований заказчика в виде технического задания;
  • создание мобильного приложения, сочетающего в себе такие обязательные качества, как безотказная работа на одной из мобильных операционных платформ (Apple iOS, Google Android, Windows Mobile), удобный пользовательский интерфейс, многофункциональность, прибыльность для заказчика.

Плюсы и минусы профессии

Плюсы

  1. Высокооплачиваемая, востребованная профессия.
  2. Чёткость стандартов и гайдлайнов значительно облегчают дизайнерскую часть работы мобильного разработчика. Гайдлайн — это подробные описания элементов в мобильных приложениях, причём для каждой платформы они свои.
  3. Вложение ресурсов для мобильной разработки невелико.

Минусы

  1. Политика компаний, выпускающих мобильные устройства, не даёт возможности разработчику быстро вносить поправки в приложение, так как любое действие проверяют работники компании. Так, в Apple идёт проверка любого обновления в течение недели.
  2. Придирчивость пользователей к дизайну и функционалу приложений доставляет много неприятных моментов.

Место работы

В IT-сфере уже давно не существует никаких границ. Работать можно не выходя из дома на любую транснациональную компанию мира или частный бизнес. Работу мобильному разработчику можно найти на фрилансерских биржах, на сайтах вакансий. А можно создать свой бизнес по разработке мобильных приложений.

Важные качества

Одним из самых важных качеств мобильного разработчика является умение конструктивно реагировать на критику пользователей, которые оставляют свои отзывы о работе приложений в Google Play и App Store. Ведь негативные отзывы не всегда направлены на то, чтобы обидеть разработчика. Как правило, они указывают на какие-то конкретные проблемы в мобильном приложении и разработчику следует их решить.

Необходимые личные качества:

  • аналитический склад ума;
  • внимание к деталям;
  • высокая работоспособность;
  • умение планировать и соблюдать дедлайн;
  • стремление к совершенствованию профессиональных навыков;
  • изучение новых технологий для мобильных операционных систем.

Профессиональные навыки и знания

знание языков программирования:

  • Apple iOS - Objectiv-C, Swift
  • Google Android - Java, Scala
  • Windows Mobile - C#, VB.NET;
  • умение создавать приложения для Android, iOS, Windows Mobile;
  • отладка приложений;
  • знание основ программирования под iPhone и iPad;
  • знание новых библиотек технологий
  • для iOS — Siri, для Android — «OK, Google»;
  • работа с базой данных SQLite.

Обучение на Мобильного разработчика

Международное учебное заведение, проводит обучение . Работает с 1999 года. 42 филиала в 16 странах мира. Крупнейший авторизованный учебный центр Microsoft, Cisco, Autodesk. Студенты получают международные сертификаты и международный диплом. Главная цель - трудоустройство каждого выпускника.

Особенность мобильных приложений такова, что они создаются с использованием готовых решений по типу конструктора. Это даёт возможность получить необходимое образование в самые короткие сроки, окончив специальные курсы. Многие опытные пользователи мобильных приложений самостоятельно осваивают навыки разработки мобильных приложений на различных интернет-сервисах, но это долгий путь проб и ошибок, который лучше пройти под руководством опытного разработчика. Кроме того, теория должна сразу же подкрепляться практическим применением полученных знаний, что предусмотрено программами курсов. Обучение на курсах дистанционное, что очень удобно с точки зрения экономии времени и средств.

Но даже после окончания самых крутых курсов самостоятельная работа по самосовершенствованию профессиональных навыков необходима на постоянной основе.

Мобильный разработчик — это специалист, разрабатывающий программные приложения для различных мобильных устройств: планшетов, смартфонов. Профессия на данный момент самая модная, перспективная и востребованная. Ведь именно в сфере мобильной разработки появились такие интересные новинки как голосовой и жестовый интерфейс. Профессия подходит тем, кого интересует информатика (см. выбор профессии по интересу к школьным предметам).

На рынке вакансий - острый дефицит специалистов этого профиля. И в дальнейшем ситуация будет только усугубляться, так как современный мир уже невозможно представить без мобильных устройств, которыми пользуется не только продвинутая молодёжь, но и все слои населения. Всё большее количество людей выходит в интернет с мобильных устройств. Российский рынок мобильных устройств является самым быстрорастущим. Человек будущего не хочет быть привязанным к офису с его тяжеловесной компьютерной техникой, когда есть реальная возможность решать любые вопросы с помощью мобильных устройств буквально на ходу.

Множество компьютерных программ перебазировалось на мобильные устройства и успешно там функционирует. И в будущем их «мобилизация» только усилится.

Преимущество и уникальность профессии мобильного разработчика в том, что всё зависит только от тебя самого: имея изначально хорошую идею и грамотно воплотив её в мир мобильных технологий, не вкладывая ресурсов, можно в самые короткие сроки создать международный проект, аналогичный Instagram и стать миллионером.

Мобильные приложения чрезвычайно популярны у предпринимателей разного уровня. Если приложение актуально, удобно в применении, функционально и решает важные проблемы пользователей, оно значительно увеличивает число клиентов и повышает прибыль бизнеса.

Особенности профессии

Функциональные обязанности мобильного разработчика на данный момент чётко не определены в силу молодости профессии. Ему приходится быть одновременно дизайнером, верстальщиком, программистом. А в целом деятельность мобильного разработчика можно подразделить на несколько этапов:

  • подготовительный период в создании приложения — определение конкретных требований заказчика в виде технического задания;
  • создание мобильного приложения, сочетающего в себе такие обязательные качества, как безотказная работа на одной из мобильных операционных платформ (Apple iOS, Google Android, Windows Mobile), удобный пользовательский интерфейс, многофункциональность, прибыльность для заказчика.

Плюсы и минусы профессии

Плюсы

  1. Высокооплачиваемая, востребованная профессия.
  2. Чёткость стандартов и гайдлайнов значительно облегчают дизайнерскую часть работы мобильного разработчика. Гайдлайн — это подробные описания элементов в мобильных приложениях, причём для каждой платформы они свои.
  3. Вложение ресурсов для мобильной разработки невелико.

Минусы

  1. Политика компаний, выпускающих мобильные устройства, не даёт возможности разработчику быстро вносить поправки в приложение, так как любое действие проверяют работники компании. Так, в Apple идёт проверка любого обновления в течение недели.
  2. Придирчивость пользователей к дизайну и функционалу приложений доставляет много неприятных моментов.

Место работы

В IT-сфере уже давно не существует никаких границ. Работать можно не выходя из дома на любую транснациональную компанию мира или частный бизнес. Работу мобильному разработчику можно найти на фрилансерских биржах, на сайтах вакансий. А можно создать свой бизнес по разработке мобильных приложений.

Важные качества

Одним из самых важных качеств мобильного разработчика является умение конструктивно реагировать на критику пользователей, которые оставляют свои отзывы о работе приложений в Google Play и App Store. Ведь негативные отзывы не всегда направлены на то, чтобы обидеть разработчика. Как правило, они указывают на какие-то конкретные проблемы в мобильном приложении и разработчику следует их решить.

Необходимые личные качества:

  • аналитический склад ума;
  • внимание к деталям;
  • высокая работоспособность;
  • умение планировать и соблюдать дедлайн;
  • стремление к совершенствованию профессиональных навыков;
  • изучение новых технологий для мобильных операционных систем.

Профессиональные навыки и знания

знание языков программирования:

  • Apple iOS - Objectiv-C, Swift
  • Google Android - Java, Scala
  • Windows Mobile - C#, VB.NET;
  • умение создавать приложения для Android, iOS, Windows Mobile;
  • отладка приложений;
  • знание основ программирования под iPhone и iPad;
  • знание новых библиотек технологий
  • для iOS — Siri, для Android — «OK, Google»;
  • работа с базой данных SQLite.

Обучение на Мобильного разработчика

Международное учебное заведение, проводит обучение . Работает с 1999 года. 42 филиала в 16 странах мира. Крупнейший авторизованный учебный центр Microsoft, Cisco, Autodesk. Студенты получают международные сертификаты и международный диплом. Главная цель - трудоустройство каждого выпускника.

Особенность мобильных приложений такова, что они создаются с использованием готовых решений по типу конструктора. Это даёт возможность получить необходимое образование в самые короткие сроки, окончив специальные курсы. Многие опытные пользователи мобильных приложений самостоятельно осваивают навыки разработки мобильных приложений на различных интернет-сервисах, но это долгий путь проб и ошибок, который лучше пройти под руководством опытного разработчика. Кроме того, теория должна сразу же подкрепляться практическим применением полученных знаний, что предусмотрено программами курсов. Обучение на курсах дистанционное, что очень удобно с точки зрения экономии времени и средств.

Но даже после окончания самых крутых курсов самостоятельная работа по самосовершенствованию профессиональных навыков необходима на постоянной основе.

Ежедневно миллионы людей запускают на своих смартфонах мобильные приложения - это целая культура, развивающаяся в бешеном темпе. Разработчики этих приложений - новые романтические герои, люди, способные в одночасье стать миллиардерами, как создатели Instagram, имея под рукой несколько компьютеров и хорошую идею. Их нигде этому не учат, и в этом они чувствуют своё преимущество и уникальность - всё зависит от тебя самого. Ты берёшь и пишешь программу, и если она работает - значит ты всё сделал верно, если нет - твоё место в топе Apple Store займёт кто-то другой. Главное тут - скорость. Совершенно не обязательно пять лет сидеть за партой, чтобы начать программировать. Это как раз тот случай, когда всё зависит от желания и практики. С чего же всё-таки стоит начать разработку мобильных приложений, Look At Me обсудил с опытными девелоперами.

Мэтт Томпсон о том,
что лучшие программисты - самоучки

Мэтт Томпсон

разработчик и дизайнер в Heroku, автор блога про Objective-C и Cocoa NSHipster.com , автор многих Open Source проектов, например AFNetworking, который использовали хотя бы раз все iOS разработчики

Лучший и единственный способ стать мобильным разработчиком - начать разрабатывать! Правда, сейчас в интернете столько вспомогательных ресурсов, что освоить профессию просто, как никогда раньше. Никто, кроме вас самих, не научит вас программировать. Просто прочтите туториал в книге или в Сети и начните создавать интересующее вас приложение, начните с самого простого. Или я бы рекомендовал вообще начать с веб-разработки: HTML и CSS или jQuery, если вас тянет к приключениям.

Некоторые стремятся обязательно пройти школу программирования, но я не раз убеждался, что лучшие разработчики - самоучки, причём с разноплановым бэкграундом. Чёрт возьми, да я сам бросил курс Computer Science в университете, чтобы изучать философию! Хорошим программистом двигает страсть к поиску решений проблемы. Если в вас есть эта страсть - у вас всё получится.

Если вы хотите стать программистом, вам придётся много читать. В первую очередь нужно прочесть всю документацию и гайдлайны, которые предоставляют разработчикам Apple или Google. Боритесь с желанием просто читать без применения прочитанного на практике. В выборе источников вами должны руководить любопытство и амбиции решить сложную задачу. После того, как вы ознакомитесь с основами языка, начните читать коды успешных проектов на открытых ресурсах. Посмотрите, какие модели и методы используют другие разработчики для решения различных проблем, попробуйте их адаптировать к собственным задачам. Нет конца тому, чему вы можете научиться у других.

«Некоторые стремятся обязательно пройти школу программирования, но я не раз убеждался, что лучшие разработчики - самоучки»

И ещё один совет. Найдите или сами создайте локальное комьюнити разработчиков со схожими интересами. Регулярно встречайтесь и обсуждайте свои проекты, проблемы и решения. Такие встречи дадут вам куда больший толчок, чем большие конференции.

Сергей Шаповалов о базовом образовании
для разработчиков и о том, почему
в США у них больше перспектив

Сергей Шаповалов

разработчик приложений для iOS и OS X, кандидат физико-математических наук, cоздатель приложений Qik, Auto-Assistant, Moow и др., в настоящее время живёт и работает в Кремниевой Долине, США

Современные языки программирования, используемые для написания приложений под мобильные устройства, довольно просты. Освоить азы и написать своё первое приложение за месяц нетрудно. Можно начать штамповать простенькие игрушки, стандартные безликие бизнес-приложения и т. д., даже получать какую-то прибыль с их продаж. Примеров таких разработчиков и таких приложений море: и в App Store, и в Google Play таких программ, наверное, 9 из 10. Но я бы посоветовал начинающему разработчику начать совсем с другого.

Чтобы сделать что-то своё, особое и неповторимое, по-настоящему оригинальное, нужен хороший фундамент. Надо изучать computer science, классические алгоритмы, структуры данных, знать, что такое быстрая сортировка и за какое время она работает, как устроены хэш-таблицы и многое другое. Нужно хорошо усвоить базовые понятия, используемые в программировании на любом языке под любое устройство: процессы и потоки, управление памятью, указатели, параллельные вычисления. Знать назубок C++ (пригодится, и ох как неправы те, кто отправляет его на свалку истории). Понимать и уметь применять на практике design patterns (шаблоны проектирования). Знать, что такое клиент-серверная архитектура и как правильно организовать взаимодействие клиента с сервером в условиях ненадёжного канала связи с помехами. В качестве факультатива почитать что-нибудь про шифрование, защиту данных, сетевые протоколы и ядро Unix.

Помимо чисто технической подкованности, для достижения успеха нужно прививать себе хороший вкус. Потому что хороший софт - это не просто софт, работающий без ошибок, это правильно спроектированный софт, сделанный красиво, элегантно и удобно для пользователя. Не обязательно становиться художником-дизайнером, но необходимо изучать гайдлайны, учиться грамотно проектировать пользовательский интерфейс, продумывать логику работы приложения, учитывать все возможные случаи, обращать внимание на мелочи и находить нестандартные решения.

.

«Помимо чисто технической подкованности, для достижения успеха нужно прививать себе хороший вкус»

Третья составляющая - маркетинг. Надо уметь чувствовать рынок, понимать, что окажется востребованным, а что будет никому не нужно. Это совсем не то же самое, что «следить за мировыми тенденциями». Есть изречение великого хоккеиста Уэйна Гретцки, которое очень любил повторять Стив Джобс: «Я мчусь туда, где шайба будет, а не туда, где она была». Вот именно это умение - понять, где на рынке есть новая ниша, которая пока никем не занята, но которую можно заполнить своей разработкой, - в сочетании с первыми двумя требованиями и приводит к успеху.

Нигде в мире нет такого места, где заплатив за курс обучения, вы сможете быть на 100% уверены, что станете успешным создателем мобильных приложений. Есть университеты, где хорошо учат computer science, и в смысле базового образования в России в некоторых местах до сих пор держат планку: МГУ им. Ломоносова, МФТИ, МГТУ им. Баумана, МЭИ и в некоторых других. Классикой жанра в части программирования (конкретно под мобильные платформы) считается курс лекций Стэнфордского университета (США). Конечно, всё то же самое можно узнать из книг и интернета, но, уверен, грамотно построенный курс позволяет достичь цели намного быстрее, спрямляя к ней путь. Но в любом случае самостоятельная работа по самосовершенствованию необходима.

Следующий вопрос - где вести разработку, где открывать свой бизнес? Этот вопрос выходит далеко за рамки обсуждения перспектив мобильной разработки ПО. В конце концов каждый решает сам, где ему жить, где и на кого работать. В эпоху глобализации границы стираются, и в IT это чувствуется, как ни в одной другой индустрии. В наши дни зачастую можно жить где угодно, и, не выходя из своего дома, работать на заказчика с другого конца света. Для независимого разработчика-одиночки, фрилансера или создателя собственных приложений в этом смысле никаких ограничений нет.

Гораздо сложнее обстоит дело, если речь идёт о создании крупной фирмы, работающей над большими проектами. Тут приходится учитывать как национальные особенности разработчиков, силами которых приходится выполнять поставленные задачи, так и общую политико-экономическую ситуацию в стране. В России много технически сильных программистов, востребованных по всему миру. Однако вопросы дисициплины, самоорганизации и самоконтроля, а также глобальные проблемы коррупции, отсутствия честной конкуренции, прозрачных рыночных отношений и многие другие приводят к тому, что успешных крупных софтверных фирм в современной России не так много. При этом количество сильных и достаточно успешных программистов-одиночек - вполне на мировом уровне.

Куда ходить

Конференций, посвящённых мобильной разработке, много, но все эксперты и большинство крутых разработчков считают их глупой тратой времени и ходят только на основные.