Как стать полноценным разработчиком: часть 3
Опубликовано: 2017-12-02Этот пост является третьим и последним в серии статей о том, как стать полноценным разработчиком. В этой статье речь пойдет именно о разработке мобильных приложений. Подробнее о фронтенд- и бэкенд-разработке читайте здесь.
Когда Стив Джобс представил iPhone в 2007 году, это стало самой большой революцией в мире со времен печатного станка. Смартфоны успели проникнуть практически во все страны земного шара. Даже самые бедные, кажется, владеют ими настолько, что жизнь без них кажется немыслимой.
Мотивация
Есть определенные приложения, которые имеют смысл только при работе на телефоне. Возьмем, к примеру, Убер. Uber должен знать ваше точное местоположение с помощью GPS. Приложение Uber для рабочего стола не имеет особого смысла.
Другая проблема заключается в том, что большая часть вашей аудитории откроет ваше приложение через телефон, даже если оно создано для браузеров. В таких случаях крайне важно, чтобы вы гарантировали бесперебойную работу и не потребляли слишком много данных. Наконец, есть тонкие различия между взаимодействием с помощью щелчков мышью и касанием. Ваше приложение должно гарантировать, что оно ведет себя хорошо в обоих сценариях.
Учитывая все эти соображения, имеет смысл отказаться от браузера и создавать мобильные приложения. Это гарантирует, что вы максимально используете функциональные возможности типичного смартфона, и в то же время доставляете удовольствие пользователю. Ниже приведены шаги для успешной разработки мобильных приложений. Для первой части стать full stack разработчиком по фронтенд и бэкенд разработке.
Оглавление
Шаг 12: Выберите платформу
Первым шагом будет выбор платформы, на которой вы хотите создать свое приложение. Если вы не являетесь частью достаточно большой команды, крайне маловероятно, что вы будете создавать приложения с нуля на всех основных платформах. Более вероятный сценарий заключается в том, что вы будете кодировать на своей любимой платформе, а затем просто перенесете ее на другие.
На сегодняшний день основными платформами для смартфонов являются iOS, Android и Windows. Они используют совершенно разные языки и IDE. Например, iOS использует Swift и XCode, Android использует Java и Android Studio, а Microsoft работает с C# и Visual Studio.
Сегодня на рынке доминируют Android и iOS, поэтому выбор действительно сводится к этим двум. Некоторые вещи, которые вам, возможно, придется рассмотреть, прежде чем сделать выбор, — это доля аудитории для вашего приложения. Я считаю, что создавать приложения для iOS имеет смысл с точки зрения бизнеса, если вы находитесь в стране первого мира, поскольку устройства Apple там чрезвычайно популярны. Напротив, в такой стране, как Индия, Android был бы более очевидным выбором, поскольку доля рынка iPhone чрезвычайно мала из-за его непомерно высокой цены.
Если вы планируете зарабатывать на своем приложении, имейте в виду, что пользователи iOS с большей вероятностью откроют свои кошельки для покупок в приложении, чем пользователи Android. Это может быть связано с тем, что пользователи iOS обычно имеют больший располагаемый доход по сравнению с рынками третьего мира, где доминирует Android.
Для разработки iOS требуется компьютер для разработки Mac. Кроме того, Apple App Store продает лицензии в розницу по цене 99 долларов в год по сравнению с единовременной платой Google Play в размере 25 долларов. Другими словами, разработка iOS стоит значительно дороже.
В этом посте я расскажу, как сегодня осуществляется разработка мобильных приложений: нативные приложения для Android, нативные приложения для iOS и гибридные мобильные приложения.
Шаг 13: Java и XML
Java — самый популярный язык для разработки Android (недавно Google также представил поддержку языка программирования Kotlin).
Основатели Android считали Java подходящим выбором и придерживались его с момента его создания. И если судить по их траектории, это было не что иное, как удивительное решение.

Лучшим ресурсом для изучения Java будет Head First Java. Чтение этой книги даст вам полное введение в язык, а также в принципы объектно-ориентированного программирования.
Что касается XML, я не думаю, что вам нужен подробный учебник по этому предмету. Вы уже много работали с подмножеством XML (HTML) и сможете довольно быстро с ним разобраться, даже если сразу перейдете к разработке для Android. Я не могу сказать то же самое о Java. Убедитесь, что вы хорошо владеете языком, прежде чем переходить к Android.


Шаг 14: Android
Теперь у вас есть технические ноу-хау для создания приложений для Android. Пришло время погрузиться в эту революционную ОС. Имейте в виду, однако, что некоторые методы Android отличаются от того, что вы обычно видите в Интернете. Ресурсы, которые я предложил ниже, гарантируют, что эти различия не помешают вашему обучению.
Программирование для Android. The Big Nerd Ranch Guide 2nd Edition — хорошее место для начала, если вы уже знакомы с Java. Убедитесь, что вы выбрали второе издание, так как оно использует Android Studio, который сейчас является отраслевым стандартом. Практика создания приложений в Eclipse во многом устарела.
Интервью с Фаруком Адамом, соучредителем Fynd
Шаг 15: iOS
Если вы больше поклонник Apple и / или решили, что приложения для iOS больше подходят для ваших деловых / карьерных устремлений. Первым шагом будет приобретение Mac. XCode работает только на Mac, а для публикации в магазине приложений вам нужен Mac. Извините, VMWare.
Ресурс, который я собираюсь предложить для iOS, точно такой же, как и для Android. У Nerd Ranch есть собственное издание — iOS Programming: The Big Nerd Ranch Guide. который имеет дело со Swift и XCode, так что это хорошее место для начала.
Шаг 16. Гибридные мобильные приложения
Если вы разработчик-одиночка или работаете в небольшой команде, у вас, вероятно, нет времени или ресурсов для отдельной сборки и поддержки приложений для Android и iOS. Чтобы облегчить разработчикам задачу создания приложений для нескольких платформ, была введена концепция гибридных мобильных приложений.
Концепция чрезвычайно проста и революционна. Если вы знаете Javascript, вы уже знаете, как создавать веб-приложения. Следовательно, если у вас есть приложение на JS, должна существовать структура, которая автоматически переносит ваше приложение на Android, iOS и Windows. Невероятно, но факт.
Большинство гибридных фреймворков достигают этого с помощью Cordova или React Native. Вы можете думать о Cordova как о мосте между браузерами и собственным оборудованием смартфона. Он устанавливает связь между ними исключительно с помощью JS и помогает создавать сценарии сборки на родных языках каждой платформы.
Однако фреймворки на основе Cordova быстро уступают место мощи Facebook — React Native. Сила React Native заключается в том, что в то время как Cordova создает WebViews, React Native позволяет создавать нативные приложения, которые вы создаете с помощью Java (для Android) или Swift (для iOS). Другими словами, Cordova — это веб-сайт, замаскированный под мобильное приложение, но React Native позволяет вам создать настоящую вещь.
На мой взгляд, вы можете пропустить Cordova и вместо этого изучить React Native. Это очень хорошая инвестиция в карьеру. Программа разработки программного обеспечения UpGrad & IIIT-B — отличное место, чтобы начать свое путешествие с этой революционной библиотекой, которую уже использовали такие компании, как Facebook, Netflix и AirBnB, для разработки своих приложений.
Интервью с Фаруком Адамом, соучредителем Fynd
Заключение
С заключением о гибридных приложениях мы подошли к концу этой серии. Подводя итог, вот что мы рассмотрели:

- Основы информатики.
- Структуры данных и алгоритмы
- Пользовательский интерфейс/UX
- HTML, CSS, JS
- Фронтенд-фреймворки
- Серверные сценарии и базы данных
- Фреймворки полного стека
- Android и iOS
- Гибридные мобильные приложения
Надеюсь, вам понравилось читать эту серию статей так же, как мне понравилось ее писать, и, что более важно, вы нашли по крайней мере некоторые части полезными. Как всегда, ваши комментарии и предложения приветствуются!


