Разработка Андроид-приложений: основные инструменты. Введение в разработку мобильных приложений Есть ли цель заработать денег

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

Android Studio

Ни один топ “Лучших инструментов для разработки приложений под Android” не обходится без Android Studio . Это официальная IDE (интегрированная среда разработки) для Android, созданная компанией Google. Именно поэтому Android Studio является номером один для разработчиков, которые хотят создавать приложения, в соответствии с Material дизайном Google и доступом к расширенным функциям платформы.

IDE - это место, в котором разработчик проводит большую часть своего времени: Android Studio выступает в качестве редактора для выбранного вами языка программирования (он поддерживает Java, C++, а также Kotlin, который с недавних пор тоже стал официальным языком Android), компилятора, который может создавать APK файлы и файловой системы для организации вашего проекта. Кроме этого он включает в себя редактор XML и расширенный редактор макетов. Android Studio предлагает целый набор дополнительных инструментов, некоторые из которых мы рассмотрим в данной статье. К счастью, большинство из них теперь можно скачать единым пакетом. По сути, этот пакет идет в комплекте с Android SDK, но вам все равно придется отдельно загрузить и установить Java JDK. И было бы неплохо, если бы вы прочли инструкцию для новичков по использованию Android Studio.

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

AVD Manager

Инструмент AVD Manager идет в комплекте с Android Studio. Аббревиатура AVD расшифровывается как “Android Virtual Device”, поэтому, по сути, это эмулятор для запуска приложений Android на вашем компьютере. Это очень полезный инструмент, который позволяет вам тестировать свои приложения, без необходимости устанавливать их на физические устройства. Что еще более важно, AVD Manager позволяет создавать множество эмуляторов с различными размерами экрана, спецификациями и версиями Android. Вы сможете увидеть, как будет выглядеть ваше творение на любом устройстве, и тем самым обеспечите поддержку среди самых популярных гаджетов. Производительность инструмента постоянно улучшается, особенно с режимом fast virt, который запускает на вашем компьютере версию Android от Intel и устраняет необходимость эмуляции уровня instruction .

Android Device Monitor

Еще один встроенный инструмент - Android Device Monitor , который позволяет проводить мониторинг вашего физического или виртуального устройства во время его работы, и, взамен, получать информацию о том, сколько процессов выполняется по потоку, сетевую статистику, LogCat и т.д. Данный инструмент отлично подходит для тестирования производительности ваших приложений.

Android Debug Bridge

ADB - это инструмент командной строки, с помощью которого можно копировать файлы на устройство и обратно, устанавливать и удалять приложения, выполнять резервное копирование и восстановление на всех устройствах на базе Android, в том числе и на виртуальном. Он идет в комплекте с Android Studio и, по большей части, вам не придется его использовать. Но в редких случаях вам все же придется им воспользоваться. Для этого перейдите в папку, где находится файл adb.exe и откройте командную строку (Shift + RMB>Открыть окно команд).

Unity 3D

Unity 3D  - первый инструмент в нашем списке, который не предустановлен в Android Studio. Unity 3D представляет из себя игровой движок и IDE для кроссплатформенной разработки игр. Он очень прост в изучении и обладает большим набором функций для разработки игр. С помощью Android Studio можно создать игру, но в Unity то же самое можно сделать гораздо легче, без уймы потерянного времени и головной боли. Кстати говоря, в Unity есть возможность создавать приложения с дополненной реальностью для Daydream, Cardboard или Gear VR!

Unreal Engine

Unreal Engine  - это игровой движок и альтернативный вариант для тех, кто интересуется кроссплатформенной и полнофункциональной разработкой игр. Unreal, также как и Unity, поддерживает разработку под Android, но, в плане графики, игры на Unreal сильно превосходят игры на Unity. Тем не менее Unity имеет лучшую встроенную поддержку мобильных и 2D-творений, поэтому является предпочтительным вариантом для большинства мобильных разработчиков игр. Не имеет значения, какой в итоге вы выберете движок, так как нет причин, по которым вы не можете дать им обоим шанс.

GameMaker: Studio

GameMaker: Studio - еще один инструмент для разработки игр, на этот раз для 2D-игр. Он гораздо проще в использовании, чем Unity или Unreal, и позволяет создавать игры, практически без написания кода. Однако, если хотите добавить немного больше настроек в свою игру, вы можете воспользоваться встроенным языком программирования для начинающих -  GML или «GameMaker Language».

Однако из-за простоты использования вы, в какой-то степени, теряете мощность и функциональность. Также стоит отметить, что GameMaker: Studio не является бесплатным ПО, но есть бесплатная пробная версия.

B4A

B4A (или Basic for Android) - самый малоизвестный инструмент для разработки Android-приложений от компании Anywhere Software, специализирующейся на концепции быстрой разработки приложений(RAD). Как следует из названия, B4A - это IDE и интерпретатор, который позволяет разработчикам создавать приложения с использованием языка программирования BASIC. Для тех, кто не знаком с BASIC -  это процедурный язык программирования, который читается практически как обычный английский язык. Несмотря на то, что B4A - это проект, разработанный всего одним человеком, ему удалось соединить в себе множество полезных расширенных функций, таких как: беспроводная отладка через Bluetooth, визуальный редактор для добавления и упорядочивания представлений и т.п. Данное ПО не бесплатно.

С помощью B4A вы можете делать практически все то же самое, что вы делаете при помощи Java, но гораздо быстрее и с меньшим количеством шаблонов. Любое понижение производительности, по сравнению с другими IDE, минимально. Тем не менее, вам все еще стоит изучить официальный метод создания приложений, особенно если вы хотите использовать конкретные библиотеки (но стоит упомянуть, что библиотеки Java могут быть обернуты для Basic4Android).

AIDE

Наверное вы уже успели заметить, что инструменты для разработки приложений под Android любят аббревиатуры. AIDE расшифровывается как “Android IDE” и он уникален тем, что работает на самом Android. Это означает, что вы можете создавать приложения, используя свой телефон или планшет, а затем тестировать их на этом же устройстве.

Скорее всего вы уже поняли, что данному IDE не хватает некоторых функций из Android Studio (окей, очень многих функций) и у него нет никакого реального преимущества перед более функциональными IDE для разработки под Android. Он пригоден только для изучения Java и Android SDK, так как предоставляет возможность читать учебник по программированию и, в тот же самый момент, проверять оттуда код в режиме реального времени. Это настоящая находка для тех, кто только-только начал разрабатывать собственные мобильные проекты. AIDE не бесплатен и, независимо от того, хорошее о нем общественное мнение или нет - его стоит купить и попробовать самостоятельно.

Xamarin в Visual Studio

Visual Studio - это IDE от Microsoft, поддерживающий ряд языков, включая C#, VB.net, JavaScript и многое другое. С помощью фреймворка Xamarin, который входит в Visual Studio, можно создавать кроссплатформенные приложения с помощью C#, а затем тестировать их на нескольких устройствах, подключенных к облаку. Это хороший и бесплатный выбор, если вы планируете выпустить приложение и для Android, и для IOS, но не горите желанием писать свой код дважды. Также он является отличным выбором для тех, кто уже знаком с C# и/или Visual Studio. Минусом является то, что Xamarin неудобен в использовании Java библиотек и, как и с любой другой альтернативой Android Studio, вы теряете поддержку Google и расширенные встроенные функции.

Eclipse

До появления Android Studio, в качестве основного инструмента для разработки Android-приложений, разработчики использовали Eclipse . Этот IDE поддерживает несколько различных языков программирования, в том числе и Java с Android SDK. В отличие от Android Studio, Eclipse не предлагает встроенную поддержку и требует более тщательной настройки. На данный момент Google отключила официальную поддержку, поэтому, на самом деле, нет никаких оснований использовать Eclipse, вместо Android Studio. Я включил его в этот список, так как он может быть полезен тем, кто интересуется историей IDE и учится создавать приложения для Android. Так сказать для того, чтобы расширить кругозор.

GitHub

GitHub  - это онлайн-сервис для хостинга и совместной разработки IT-проектов. Также он включает в себя систему контроля версий. Это очень удобно, если вам нужно сделать резервную копия вашего проекта или вы ищите людей для совместной разработки, или образец хорошего кода, который смогли бы использовать в качестве примера для разработки собственного проекта. Если вы новичок, то скорее всего будете загружать на свой компьютер код различных проектов, а потом переписывать его по своему желанию. Если вы когда-нибудь работали в команде над разработкой большого приложения, но никогда не использовали GitHub - самое время это исправить!

Некоторое время назад официальной IDE для Android был Eclipse (как стандарт де-факто для Java) с плагином ADT. Некоторое время спустя среди Java-программистов начала набирать популярность IDE от JetBrains, потом для нее появился плагин для разработки под Android, и народ начал потихоньку переходить на нее с Eclipse.

Еще чуть позже Google объявляет о том, что будет делать Android Studio на базе IDEA. И вот на подходе уже вторая версия Android Studio, и Eclipse вспоминается разве что как страшный сон:)

Android Studio — официальная среда разработки под Android. По сути, Android Studio — это известная Java IDE IntelliJ IDEA с плагинами.

На данный момент существуют следующие опции при выборе IDE для Android:

  1. Eclipse . Самая популярная какое-то время назад IDE для Java, сейчас использовать ее для разработки под Android крайне не рекомендуется .
  2. IntelliJ IDEA . Отличная IDE, хорошо подходит для Android.
  3. Android Studio . Лучшая IDE для Android . От IDEA отличается мелочами, но эти мелочи очень-очень приятны и сильно облегчают наш труд:) Именно на ней мы и остановимся.

В первую очередь, нужно убедиться, что у вас установлен JDK (Java Development Kit). Это обязательный компонент для разработки на Java, а поскольку разработка под Android ведется на Java — то и для разработки под Android тоже.

Во-вторых , поставьте галочки «show line numbers» и «show method separators»:

Первая будет отображать номера строк слева от текста, вторая — будет рисовать разделители между методами в коде.

Эти две опции невероятно важны, а особенно для новичков, и я не понимаю, почему они выключены по-умолчанию.

В-третьих , настройте автодополнение. Для этого в «Case sensitive completion» выберите «None»:

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

Стандартное значение этой опции, как и прошлых двух, вызывает у меня недоумение.

Создание первого проекта

Что ж, с настройкой и установкой Android Studio мы разобрались, пришло время создать наш первый проект.

В главном окне Android Studio нажмите на «Start a new Android Studio project «:

Появится новое окно, в котором нам нужно выполнить несколько действий.

В первом нужно задать имя приложения, домен компании (из этих двух параметров будет создано имя пакета), и расположение проекта на диске:

В Android, как и в Java, основным идентификатором приложения является имя пакета. Если вы ранее работали с Java, вы знаете, что это такое. Тем же, кто не знает, рекомендую гугл, или, например, вот .

Далее Android Studio спросит нас, какие и каких версий SDK мы хотим использовать. Пока что нам хватит «Phone and Tablet» SDK, версию API поставьте 16 вместо рекомендуемой 15-й, поскольку API 15 уже неактуально и совсем не распространено:

На следующем экране нас спросят, какие компоненты приложения мы хотим создать. Выберите «Empty Activity»:

На следующем шаге просто нажмите «Finish», ничего не меняя.

По завершению этого процесса вы увидите, наконец-то, свой первый проект:

Он уже вполне работоспособен, но чтобы его запустить, нам понадобится эмулятор Android.

Создание эмулятора Android

Для создания эмулятора Android нам понадобится Android AVD Manager (AVD = Android Virtual Device). Не беспокойтесь, ставить больше ничего не потребуется. Просто нажмите на эту кнопочку:

Потом на эту кнопочку:

А потом просто несколько раз кликните «Next» и, наконец, «Finish»

Запуск Hello World

Пришло время запустить наш первый проект, созданный в Android Studio !

Нажмите на вот эту кнопку (или Shift-F10):

После этого вы увидите диалог, в котором вам будет предложено выбрать девайс, на котором IDE должна запустить собранное приложение:

Поставьте выделенную стрелкой галочку и нажмите «ОК». Начнется сборка проекта, запуск эмулятора, установка приложения на эмулятор, и запуск приложения.

На это уйдет некоторое время (чем мощнее ваш компьютер — тем меньше времени понадобится), поскольку эмулятор — вещь достаточно медлительная, несмотря на колоссальные улучшения в последние пару лет.

И вот, по прошествии 1-10 минут (после запуска эмулятора проекты, конечно же, будут собираться и запускаться быстрее), вы, наконец, увидите свой Hello World на экране эмулятора!

На этом все, а в следующем уроке мы рассмотрим .

Новые уроки добавляются каждый день! Чтобы ничего не пропустить, подпишитесь на нашу

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

На сегодняшний день операционная система Android является наиболее распространенной в сфере мобильных устройств. Свою популярность Android получил во многом благодаря открытому исходному коду и политике Google, разрешающую производителям мобильных устройств безвозмездно использовать платформу Android для своей продукции. Android используется большинством крупных компании-производителей мобильных устройств, таких как Samsung, HTC, Sony, Huawei.

Android Studio – это интегрированная среда разработки (IDE) для работы с платформой Android, выпущенная компанией Google .

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

Платформа Android состоит из операционной системы, основанной на ядре операционной системы Linux, встроенных мобильных приложений и переходного программного обеспечения. Во главе создания и совершенствования Android платформы стоит компания Google.

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

Архитектура системы Android состоит из следующих уровней:

1) Ядро операционной системы Linux.

2) Библиотеки и система выполнения.

3) Уровень каркаса приложений наделяет разработчика доступом к интерфейсу прикладного программирования API (application programming interface).

4) Уровень приложений – комплекс стандартных приложений.

На рисунке 1 представлена архитектура системы Android.

Рисунок 1. Изображение архитектуры системы Android

Разработчик, как правило, работает с уровнями приложений и каркаса приложений. Библиотеки, система выполнения и ядро операционной системы Linux от разработчика скрыты.

Одним из важнейших инструментов для разработки Android-приложений является универсальное средство разработки мобильных приложений для операционной системы Android (Android SDK) – комплекс средств программирования, содержащий инструменты, которые необходимы для создания, компиляции и сборки мобильного приложения.

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

Существует две преимущественно популярные среды разработки, рекомендованные Google: Android IDE (ADT) и Android Studio.

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

Android Studio – среда разработки мобильных приложений под операционную систему Android, основанная на интегрированной среде разработки программного обеспечения IntelliJ IDEA. Аналогично среде Android IDE, Android Studio содержит встроенные инструменты для создания и отладки мобильных приложений. Дополнительно ко всем возможностям в Android Studio реализованы:

Поддержка системы автоматической сборки Gradle;

Уникальная система рефакторинга кода;

Инструменты для поиска и устранения различных проблем;

Окно предварительного просмотра, которое показывает запущенное приложение сразу на нескольких устройствах и в реальном времени;

Поддержка облачной платформы Google Cloud Platform.

В данный момент компания Google прекращает поддержку инструментов для разработки в операционной системе Android для среды Android IDE.

В ходе изучения на практике среды разработки мобильных приложений Android Studio и написания небольших программ (приложение «Заметки» для создания пометок, приложение для определения долготы и широты объекта, приложение, определяющее местоположение с помощью Google Maps, приложение «Фонарик») были определены следующие недостатки Android Studio:

1) Необходимо иметь базовый уровень программирования на языке Java и знания английского языка.

2) Вследствие постоянного сопровождения разработчика системой автоматической сборки (Gradle) значительно замедляется время компиляции проектов.

3) Высокие системные требования для компьютера разработчика.

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

5) Отсутствие русскоязычной справки.

Достоинства Android Studio:

1) Удобный дизайн.

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

3) Встроенный комплекс средств разработки SDK (software development kit), выдает уведомление с установкой необходимого API для запуска старого проекта.

4) Удобная структура проекта.

5) Наличие логов для отслеживания ошибок, процессов и потоков.

6) Наличие достаточно большого количества литературы на русском языке.

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

Список литературы:

  1. Энциклопедия Википедия: сайт – [Электронный ресурс] – Режим доступа. URL:https://ru.wikipedia.org/wiki/Android_Studio (дата обращения: 25.01.2017).
  2. Энциклопедия Википедия: сайт – [Электронный ресурс] – Режим доступа. URL:https://ru.wikipedia.org/wiki/История_версий_Android (дата обращения: 25.01.2017).

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

Начало работы

Новичкам в программировании поможет наша .

Для новичков в Android Google сделал хорошее введение в Android на своём сайте. Также есть замечательный краудсорсинговый гид по Android . Кроме того, есть курс от Google на Udacity.

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

Вы всегда можете найти у нас на сайте.

FAQ

Я хочу начать разрабатывать под Android. С чего мне начать?

Первый и важнейший шаг в разработке под Android – это изучение Java и XML. Как только вы более менее познакомитесь и с тем, и с другим, изучите официальную Документацию по Android и пройдите несколько уроков, пока не почувствуете себя достаточно уверенным для создания собственных проектов. Удачи!

Нужно ли мне Android-устройство для разработки?

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

Какую IDE мне лучше использовать?

  • Android Studio - официально поддерживаемая IDE для разработки под Android. Именно она используется в современных руководствах и видео, в том числе и от Google.
  • Eclipse была основной IDE для разработки под Android на протяжении многих лет, поэтому большинство устаревших уроков, ресурсов, видео и скриншотов сделаны на ней.
  • IntelliJ IDEA был альтернативой Eclipse, но в настоящее время разумнее начать с Android Studio. Android Studio – это ответвление IntelliJ IDEA, так что вы получите все её преимущества плюс бонусы под Android.

Может, мне стоит забыть про Java и начать учить Kotlin?

Google теперь официально поддерживает Kotlin как язык разработки под Android, но это не значит, что про поддержку Java можно забыть. В ближайшем обозримом будущем документация, инструменты, новые фичи платформы будут поддерживать как Kotlin, так и Java. Хотя Kotlin - более молодой язык с некоторыми приятными особенностями, вы всё ещё можете создавать отличные приложения на Java. Выбор зависит только от вас, но если вам не принципиально или вы новичок, то, возможно, лучше сделать выбор в пользу Kotlin.

Ресурсы

Здесь представлены основные ресурсы по обучению разработке под Android на английском языке. Это далеко не полный список, но достаточный для старта.

Официальные ресурсы Android

Дизайн

  • Красивости для Android – вдохновение для создания графических интерфейсов под Android.

Рассылки

  • Android Weekly – замечательная рассылка, помогающая быть в курсе последних разработок Android.

Коллекции библиотек

Инструменты

  • Genymotion – крайне полезный и функциональный эмулятор.
  • Android Asset Studio – отличная коллекция инструментов для создания/редактирования иконок, изображений и т.д.
  • Codota Plug-in для Android Studio – замечательные примеры кода прямо в Android Studio.

Примеры open source приложений

Идеи для приложений

Итак, у вас есть идея для приложения… Люди каждый день об этом пишут. Но перед тем, как просить помощи в реализации проекта, нужно ответить на следующие ключевые вопросы:

Каков мой бюджет?

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

Какая у меня маркетинговая стратегия?

Вы собираетесь использовать обычное сарафанное радио или готовы платить за известность?

Какой список задач у данного проекта?

А также, какие есть ограничения? Сколько мне нужно разработчиков?

Откуда будут приходить/где будут храниться данные?

А также, как они будут использоваться? Разработана ли у меня соответствующая политика приватности?

Есть ли цель заработать денег?

Если да, как вы собрались её достигать? Через рекламу, IAP , подписки, платные приложения? Всё вышеперечисленное?

Как вы будете платить вашим разработчикам?

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

Какой будет способ тестирования?

На какой тип устройства вы собираетесь устанавливать его? Как много итераций вам нужно? Каких людей вы хотите вовлечь?

Как скоро вы хотите опубликовать приложение в магазине?

Это однозначно повлияет на конечный доход.

Будете ли вы требовать или предлагать регистрацию/интеграцию с социальными сетями?

Продумайте реализацию этой функциональности.

Какова ваша целевая аудитория?

Это нишевое приложение или оно может быть распространено повсюду?

Реализована ли уже моя идея?

Если да, как я могу улучшить её или что в ней отсутствует?

Что делать с идеями для приложений, если вы не разработчик?

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

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

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

Поймите, что разработка требует значительных усилий. Представьте, что разработчик работает полный рабочий день (8 часов) на протяжении 2 месяцев, чтобы создать ваше приложение. И вы также работаете полный рабочий день. Что вы делаете в это время? Если ваша работа, по вашим представлениям, заканчивается раньше, то нужно пересмотреть идею. В этом сценарии разработчик выполняет большую часть работы, и вы, честно говоря, бесполезны. То, что вы можете дать после того, как приложение закончено, не имеет особого значения и не будет мотивировать разработчика заканчивать продукт.

Пересмотр вашей идеи

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

  • Распределяйте работу настолько справедливо, насколько это возможно.
  • Фокусируйтесь прежде всего на ваших навыках.
  • Ваша загрузка должна примерно равняться 2 месяцам полноценной работы. Для простых приложений загрузка, конечно, может быть меньше. Вы можете попросить сообщество (например,

Отлично. Но с чего начать? Какой язык учить? По каким источникам? И где применять полученные базовые навыки? Наша статья поможет получить ответы на эти вопросы.

С каждым языком и фреймворком связаны свои сложности и нюансы, достоинства и недостатки. Рассмотрим основные языки разработки приложений для Android.

Java

Официальный язык программирования, поддерживаемый средой разработки Android Studio. По данным ежегодного опроса ресурса Stackoverflow , в 2019 году Java вошёл в пятёрку самых популярных языков программирования. Большая часть , созданных в компании Лайв Тайпинг до 2019 года, написаны на Java.

Сделать первый шаг к освоению Java — это установить Android Studio . Это тип программного обеспечения под названием IDE — Integrated Development Environment, или встроенная среда разработки. В комплекте с Android Studio идёт Android SDK — набор инструментов для разработки под Android и всё, что нужно для надёжного старта.

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

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

При разработке на Java под Android используются не только Java-классы, содержащие код, но также файлы манифеста на языке XML, предоставляющие системе основную информацию о программе, и системы автоматической сборки Gradle, Maven или Ant, команды в которых пишутся на языках Groovy, POM и XML соответственно; по умолчанию в проектах используется Gradle, а на начальных этапах обучения разработке на Java править файлы, написанные на Groovy, практически не придётся. Для вёрстки UI-части обычно также используется язык XML.

Android Studio, в декабре 2014 года признанная Google официальной средой разработки под ОС Android, совершенствуется год от года, чем облегчает жизнь Android-разработчикам. Такие её возможности, как визуальный UI-редактор и автодополнение кода, помогают сделать процесс разработки более комфортным.

Тем, кто готов к полному погружению в Android-разработку приложений, Java рекомендуется в первую очередь. Однако если вы почуствуете сложности из-за специфики языка, то начните с чего-то попроще и возвращайтесь, когда почувствуете уверенность.

Kotlin


Язык был официально представлен Android-сообществу в мае 2017 года на Google I/O. Уже в 2019 году Google признали его предпочтительным для разработки приложений на Android, отодвинув Java на второй план. Это в том числе значит, что создание новых стандартных инструментов (библиотек, функций Android Studio) будет в первую очередь нацелено на Kotlin.

С 2019 года Android-разработчики Лайв Тайпинг пишут исключительно на Kotlin. Такие проекты, как , Superbro и написаны на этом языке, а и постепенно переводятся на него.

Kotlin включил в себя лучшее из современных языков программирования, таких как Java, Scala, TypeScript. Среди основных преимуществ — автоматическое выявление типов данных, поддержка функциональной парадигмы, функции-расширения. В то же время язык получил защиту от ряда масштабных проблем, например, «ошибки на миллиард», или NullPointerException. Всё это объясняет его популярность — по данным опроса StackOverflow 2019 года Kotlin вошёл в пятёрку самых любимых сообществом языков .

Основой для Kotlin является Java, поэтому переход для бывалых разработчиков облегчён. Если же Java вам незнакома, советуем сначала поработать с ней. Крупные проекты с большим количеством legacy кода, скорее всего, написаны на Java. То есть в коммерческой разработке приложений под Android могут возникнуть задачи, где знание Java будет обязательно.

С/ С++


Более низкоуровневые языки, которые также поддерживаются Android Studio с использованием Java NDK. Это позволяет писать нативные приложения, что может пригодиться для создания игр или других ресурсоёмких программ. Android Studio предлагает поддержку C/ C++ через Android NDK (Native Development Kit). Это значит, что код будет запускаться не через Java Virtual Machine, а непосредственно через девайс, что даст вам больше контроля над такими элементами системы, как память, сенсоры, жесты и т. д. , а также возможность выжать из Android-устройств максимум ресурсов. Это также означает, что пользоваться вам придётся библиотеками, написанными на C или C++ .

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

Python


Тот факт, что Android не поддерживает использование Python для создания нативных приложений, ещё не означает, что это невозможно. Любители этого языка разработали множество инструментов, позволяющих скомпилировать код на Python в требуемое состояние, а наличие различных библиотек позволит строить даже нативные интерфейсы с соблюдением гайдлайнов Material Design. Самым популярным фреймворком является Kivy , который позволит вам создать приложение для Play Market на чистом Python.

BASIC


Благодаря своей простоте и дружелюбности BASIC является оптимальной точкой входа для начинающих программистов.

Плохая новость: он не поддерживается Android Studio и не подходит для сред Unity и Xamarin. Хорошая новость: для BASIC есть специальная среда разработки B4A , в которой можно создавать Android-приложения. B4A воплощает концепцию визуального прототипирования RAD, которая подразумевает быстроту и удобство программирования. Здесь много удобных мелких дизайнерских решений, а отзывчивое сообщество поможет с любой проблемой.

Свой минус вносит и то, что ресурсоёмкие игры на BASIC не создать и на поддержку от Google в силу неофициального статуса ПО рассчитывать не стоит. Это значит, что приложения не будут соответствовать Material Design, а вы со знанием одного лишь BASIC не можете расцениваться как профессиональный разработчик. И среди всего списка языков и сред в этой статье, этот — единственный платный.

Lua (с использованием Corona SDK)


Баланс между простотой изучения мобильной разработки под Android и чувством контроля со стороны разработчика. На языке Lua основан кроссплатформенный графический движок Corona . LUA значительно проще Java, а Corona SDK сделает работу с этим языком лёгкой и приятной. Он поддерживает все нативные библиотеки, позволяя тем самым писать под множество платформ.

Чтобы писать код, вам понадобится Notepad++, а чтобы его запустить без предварительной компиляции, нужен эмулятор. Если APK собран и программа готова к развёртыванию, то запустить приложение можно через онлайн-инструмент. С базовыми навыками программирования осилить Android-разработку через Corona можно без особых трудностей.

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


Если вам уже что-то известно о веб-программировании вообще и HTML, CSS и JavaScript в частности, то эти знания пригодятся вам для создания элементарных кроссплатформенных приложений с помощью фреймворка PhoneGap. Это последний в нашем списке, но далеко не последний по значимости, способ покорить Android-разработку.

Основными причинами использовать PhoneGap для разработки приложений в компании Live Typing были:

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

Заключение

В целом, приложения под Android можно создать практически на любом популярном языке — фреймворки и утилиты найдутся под всё. Однако если вы хотите стать профессиональным Android-разработчиком, использовать все возможности операционной системы и иметь доступ к самым новым функциям Android, то вашими верными спутниками станут Java или Kotlin. Даже если эти языки вам не знакомы и кажутся сложными, их стоит изучить, чтобы писать разнообразные, красивые и функциональные приложения для операционной системы Android.

А начать знакомиться с теоретической стороной Android-разработкой нужно с нашей статьи, в которой мы собрали .

А если вы решили создать мобильное приложение, но не знаете, с какой платформы начать, то начните с Android. Количество скачиваний Android приложений на 65% выше, чем на iOS, а дизайн и проектирование Android-приложений обходятся дешевле. Ищете надёжную студию мобильной разработки? , и мы с вами свяжемся.