Писать приложения для андроид. Android: программирование для начинающих

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

А ещё все новые Хромбуки отныне и навсегда обзавелись поддержкой Android-приложений: их можно скачивать, устанавливать и запускать, как в родной среде. Рынок Android-программ лишь растёт. Не следует думать, что время ушло – ещё совсем не поздно начать. Всё, что нужно для старта: приготовиться, сделать глубокий вдох, подобрать подходящий язык программирования – и начать свое путешествие.

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

Когда дело касается приложений для Android, язык Java никак не может стать неверным выбором. Помимо того, что это официальный язык программирования данной ОС, он ещё и второй по распространённости на ресурсе GitHub, и столь популярен он уже более 20 лет. Это значит, что инструкций и учебников по Java существует великое множество, да и беспокоиться об устаревании этого языка в ближайшем будущем совершенно не следует.

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

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

Язык программирования Kotlin был создан специально для работы на виртуальных машинах Java. Это означает, что приложения Kotlin компилируются в код Java, что позволяет им запускаться на любых машинах с поддержкой Java-среды. А так как поддержкой Java обладает большинство машин, то использование Kotlin – сравнительно простой способ разработки кросс-платформенного ПО.

Использование Kotlin – это применение в программном продукте всех лучших сторон Java, без его недостатков. Синтаксис и другие особенности программирования на Kotlin современны, понятны, быстры. Это действительно удобная среда для разработки. Там, где Java кажется громоздким, неуклюжим и староватым языком, Kotlin выглядит комфортно, свежо и даже красиво. В какой-то степени можно считать, что Kotlin был специально создан для разработки приложений Android.

Обратная сторона медали? Kotlin – очень молодой язык. Его первые версии были выпущены в 2011 году, а официальный релиз состоялся лишь в 2016. Есть и хорошие новости: Kotlin – бесплатный и с открытым исходным кодом. Стоит ожидать, что он будет развиваться семимильными шагами. Но в любом случае должно пройти несколько лет, прежде чем этот язык зарекомендует себя по-настоящему надёжным выбором.

C# — невероятный язык программирования! Он взял от Java всё самое лучшее, оставив за бортом худшие особенности этого языка. И развивался он в том же правильном русле. Похоже, что в Microsoft некогда разглядели потенциал Java и решили разработать собственную, лучшую версию.

Долгое время серьёзным недостатком использования C# было то, что он работал лишь в системах Windows: этот язык основывается на.NET Framework. Но в 2014 году это обстоятельство изменилось: Microsoft открыла исходные коды.NET Framework. Более того, в 2016 году корпорация приобрела компанию Xamarin – разработчика Mono (проект, позволяющий программам C# работать на различных платформах).

Итогом этих славных дел стало то, что сегодня можно использовать среды Xamarin.Android и Xamarin.iOS для создания мобильных приложений в Visual Studio или Xamarin Studio. Отличный способ для начала разработки, ведь в дальнейшем можно будет использовать средства этого языка в других областях – скажем, создание сложных игр при помощи Unity и C#. Наглядные примеры приложений, созданных в Xamarin? MarketWatch – ни больше, ни меньше.

Наконец, отметим, что ещё недавно за работу в Xamarin требовалась плата. Но Microsoft сделала эту среду бесплатной!

Хотя Android не обладает нативной поддержкой Python, существуют инструменты, позволяющие писать приложения на Python, а затем конвертировать их в «родные» для Android приложения APK. Великолепный пример жизнеспособности Python в качестве действительно эффективного языка. Почитатели языка Python, желающие попробовать себя в разработке Android-приложений, обязательно оценят эту возможность – не вникая при этом в дебри Java.

Среди наиболее популярных решений для конвертации кода Python в APK – проект Kivy. И дело даже не в его природе open source, и не только в поддержке Windows, Mac, Linux и iOS вдобавок к Android. Kivy спроектирован таким образом, чтобы действительно ускоряет разработку приложений. Во всяком случае, можно использовать его в качестве инструмента для прототипирования. Сколько всего можно сделать при помощи лишь нескольких строк кода!

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

Пара примеров приложений на Android, написанных в Kivy: Kognitivo и Barly.

  1. HTML5 + CSS + JavaScript

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

Для создания Android-приложений этим способом можно использовать возможности Adobe Cordova – это фреймворк с открытым исходным кодом, который также поддерживает операционные системы iOS, Windows 10 Mobile, Blackberry, Firefox, и многие другие. Однако, какой бы полезной ни была Cordova, для создания в ней сколь-нибудь приличного приложения требуется серьёзная работа. Поэтому многие программисты отдают предпочтение проекту Ionic Framework (который использует «Кордову» для развертывания на различных платформах).

Примеры приложений для Android, написанные на HTML5, JavaScript и CSS: Untappd и TripCase.

Есть и другая возможность: использование библиотеки React Native. Её можно развернуть на Android, iOS и платформе «Универсальных приложений Windows». Эту библиотеку используют специалисты Facebook, Instagram и других крупных компаний, поэтому можно положиться на её надёжность. Обучение не самое простое, но когда оно подойдёт к финалу, в ваших руках будет вся мощь, гибкость и удобство, которые только можно пожелать.

Lua – старый скриптовый язык, который изначально создавался в качестве дополнения для программ, написанных на более сложных языках: C, VB.NET и т.д. В этом языке есть некоторые особенности, которые выделяют Lua из ряда подобных ему – к примеру, начало массивов с 1 вместо 0, или отсутствие нативных классов.

Таким образом, для определённых задач Lua можно использовать в качестве основного языка программирования. Лучший тому пример – SDK Corona. При помощи Corona можно создавать мощные, богатые по функциональности приложения с возможностью развёртывания на Windows, Mac, Android, iOS, и даже Apple TV + Android TV. В Corona также встроены возможности для монетизации, плюс – это приличный по объёмам рынок, где можно отыскать полезные в работе плагины.

Чаще всего Corona используют для создания игр (среди примеров – Fun Run 2 и HoPiko), однако есть и образцы утилит, а также бизнес-приложений (My Days и Quebec Tourism).

  1. C/C++

Для создания приложений Android, Google официально предоставляет две среды разработки:

  • SDK (использует Java);
  • и NDK (использует нативные языки, наподобие C и C++).

Отметим, что для создания приложения целиком, использовать C, C++ и «голый» Java не получится. Вместо этого NDK позволяет создавать библиотеки, к функциям которых могут обращаться части Java-кода из приложения.

Как правило, нет необходимости использовать NDK. Эту среду не стоит использовать в качестве основной хотя бы потому, что придётся больше заниматься кодингом на C/C++, а не на Java. Существование NDK оправдано в тех задачах, когда требуется выжать как можно больше производительности при выполнении сложных вычислительных задач. Также NDK позволяет внедрять в приложение библиотеки C и C++.

Но в других случаях стоит придерживаться Java везде, где возможно. Разработка Android-приложений на C/C++ в разы сложнее, чем на Java. И чаще всего выигрыш в производительности слишком незначителен.

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

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

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

XXI век. Эпоха цифровых технологий и интернета. Реальность все увереннее становится виртуальной. Сегодня чуть ли не каждый первый житель любой развитой страны не расстается со смартфоном. И если часть отдает предпочтение модным Iphone и операционной системе IOS, то большинство пользуется устройствами на Android. Ведь они дешевле и выбор приложений гораздо богаче. И чтобы создавать такие приложения, нужны специально обученные люди, называемые программистами. Что нужно знать и уметь для того, чтобы погрузиться в Android-программирование?

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

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

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

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

Установка необходимого ПО

Перед началом разработки на компьютер следует установить драйверы для смартфона. Это если на компьютере установлена Windows. Остальные системы обходятся без специальных драйверов. Искать их лучше на официальном сайте производителя устройства. Если в процессе программирования будут возникать вопросы (а они будут возникать постоянно), то нужен доступ к интернету. Разработка под Android происходит в программе "Андроид Студио". Скачивается она с официального сайта. Разработана программа компанией Google.

Какие выбрать источники?

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

Какую книгу выбрать? Хорошо себя зарекомендовала книга из серии Head First «Программирование для Android». В ней в доступной для новичка форме описан весь процесс. Авторы выбрали не скучную и монотонную, а юмористическую манеру изложения материала с массой интересных заданий.

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

Основным языком, на котором разрабатываются приложения, является Java. Поэтому нужно знать его хотя бы на начальном уровне для того, чтобы Android-программирование давалось легко. Без знаний Java ничего не выйдет. Это один из самых востребованных по всему миру языков программирования. Он в освоении намного проще, чем языки C и C++. Java строго типизирован, и это привьет хорошие манеры написания кода. Для изучения этого языка тоже есть книга от Head First. Программирование для Android осилит любой желающий. Главное, чтобы была мотивация.

Мотивация и способы изучения

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

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

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

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

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

Программирование является одним из тех направлений, где каждый может почувствовать себя в роли творца. Обычно под ним понимают разработку приложений под персональные компьютеры, единицы производственной техники или просто для электронных самоделок. Но с распространением сенсорных мобильных устройств всё популярней становится программирование под Android, iOS или другую системную оболочку подобного типа. Что ж, надо признать, занятие это перспективное. Поэтому в рамках статьи будет рассмотрено, под Android с нуля. Какие особенности здесь существуют? Какой язык используется?

Создание программ

Прежде чем самостоятельно писать программы, необходимо изучить все нужные для этого составляющие:

  1. Язык.
  2. Выбрать среду разработки. На языке мы ещё остановимся детально, как, впрочем, и на программных продуктах, где будут создаваться приложения. Но сначала немного поговорим о средах разработки. Условно их можно поделить на три составляющие:
  • графические;
  • обычные;
  • онлайн.

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

На каком языке пишутся программы?

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

Выбираем обычную среду разработки

В качестве самых серьезных игроков рассматриваются Eclipse и Android SDK. Они обе являются бесплатными. В целом следует отметить, что эти среды разработки - серьезные конкуренты, и каждая из них обладает рядом сильных и слабых сторон. Изучать стоит каждую из них. Отдельно позволим себе только немного остановиться на одном аспекте Android SDK - эмуляторе. Он является программой, которая выдаёт себя за телефон или планшет, что работает на базе "Андроида". Эмулятор спокойно работает на обычном компьютере и на рабочем столе выглядит как стандартное мобильное устройство. Существует единственная особенность - управляется он с помощью мышки и клавиатуры, а не пальцем. В эмуляторе можно будет проверить работоспособность приложения под различные расширения экрана, а также на разных версиях мобильной операционной системы "Андроид". Поэтому, как бы это странно для вас ни звучало, но во время разработки приложений, нацеленных на Android, иметь телефон - вовсе не обязательно.

Что нужно для разработки своего приложения?

Графические среды разработки

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

  1. Наличие интуитивно понятного интерфейса.
  2. Использование понятной логики работы.
  3. Возможность создания элементов в графическом и кодовом режимах.
  4. Наличие документации по работе со средой разработки и форума поддержки.

Онлайн-среда разработки

Они могут предоставить довольно широкий функционал в простой точке доступа - интернете. «Онлайн-среда разработки» - вероятно, этим всё сказано. Хотя следует уточнить, что под Android всё же является нелегким делом. Так, наиболее сложно будет реализовать шутеры и похожие по сложности приложения. А вот программы с текстовым оформлением и передачей данных - это легко.

Заключение

Надеемся, вопросов по первым шагам подготовки к созданию своих программ больше нет. Если же вы решили всерьез заняться программированием, то можно воспользоваться специальной литературой. К примеру, книгой «Программирование под Android» Харди Браяна. Конечно, это не единственный хороший труд, но с чего-то же надо начинать. Вот с ознакомления с данным пособием и можно начать путь к успеху.

6 января 2013 в 19:36

Программирование под Android для начинающих. Часть 1

  • Разработка мобильных приложений ,
  • Разработка под Android
  • Tutorial

Здравствуйте. Сегодня на глаза попался о курсе программирования под Android на сайте Linux Foundation, а вместе с ним - и немало комментариев о том, что хотелось бы видеть и перевод этих уроков. Поскольку я сейчас, после четырех лет разработки под микроконтроллеры, начал изучать и программирование для мобильных устройств, то параллельно решил сделать перевод первой части урока.

Программирование под Android для начинающих. Часть 1
Смартфоны и планшеты на Android все чаше встречаются в наших сумках и карманах, и программирование под Android также становится все популярнее. Это отличная платформа для разработки - API прекрасно документирован и прост в использовании, да и просто интересно создать что-то, что вы cможете запустить на своем смартфоне. Изначально вы можете обойтись и без него, создав и протестировав код с помощью эмулятора на вашем Linux ПК. В первой из двух частей этого введения объясняется как создать простое приложение с таймером, а также даются начальные сведения о Android API. Курс подразумевает наличие начальных представлений о Java, XML и технологиях программирования, но тем не менее не стесняйтесь попробовать даже если вы имеете об этом очень смутное представление.
Начало работы и среда разработки
Немного о версиях: последней версией Android является 4.2 (Jelly Bean), но, как можно выдеть по этой диаграмме , она еще недостаточно распространена. Лучше всего начинать разработку под одну из версий: 4.0 (Ice Cream Sandwich) или 2.3 (Gingerbeard), особенно с учетом того, что версии Android поддерживают обратную совместимость (т.е. ваш код для версии 2.3 будет работать и на 4.2), а приложения, разработанные для более поздней версии, не всегда будут работать и на старой. Приведенный здесь код должен работать на версиях 4.0 и 2.3.
Простейший способ получить среду разработки - установить Android Bundle, который можно скачать . Также вам понадобится JDK 6 (не только JRE). Не забудьте что Android не совместим с gcj. Если вы уже используете Eclipse или другую IDE, то вы можете попробовать настроить ее под Android. Как это сделать - описано . Теперь создайте проект под именем Countdown с помощью Eclipse , или из командной строки . Я установил в настройках BuildSDK 4.0.3 и minimum SDK 2.2, и (в Eclipse) использовал шаблон BlankActivity.
Мой первый проект под Android: интерфейс
Первой нашей программой под Android будет таймер, показывающий обратный отсчет от 10 секунд после нажатия кнопки. Прежде чем писать код, нужно создать интерфейс - то, что пользователь увидит, запустив наше приложение. Нужно открыть res/layout/activity_countdown.xml и создать XML шаблон - с помощью редактора Eclipse или текстового/XML редактора ввести следующее:
Есть вопросы?

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

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