Android — На чем пишут приложения для Android

Содержание
Цукерберг рекомендует:  Обучение - Покажется смешным, но...

Как написать приложение для Android при помощи Android Studio

Этот урок научит вас основам того как написать приложение для Android используя среду разработки Android Studio. Устройства Андроид становятся всё более распространенными, спрос на новые приложение все время только увеличивается. Android Studio бесплатная, простая в использовании среда разработки.

Для этого урока лучше всего, если у вас есть хотя бы поверхностные знания языка Java так как это язык используемый Android. В уроке не будет слишком много кода так как я исхожу из того что вы немного знакомы с Java или готовы найти то что вы еще не знаете. Создание приложения займет 30-60 минут, зависит от того как быстро вы скачаете и установите все необходимые программы. После знакомства с этим уроком по созданию своего первого приложения для Андроид, возможно вы найдете себе новое веселое хобби или даже начнете карьеру многообещающего разработчика мобильных приложений.

Этап 1: Устанавливаем Android Studio

  1. Необходимо установить JDK (Java Development Kit) и JRE (Java Runtime Environment). Скачать можно по этой ссылке. Выбираете там версию для вашей ОС, принимаете лицензионное соглашение, скачиваете и устанавливаете.
  2. Теперь идем сюда http://developer.android.com/sdk/index.html и скачиваем Android Studio (осторожно, придется скачать около 3 гигабайт).
  3. Запускаем установку и следуем инструкциям.

Этап 2: Создаем новый проект

  1. Откройте Android Studio.
  2. В меню «Quick Start», выберите «Start a new Android Studio project».
  3. В окне «Create New Project» (окно которое открылось), назовите ваш проект «HelloWorld».
  4. Название компании по желанию.*
  5. Нажмите «Next».
  6. Убедитесь, что галочка стоит только на «Phone and Tablet».
  7. Если вы планируете тестировать своё первое приложение на вашем телефоне, то убедитесь, что выбрана правильная версия Андроид (не старше той, что на телефоне).
  8. Нажмите «Next».
  9. Выберите «Blank Activity».
  10. Нажмите «Next».
  11. Оставьте все остальные поля как они есть.
  12. Нажмите «Finish».

*Типовое название компаний для андроид проектов «example.name.here.com».

Этап 3: Редактируем приветствие

  1. Перейдите на вкладку activity_main.xml, скорее всего она уже активна.
  2. Убедитесь, что внизу экрана активна вкладка Design (скорее всего это так).
  3. Перетащите мышкой фразу «Hello, World!» из левого верхнего угла телефона в центр экрана.
  4. В левой части экрана находится дерево папок. Откройте папку под названием «values».
  5. В этой папке дважды щелкните на файл «strings.xml».
  6. В этом файле найдите строчку содержащую текст «Hello world!» и добавьте к этому тексту «Welcometomyapp!».
  7. Вернитесь на вкладку «activity_main.xml».
  8. Убедитесь, что ваш текст находится по центру экрана телефона и содержит текст «Helloworld! Welcometomyapp!».

Этап 4: Добавляем Кнопку

  1. На вкладке «activity_main.xml» выберите внизу вкладку «Design».
  2. В колонке слева от окна, где находится телефон, найдите папку под названием «Widgets». Там находятся различные кнопки.
  3. Возьмите кнопку «Button» и перетащите её на экран телефона. Она должна находиться по центру экрана прямо под вашим текстом.
  4. Убедитесь, что кнопка все еще выбрана (синяя рамка вокруг неё).
  5. В нижнем правом углу есть окошко со свойствами выбранного объекта. Промотайте вниз и найдите строчку под названием «text».
  6. Поменяйте текст «New Button» на «Next Page».

Этап 5: Создаём Second Activity

  1. В верхней части дерева файловой системы проекта, щелкните правой кнопкой мыши на папке под названием «app».
  2. Выберите New > Activity > Blank Activity.
  3. В появившемся окне в верхней строчке введите «SecondActivity».
  4. Нажмите «Finish».
  5. Перейдите на вкладку «activity_second.xml» и убедитесь, что внизу выбрана вкладка «Design».
  6. Переместите текст из верхнего левого угла телефона в центр экрана, как мы делали на предыдущих шагах.
  7. Убедитесь, что текстовый блок все еще выбран (синяя рамка) и в нижнем правом углу свойств объекта найдите строчку «id» и введите туда «text2».
  8. В верхнем левом углу (в дереве проекта) снова выберете двойным нажатием «strings.xml».
  9. Под строчкой

добавьте следующую строку

  • Вернитесь на вкладку «activity_second.xml».
  • Снова выберите текстовый блок.
  • В нижнем правом углу в свойствах объекта найдите строчку «text» и введите туда «@string/second_page».
  • Убедитесь что в текстовом поле теперь написано «Welcometothesecondpage!» и блог располагается в центре экрана.
  • Цукерберг рекомендует:  Product-менеджмент этапы создания продукта

    Этап 6: Прописываем действие для кнопки

    1. В верхней части выберите вкладку «MainActivity.java».
    2. Добавьте следующие строчки в конце onCreate метода:

    должно получиться вот так
    Добавьте следующий метод в нижней части класса MainActivity:

    должно получиться вот так

  • Нажмите на + рядом с import в третьей строке вкладки «MainActivity.java», чтобы раскрыть список операторов import.
  • Добавьте следующие строчки если их еще там нет:
  • Этап 7: Тестируем приложение

    1. На панели инструментов в верхней части окна Android Studio нажмите на зеленый символ воспроизведения.
    2. В окне «ChooseDevice» выберите пункт «Launchemulator» и выберете устройство.
    3. Нажмите на кнопку «OK».
    4. Когда эмулятор запустится (это может занять длительное время) приложение автоматически откроется на виртуальном устройстве.
    5. Убедитесь что весь текст отображается правильно и нажатие на кнопку приводит вас к следующей странице.

    Внимание: Если вы получаете сообщение «HAX kernel module is not installed!», то тут возможны два варианта. Дело в том, что данную виртуализацию поддерживают лишь современные процессоры Intel и вам необходимо лишь включить её в BIOS. Если же у вас процессор, который не поддерживает данную функцию, вам придется протестировать приложение на реальном телефоне или воспользоваться не встроенным, а сторонним эмулятором.

    Как получить файл .apk в Android Studio

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

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

    Этап 8: Результат

    Поздравляю! Вы только что завершили написание своего первого Android-приложения с некоторыми основными функциональными возможностями. Готовое приложение должно иметь страницу приветствия пользователя и кнопку, которая приведет пользователя на вторую страницу.

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

    Как начать разрабатывать под Andro >
      Переводы, 21 ноября 2020 в 18:16

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

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

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

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

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

    Статьи по Android вы всегда можете найти у нас на сайте.

    Я хочу начать разрабатывать под 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.

    Какое устройство/ОС/т.д. мне использовать?

    По этим вопросам был проведён вопрос на Reddit, результаты можно посмотреть здесь.

    Ресурсы

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

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

    Дизайн

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

    Рассылки

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

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

    Инструменты

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    «Росбанк», Москва, до 60 000 ₽ (до налогов)

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

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

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

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

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

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

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

    • Представьте всё. Не беспокойтесь, что идею могут украсть. Поскольку теперь идея завязана на ваших навыках, а распределение работы более справедливое, разработчику выгоднее работать с вами вместо того, чтобы делать всё самому. Используйте картинки и диаграммы, где это уместно, чтобы описать идею. Не упускайте важных деталей или того, что вы считаете тайным преимуществом. Скорее всего, оно таковым не является, и замалчивание этих деталей сделает идею размытой и недостаточно убедительной.
    • Что вложите вы? Очень важно это обозначить.
    • Каких взаимоотношений вы ищете? Долевое участие? Будете платить разработчику? При долевом участии нужно принять факт того, что разработчик может изменять приложение, и вам нужно будет вместе работать над тем, чего вы оба хотите. Не только вы обладаете видением того, какое направление является наилучшим.

    Возможно, вам надо будет пересмотреть свою идею и внести изменения. И повторить это много раз.

    7 лучших языков программирования для создания приложений на Andro >

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

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

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

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

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

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

    Kotlin

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

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

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

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

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

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

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

    Python

    Хотя 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.

    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).

    Для создания приложений 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. И чаще всего выигрыш в производительности слишком незначителен.

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

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

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

    10 качественных конструкторов приложений для Andro >

    Как создать приложение для Android?

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

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

    Основные задачи для начинающего разработчика

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

    • Интуитивно понятным для вас интерфейсом.
    • Логической и последовательной работе в редакторе.
    • Работа в двух направлениях: с кодом и графикой.
    • Четкая инструкция по работе и возможность задавать вопросы по работе на форуме поддержки.

    Придерживайтесь данных советов и выбирайте только проверенные редакторы.

    10 самых популярных графических конструкторов приложений

    #1 Alstrapp

    Alstrapp — полноценная CMS для создания и управлением приложением для Android и iOS.
    Нет никаких абонентских платежей и подписок — только единоразовая покупка лицензии, которая дает возможность создавать неограниченное(!) количество приложений без ограничений.

    Из основных преимуществ стоит отметить:

    • PUSH и Alert уведомления
    • управление клиентами (регистрация аккаунта, личный кабинет)
    • редактор контента (возможно добавлять и редактировать любой HTML контент без обновления приложения)
    • чат с пользователями
    • брендирование приложения (собственные иконки и экраны загрузки)
    • только бесплатные шаблоны для Android и iOS устройств
    • управление всеми приложениями в одном окне
    • 100% открытый исходный код

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

    Alstrapp имеет систему локализаций и поддерживает русский язык.

    Кстати, на русском языке можно написать и в поддержку — разработчики наши соотечественники.

    #2 NWICODE

    NWICODE является инновационным лидером в области разработок приложений, т.к. разработчикам удалось создать полноценную CMS, благодаря который каждый человек сможет написать своё приложение без каких либо знаний языков программирования. На этой платформе возможно создавать приложения для Android, iOS, а также Web App. Основные плюсы:

    • модули календаря, онлайн-записи, объявления и д.р;
    • не требует навыков программирования;
    • встроенная аналитика;
    • мобильный интернет-магазин Ecommerce;
    • бесплатный конструктор лэндингов;
    • интеграция с социальными сетями.

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

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

    #3 APPS-TECH

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

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

    #4 FREEL APP

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

    К сожалению сервис больше не доступен.

    #5 Своёприложение

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

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

    К сожалению сервис больше не доступен.

    #6 APPSFERA

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

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

    #7 THEAPPBUILDER

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

    Сервис отлично подойдёт для начального и среднего уровня знания темы. Доступны пошаговые инструкции, также есть полезные советы.

    Перечислю главные достоинства THEAPPBUILDER:

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

    #8 APPSGEYSER

    Самый быстрый конструктор приложений. Главное преимущество данного редактора – вшивать ссылки и рекламу вашего сайта в приложения Android.

    Вот еще некоторые главные отличия данного сервиса:

    • Написание приложений происходит довольно быстро
    • Создавать действительно рабочие игры с отменной графиком.
    • Понятная и удобная публикация в Google Play.
    • AppsGeyser дает вам работу по монетизировании приложения, непосредственно из нее.
    • В режиме онлайн вам доступно: создавать, редактировать и выкладывать в интернет, любые ваши приложения.

    #9 IBUILDAPP

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

    Перечислим особенности IBUILDAPP:

    • Очень объемный софт шаблонов на разные тематики: фотостудии, такси, рестораны, перевозки и многое другое. Выбирайте свой шаблон и подгоняйте его под свои нужды.
    • Наличие инструментов для продвижения вашего приложения в Google Play. Теперь вам не стоит переживать, за место под солнцем, программа сделает это за вас и продвинет в рейтинге ваш проект.
    • Подключение рекламы к вашему проекту, создавая тем самым возможность принести вам прибыль.

    #10 App Inventor

    Самый востребованный графический конструктор приложений на рынке. Данный ресурс был разработан, некем иным, как компанией Google. Этот редактор оснащен самыми продвинутыми методами и алгоритмами, которые способны создавать достойные программы.

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

    Еще хочется отметить следующее:

    • Работая, вы все можете отслеживать в реальном времени, все действия просматриваются сразу.
    • Сохранение вашего проекта происходит в один клик.

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

    Писать самому или доверить студии разработчиков?

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

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

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

    На чем пишут приложения под Android

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

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

    На каких языках пишут приложения для Android

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

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

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

    В 2020 году был представлен общественности язык программирования Kotlin, который сразу же окрестили вторым официальным после Java. Он приглянулся многим программистам, поскольку более простой в изучении, поддерживает работу с популярной IDE Android Studio, активно развивается, очень похож на Java и совместим с этим языком, может похвастаться более простой компиляцией без прекращения из-за мелких недочетов и меньшим boilerplate-кодом.

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

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

    Как выбрать подходящую среду разработки?

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

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

    Выбор среды разработки мобильного приложения зачастую зависит от поддерживаемых языков, и здесь данная IDE является лучшей, поскольку поддерживает сразу 3 самых популярных языка Java, Kotlin и C++. По удобству, набору инструментов, надежности и практичности, данная среда неоднократно признавалась лучшей и сейчас является самой популярной среди большинства разработчиков.

    Вместе со средой Android Studio идет несколько очень полезных инструментов и модулей, расширяющих его возможности. Одним из них является эмулятор AVD Manager, который позволяет запускать созданные Android-приложения на обычном компьютере, и проверять их работу без необходимости установки на Android-устройства. IDE Unity 3D предназначена для разработки игр, причем делать это здесь легче и быстрее, чем в предыдущей среде.

    Для создания игровых приложений также подходят Unreal Engine и GameMaker: Studio. AIDE или Android IDE отличается от других сред тем, что работает на устройствах с ОС Android, поэтому с ее помощью можно программировать приложения прямо на планшете или смартфоне. Среда разработки под лаконичным названием B4A позволяет создавать программы под Android на языке BASIC, используется крайне редко. Создавать приложения также можно в IntelliJ IDEA, Andyroid, Cordova, Blustacks, PhoneGap и других средах, которые применяются не так уж и часто.

    Самой популярной средой разработки является Andro >KitApp . Наша команда поможет реализовать любую вашу идею и разработает приложение под Android любой сложности!

    Какие языки программирования нужно знать, чтобы разрабатывать приложения под Android?

    Итак, вы решили научиться разрабатывать приложения под Android? Отлично! Но нужно понимать, что без труда не вынешь и рыбку из пруда. Программирование — это крайне обширная и трудная для изучения область. Зачастую, элементарно не знаешь с чего начать. Скорее всего у вас возникнут некоторые вопросы, на которые необходимо дать ответ, прежде чем вы начнете свое обучение.

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

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

    Выбирайте

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

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

    Языки, которые вы можете изучить, чтобы разрабатывать приложения под Android:

      Java: Java является официальном языком программирования для платформы Andro >Любой, кто имеет дело с разработкой приложений на Android, ответит вам, что самый популярный язык программирования в их сфере — это Java. Данный язык является официальным языком разработки на Android, то есть он имеет наибольшую поддержку со стороны Google и большинство приложений в Google Play написаны именно на нем.

    Самый простой способ начать разрабатывать приложения — скачать Android Studio.

    Andro > — это интегрированная среда разработки (IDE), разработанная компанией Google. В комплекте с этой IDE идет Android SDK (набор инструментов для упрощения и ускорения разработки приложений), что позволит вам, без лишних усилий, сразу же сесть и начать работать.

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

    Сам язык Java был выпущен компанией Sun Microsystems в далеком 1995 году. Код Java можно выполнить на любом устройстве, так как сначала он транслируется в специальный байт-код, независимый от платформы, а затем этот байт-код выполняется виртуальной машиной JVM.

    К сожалению, Java довольно сложен, поэтому я бы не рекомендовал его, в качестве “первого языка для изучения”. Java — это объектно-ориентированный язык, включающий в себя такие сложные темы, как конструкторы, NullPointerException, проверяемое исключение и т.д. Вам придется использовать очень много шаблонного кода (boilerplate code), который занимает ненужное место и отвлекает внимание, и все ради выполнения одной минимальной задачи. Также, разработка с помощью Java потребует от вас базового понимания таких понятий, как Gradle, манифест приложения и язык разметки XML.

    Но все вышеперечисленное вовсе не означает, что Java — это плохой язык. Вообще нельзя называть, какой бы то ни было, язык плохим. Все недостатки Java существуют для нашего же с вами блага и способствуют написанию чистого кода. Именно по этой причине многие люди так любят Java, а еще потому что он очень универсален и используется по всему миру. Согласно рейтингу PYPL (PopularitY of Programming Languages), Java является самым востребованным языком программирования среди работодателей.

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

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

    Примечание: Java также можно использовать с Unity. Я расскажу о движке Unity в разделе C#. Просто знайте, что можно выучить Java, вместо C# и использовать с Unity, а затем перейти к разработке, с помощью Android Studio.

    Kotlin

    Совсем недавно Kotlin стал официальным языком программирования для платформы Android. Некоторые предполагают, что он может стать чем-то вроде языка Swift, но для Android.

    Kotlin, как и Java, компилируется в байт-код JVM. Он полностью совместим с Java, то есть мы можем взять любой Java-код, написанный раньше, и вызвать в Kotlin, либо же наоборот. Отличие заключается в том, что Kotlin требует гораздо меньше шаблонного кода “boilerplate code”, поэтому его синтаксис читается легче. Также, в отличие от Java, Kotlin null-безопасен, то есть при попытке присваивания или возвращения null-код не скомпилируется. В общем, если вы только учитесь разрабатывать приложения под Android, Kotlin — замечательный выбор.

    Kotlin определенно заслуживает звания отправного языка программирования для начинающих, а тот факт, что с ним можно использовать Android Studio — большой плюс. Но в то же самое время C# вкупе с Unity — более подходящий выбор для новичков. К тому же комьюнити Kotlin только недавно начало сформировываться. Выбор за вами.

    Справедливости ради скажу, что новичкам все же не стоит выбирать этот язык, в качестве первого для Android-разработки. Android Studio предлагает поддержку языка C/C ++, но только при использовании Android NDK (Native Development Kit). Это означает, что код, написанный на C и C++ нельзя выполнить на JVM, но можно выполнить непосредственно на самом устройстве, что дает больший контроль над такими вещами, как, например, память. Для требовательных приложений это поможет выжать из устройства максимум производительности. Кстати, вы сможете использовать библиотеки, написанные на C или C++.

    Минусом является трудная настройка Android NDK, большое количество ошибок и низкая гибкость C и C++ (сложно добавлять к существующей программе новые функциональные возможности). Если вы хотите создать компьютерную игру, вам лучше воспользоваться готовым игровым движком.

    C# — это более простой, более удобный объектно-ориентированный аналог языков C и C++, разработанный компанией Microsoft. Он сочетает в себе мощь C++, удобство Visual Basic, а также многие особенности синтаксиса Java. Как и в Java, в C# реализована функция сборки мусора (garbage collection ), которая периодически освобождает память, удаляя объекты, не востребованные приложениями, поэтому вам не придется беспокоиться о таких вещах, как утечка и освобождение памяти.

    Если вы хотите быстро и без особых усилий начать разработку приложений под Android — я рекомендую сочетание C# и Unity. Unity — это и игровой движок, и IDE. Unity — это бесплатный инструмент, который позволяет за считанные часы и несколько строк кода создать полноценную игру. Без преувеличения. Помимо легкости в использовании, Unity очень мощный движок, именно поэтому его используют многие игровые студии в Google Play Store. Кстати, забыл упомянуть про его кроссплатформенность. Помимо всего прочего, разработка приложений, с помощью C# и Unity, поможет вам лучше понять объектно-ориентированное программирование (поскольку “объекты” на самом деле являются объектами большую часть времени).

    Каковы же минусы? Unity — идеальный вариант для разработки игр, но для создания стандартных Android-приложений, типа калькулятора, плохо подходит, особенно если вы собираетесь соответствовать материальному дизайну (material design) от Google. Если вы планируете стать профессиональным Android-разработчиком, вам лучше на время забыть про C# и Unity, так как это ограничит ваши возможности для трудоустройства, однако если ваша цель стать именно разработчиком игр — C# и Unity ваш путь в будущее.

    Не заинтересованы в Unity? Тогда вам стоит рассмотреть Unreal Engine (графика в разы лучше, чем у Unity, но данный движок мало подходит для разработки мобильных игр) или же донельзя упрощенный движок GameMaker Studio.

    C# также можно использовать, при помощи Xamarin через Visual Studio. Данный способ очень похож на традиционный способ разработки Android-приложений (при помощи Android Studio), но с добавлением функции кроссплатформенности (один и тот же исходный код для Android и iOS). C# и Xamarin — бессмысленный вариант для новичков в сфере разработки приложений под Android, но для небольшой компании, желающей создать приложение и для iOS, и для Android — это имеет смысл, поскольку большое количество информации в Интернете по тем или иным вопросам, а также сплоченное комьюнити поможет в этом нелегком деле.

    BASIC

    BASIC (Beginners All-Purpose Symbolic Instructions Code) — это невероятно приятный в использовании язык, который идеально подходит тем, кто только начал свое знакомство с программированием.

    Плохая новость заключается в том, что BASIC не поддерживается Android Studio, а также вы не сможете писать на нем в Unity или Xamarin. Но без хорошей новости мы вас не оставим — писать Android-приложения на BASIC все таки можно. Как? С помощью B4A от Anywhere Software. Аббревиатура расшифровывается как “BASIC 4 Android” и означает она, как вы уже поняли, разработку на BASIC для Android. Данный язык, конечно, не очень популярен для разработки приложений, но попробовать что-то новое всегда полезно.

    B4A — это среда разработки, основанная на концепции RAD или Rapid Application Development (Быстрая Разработка Приложений). В B4A реализовано множество креативных решений для более легкой разработки приложений. Кроме того, у данной среды разработки очень сплоченное комьюнити, которое не оставит вас без помощи в трудную минуту.

    BASIC и B4A — это отличный способ научиться программировать, к тому же он неплохо подходит для создания мощных и полезных приложений. Однако данный метод не совсем годится для создания высококлассных игр, потому что при нем теряется множество функций из-за того, что он является “неофициальным” вариантом для создания приложений и игр, и ему сложно соответствовать спецификациям материального дизайна от Google. В общем, вам будет сложно работать профессиональным разработчиком, используя один только BASIC. Другим большим недостатком является то, что B4A — единственный вариант в списке, не являющийся бесплатным.

    Corona

    Corona предлагает пользователям гораздо более простой, по сравнению с Android Studio, способ разработки приложений под Android, при этом предоставляя солидную мощность и полный контроль над процессом. Вы будете писать на языке программирования LUA, синтаксис которого намного проще, чем у Java. Кроме того, вместе с Corona идет Corona SDK (набор инструментов для упрощения и ускорения разработки приложений), что позволит еще больше упростить вашу работу. Corona поддерживает огромное множество нативных библиотек и кроссплатформенность. В основном он используется для создания игр, но может быть использован и в ряде других способов. Для написания кода вам нужно будет использовать текстовый редактор, например Notepad ++, затем вы сможете запустить его на эмуляторе, без необходимости компиляции. Когда будете готовы создать и задеплоить APK-файл, воспользуйтесь Corona Simulator.

    Corona потребует от вас базовых навыков в программировании, но взамен предложит приятный и легкий процесс разработки приложений. В то же самое время возможности Corona и LUA несколько ограничены, поэтому попасть на “территорию настоящих разработчиков приложений” будет трудно. Данный способ разработки больше подходит для тех, кто хочет создавать простенькие приложения и не заботится о развитии своих профессиональных навыков. Кстати говоря, если захотите использовать в своем приложении функцию встроенных покупок — нужно будет заплатить комиссию. То же самое касается использования нативных API Android.

    PhoneGap

    Наконец-то мы подошли к последнему варианту разработки приложений под Android. Поприветствуйте, PhoneGap! Данный фреймворк, основанный на Apache Cordova, позволяет создавать приложения, используя те же языки, которые мы обычно используем для создания веб-сайтов: HTML, CSS и JavaScript. Движок PhoneGap расширяет API браузера и предоставляет доступ к некоторым основным функциям телефона или планшета, вроде доступа к акселометру, камере, списку контактов, файловой системе и т.д.

    По сути это ненастоящая разработка приложений под Android. Единственное, что здесь осталось от настоящего программирования — это JavaScript. Данный способ подойдет для выполнения многих базовых задач, но если вы хотите стать “настоящим, а не игрушечным” Android-разработчиком — наберитесь смелости и выберите другой вариант из данного списка.

    Заключение

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

    Независимо от того, что вы выберете, изучение языков программирования — невероятный опыт, который откроет для вас массу дверей. А изучение разработки приложений на Android — идеальный вариант, чтобы начать. Удачи!

    Разработка под iOS и Android: рейтинг языков программирования

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

    1. Java

    Java – строго типизированный объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle).

    Платформа: Android, Android Wear
    Основная IDE: Android Studio
    Обучающий курс: Мобильная разработка под Android

    2. Swift

    Swift – язык, разработанный компанией Apple и предназначенный для разработки приложений под iOS и OS X. Swift заимствовал довольно многое из C++ и Objective-C.

    Платформа: iOS, macOS, watchOS и tvOS
    Основная IDE: Xcode
    Обучающий курс: Калькулятор на Swift

    3. HTML5/JavaScript

    JavaScript — прототипно-ориентированный сценарный язык программирования. Наиболее широкое применение нашел в браузерах как язык сценариев для придания интерактивности веб-страницам, а также в кроссплатформенных фреймворках (React Native, Ionic, Sencha и т.п.).

    Платформа: iOS, Android, Tizen и практически любая другая
    Основная IDE: Eclipse, блокнот Notepad++
    Обучающий курс: зависит от фреймворка

    C# — объектно-ориентированный язык программирования. Разработан в 1998-2001 годах группой инженеров в компании Microsoft как язык разработки приложений для платформы Microsoft .NET Framework. В области разработки мобильных приложений и используется во фреймворке Xamarin.

    Платформа: iOS, Android, Windows 10
    Основная IDE: Visual Studio
    Обучающий курс: Приложения на Xamarin

    5. Objective-C

    Objective-C – компилируемый объектно-ориентированный язык программирования корпорации Apple, построенный на основе языка C и парадигм Smalltalk. Язык был создан Брэдом Коксом в начале 1980 и сейчас уже морально устарел, его заменяет новый и более простой Swift. Тем не менее, еще 3-5 лет разработчики на Objective-C будут очень востребованы на рынке.

    Платформа: iOS, macOS, watchOS и tvOS
    Основная IDE: Xcode
    Обучающий курс: Разработка iOS-приложений

    6. Python

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

    Платформа: боты
    Основная IDE: Eclipse, Visual Studio, PyCharm
    Обучающий курс: Разработка на Python с нуля

    Дополнительные материалы

    Средние зарплаты разработчиков в США в 2020 году по языкам программирования.

    Android — На чем пишут приложения для Android?

    Как научиться создавать приложения на Android? Во-первых, Вам необходимо освоить язык Java, поскольку приложения для Android пишутся именно на этом языке. Дальше у Вас есть разные пути: записаться на оффлайн-курсы, что дорого и, на мой взгляд, бесполезно, плюс очень неудобно. Так же можно обратиться к репетитору, что ещё дороже, так же не очень неудобно, но, правда, намного эффективнее. Ещё можно читать множество книг, искать информацию в Интернете. И, на мой взгляд, этот способ уже на порядок лучше предыдущих, но он занимает, к сожалению, очень много времени. В принципе, я как раз и обучался таким способом. Главная проблема, с которой я сталкивался – это устаревший код. Подавляющее большинство обучающих статей для Android написаны ещё в 2011-2012 году. И если некоторые из них ещё актуальны, то часть просто устарела так, что, в принципе, не работают. Дальше снова нужно искать более свежую информацию, причём крайне желательно знать английский язык, чтобы найти правильный вариант решения той или иной задачи. Точно такая же проблема и у книг, так как с момента написания книги и до её публикации проходит зачастую не один год, а это, пусть и не критично (как ошибочно думает большинство), но всё-таки серьёзно влияет на актуальность.

    Поэтому самым лучшим способом я считаю видеообучение, опираясь на следующие факты:

    1. Лучшая усваиваемость материала. Вы видите, как автор пишет и комментирует код, запускает приложение, и Вы вместе видите результат. То есть у Вас задействованы сразу и слух, и зрение, что существенно упрощает усвоение материала по сравнению, например, с книгами.
    2. Смотреть можно в любой момент. Вы не ограничены конкретной датой и временем какого-нибудь семинара в Москве, Вы не завязаны на то, чтобы жить там, где он проводится, да ещё и ходить туда. Вы можете смотреть видеокурс, где угодно и когда угодно. Вам так же не нужен для этого постоянный Интернет, как, например, для обучения по статьям в Интернете.
    3. Высокая скорость обучения. За счёт того, что Вы получаете всё и сразу в одном месте, плюс Вы ещё и быстро всё усваиваете.
    4. Бюджетный вариант. Цена видеокурса – это пара часов занятий со средним репетитором, или несколько занятий в оффлайне, за которые Вы узнаете слишком мало. Вообще, программирование – это не то, чему стоит обучаться в аудиториях.
    5. Гораздо интереснее. Это, возможно, субъективно, но лично я и, уверен, что большинство людей предпочитает не читать, а именно смотреть. Для меня, например, видеоуроки по интересующей меня теме гораздо интереснее любого фильма. И думаю, что для многих из Вас это так же.

    Курс состоит из 16-ти разделов:

    • Раздел №1. Введение.
      • Как правильно проходить курс.
      • Как установить Android Studio и, главное, как правильно его настроить.
      • Как установить эмулятор Android, чтобы Вам не пришлось постоянно загружать приложение на своё устройство.
      • После данного раздела у Вас будет полностью готовая и настроенная среда для разработки приложений на Android.
    • Раздел №2. Основы программирования на Android
      • Как пишется простейшее приложение «Hello World».
      • Какова структура проекта. Это очень важный урок, в котором Вы узнаете назначение всех файлов и папок в проекте.
      • Как запустить приложение на реальном смартфоне или планшете. Вы увидите, какие действия нужно совершить на самом телефоне, как правильно его подключить к компьютеру и как загрузить приложение на само устройство.
      • Для чего нужен файл AndroidManifest.xml и как его использовать.
      • Пройдя данный раздел, Вы сможете уже создавать свои первые приложения.
    • Раздел №3. Основы интерфейса приложений.
      • Вы узнаете, что такое файлы Layout и как их использовать.
      • Вы узнаете, как задавать размеры элементов и как их позиционировать на экране устройства.
      • Вы научитесь создавать простые пользовательские интерфейсы.
      • Вы узнаете, как обрабатывать события (например, клик по кнопке).
      • Вы научитесь создавать «многостраничные» приложения.
      • Вы научитесь работать с ресурсами.
      • Посмотрев этот раздел, Вы сможете создавать относительно сложные приложения, активно взаимодействующие с пользователем.
    • Раздел №4. Менеджеры компоновки.
      • Вы научитесь работать с самыми разными менеджерами компоновки: LinearLayout, TableLayout, FrameLayout, RelativeLayout, ConstraintLayout, ScrollView, GridLayout.
      • Вы узнаете, как программно создавать и использовать менеджеры компоновки.
      • Вы научитесь совмещать различные менеджеры компоновки вместе.
      • После данного раздела Вы сможете создавать интерфейсы любой сложности.
    • Раздел №5. Компоненты.
      • Вы научитесь использовать самые разные компоненты: текстовые метки, текстовые поля, кнопки, чекбоксы, радио-кнопки, выпадающие списки, компоненты для выбора даты и времени, ползунки, всплывающие сообщения.
      • Вы узнаете, как создаются и как используются списки в приложении.
      • После данного раздела Вы сможете использовать самые разные компоненты в своих приложениях. Начиная с этого момента, Вы уже в состоянии создавать сложные проекты, так как Вы будете знать: как создаётся интерфейс, как происходит взаимодействие с пользователем и как выводится информация на экран.
    • Раздел №6. Меню.
      • Как создавать меню, подменю, чекбосы и радио-кнопки в меню.
      • Как обрабатываются нажатия по различным видам пунктов меню.
      • После данного раздела Вы сможете в своих приложениях создавать и использовать самые разные виды меню.
    • Раздел №7. Диалоговые окна.
      • Какие базовые диалоговые окна уже встроены в Android и как их использовать.
      • Как создаются свои диалоговые окна.
      • Как обрабатывать действия пользователя с диалоговым окном.
      • Изучив этот раздел, Вы сможете использовать в своих приложениях самые различные диалоговые окна.
    • Раздел №8. Дизайн приложения.
      • Что такое стили и как их использовать.
      • Что такое темы и почему они так важны и удобны.
      • Данный раздел поможет Вам создавать различные дизайнерские версии приложения и менять дизайн всего приложения буквально одним кликом.
    • Раздел №9. Работа с Activity и Service.
      • Какие есть методы обратных вызовов у Activity.
      • Что такое объект Intent и как его использовать.
      • Что такое Intent-фильтры и как их можно применять.
      • Как передавать данные из одного Activity в другой.
      • Что такое сервис.
      • Как создать сервис.
      • Как выводить уведомления.
      • Данный раздел действительно важный, и после него Вы сможете создавать по-настоящему сложные функциональные приложения: с фоновыми процессами, с множеством Activity, которые обмениваются данными между собой.
    • Раздел №10. Фрагменты.
      • Что такое фрагменты и для чего они нужны.
      • Как происходит обмен данными между фрагментами.
      • Какие есть методы обратных вызовов у фрагментов.
      • Как сделать перелистывание страниц с помощью ViewPager.
      • Пройдя этот раздел Вы сможете делать Ваши приложения более эффективными с помощью фрагментов.
    • Раздел №11. Работа с мультимедиа.
      • Как работать с изображениями.
      • Как работать с аудио.
      • Как работать с видео.
      • Что такое SoundPool и как его использовать.
      • Пройдя данный раздел Вы сможете использовать в своих приложениях мультимедиа.
    • Раздел №12. Хранение данных.
      • Записывать информацию в файл.
      • Считывать информацию из файла.
      • Сохранять и загружать настройки приложения.
      • После данного раздела Вы сможете работать с файлами в Android, а также научитесь сохранять различные пользовательские настройки и служебную информацию даже при выходе пользователем из приложения.
    • Раздел №13. Телефонные вызовы и SMS.
      • Как совершать звонок прямо из Вашего приложения.
      • Как отправить SMS из Вашего приложения.
      • Как перехватить входящее SMS.
      • Как получить доступ к SMS устройства и прочитать их.
      • Как работать с контактами в телефонной книге устройства.
      • Как правильно запрашивать разрешение на доступ к этим функциям у пользователя, так как по умолчанию они, разумеется, запрещены.
      • Просмотрев данный разделе, Вы сможете создавать приложения, взаимодействующие с телефонными функциями устройства.
    • Раздел №14. Рисование в Android.
      • Как вообще происходит рисование в Android.
      • Как рисовать и позиционировать фигуры.
      • Как рисовать сложные фигуры.
      • Что такое Matrix-преобразования и как их использовать.
      • Что такое Bitmap.
      • Что такое Drawable, как его создавать и использовать.
      • Как нарисовать свой собственный компонент (например, свою кнопку).
      • Как сделать анимацию компонентов (например, плавное появление, исxчезновение, перемещение, разворачивание и так далее).
      • Как сделать анимацию изображений.
      • После этого раздела Вы сможете создавать красивые и стильные приложения.
    • Раздел №15. Работа с Интернетом.
      • Вы узнаете, как получить данные по URL.
      • Вы узнаете, что такое JSON и как с ним работать.
      • Вы увидите пример парсинга данных о текущей погоде по гео-координатам, полученным по API стороннего сервиса, и выводе их на экран.
      • Очень важный раздел, который позволит Вам создавать приложения, взаимодействующие с API любых Интернет-сервисов.
    • Раздел №16. Многопоточное программирование в Android.
      • Вы узнаете, как создаются многопоточные приложения в Android.
      • Вы узнаете, как использовать класс AsyncTask и для чего он нужен.
      • Вы увидите, как создаётся таймер обратного отсчёта.
      • Вы узнаете, как заставить телефон вибрировать и как настроить шаблон вибрирования.
      • После данного раздела Вы сможете создавать многопоточные приложения в Android. Это очень важный раздел, поскольку обработка действий пользователя, какой-нибудь фоновый служебный поток, какой-нибудь таймер обратного отсчёта, секундомер, часы – всё это должно работать в различных потоках. И вот созданию самых разных потоков с различными целями и задачами Вы научитесь в этом разделе.

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

    • Бонус №1. Создание виджета. Уверен, что многие из Вас знают, что такое виджет. Но для тех, кто не знает, кратко поясню, что виджет – это небольшая программа, которая находится на рабочем столе устройства. Там может быть, например, баланс Вашего банковского счёта, сведения о погоде, список дел на сегодня и тому подобное. И в данном Бонусе, состоящем из 5-ти уроков, Вы научитесь:
      • Создавать виджет.
      • Принимать настройки от пользователя.
      • Обрабатывать нажатия на виджете.
      • Обновлять информацию в виджете.
      • Создавать полноценные виджеты с нуля на примере виджета погоды.
    • Бонус №2. OpenGL и 3D-рисование. Очень сложный материал, но крайне полезный для тех, кто планирует создавать графические приложения, например, игры. Этот Бонус состоит из 11 уроков, в которых:
      • Вы познакомитесь с OpenGL.
      • Вы узнаете, что такое шейдеры.
      • Вы узнаете, как рисуются фигуры на OpenGL.
      • Вы узнаете, как работать с цветом в OpenGL.
      • Вы узнаете, как создаются 3D изображения.
      • Вы узнаете, как убрать искажения при разных ориентациях экрана.
      • Вы узнаете, как работать с камерой.
      • Вы узнаете, как сделать анимацию камеры.
      • Вы узнаете, как применяются трансформации.
      • Вы узнаете, как текстурировать объект.
      • Вы увидите пример создания текстурированного 3D-объекта с вращающейся камерой.
    • Бонус №3. Создание приложения Vision.Данное приложение написал я когда-то для себя, но считаю, что оно будет полезным для всех, кто много работает за компьютером и при этом хочет сохранить своё зрение. Суть его в том, чтобы через равные промежутки времени делать перерывы. Например, 50 минут за компьютером и 10 минут перерыв. После каждого интервала телефон должен сигнализировать о том, что пора за компьютер или пора делать перерыв. Разумеется, в функциях этого приложения данное время должно настраиваться. Так же в этом приложении должно быть реализовано множество мелких нюансов: сброс таймера, диалоговые окна, работа таймера при закрытии приложения и многое другое. Так вот это приложение, которое я сам лично использую и советую его использовать и Вам, в этом Бонусе мы с Вами создадим. Сам Бонус состоит из 10 уроков, в которых Вы увидите:
      • Как создаётся главный экран.
      • Как создаётся экран с настройками.
      • Как добавляется поддержка альбомной ориентации.
      • Как происходит обработка и сохранение настроек.
      • Как делаются часы.
      • Как создаётся таймер обратного отсчёта.
      • Как выводится и обрабатывается диалоговое окно.
      • Как добавляется виброзвонок и аудио-сигнал.
      • Как делается кнопка смены режима работы таймера.
      • Как делается кнопка сброса таймера.

    Автор: Михаил Русаков
    Язык: русский

    Формат: FLV
    Видео: AVC, 1920×1080,

    3000 Kbps
    Аудио: AAC, 313 Kbps, 48.0 KHz
    Продолжительность: 12:55:29

    Как создать программу для смартфона за полчаса

    Содержание статьи

    Изучить новый язык и среду разработки — это минимум, что от тебя потребуется, если ты захочешь написать свое первое мобильное приложение. Чтобы с пониманием набросать элементарный todo list для Android или iOS, не передирая пример из книжки, уйдет не меньше пары недель. Но можно не осваивать Objective-C или Java и при этом быстро разрабатывать приложения для смартфонов, если использовать такие технологии, как PhoneGap.

    Запуск приложения в симуляторе iOS

    Хакер #156. Взлом XML Encryption

    Если ты внимательно изучал нововведения, которые ожидают нас в Windows 8, то, возможно, заметил, что под ней можно будет разрабатывать приложения на HTML5. Идея, на самом деле, не новая — технологии, реализующие тот же подход для мобильных платформ, развиваются семимильными шагами. Одним из таких фреймворков, позволяющим разрабатывать приложения для смартфонов с помощью связки привычных для нас HTML, JavaScript и CSS!, как раз и является PhoneGap. Написанное с его помощью приложение подойдет для всех популярных платформ: iOS, Android, Windows Phone, Blackberry, WebOS, Symbian и Bada. Тебе не нужно будет изучать особенности программирования под каждую платформу (например, Objective-C в случае с iOS), разбираться с различными API и средами разработки. Все, что потребуется для создания кросс-платформенного мобильного приложения, — это знание HTML5 и специального PhoneGap API. При этом на выходе получится не тупая HTML-страница, «обрамленная» в интерфейс приложения, нет! API фреймворка позволяет задействовать практически все возможности телефона, которые используются при разработке с помощью нативных инструментов: доступ к акселерометру, компасу, камере (запись видео и фотосъемка), списку контактов, файловой системе, системе нотификаций (стандартных уведомлений на телефоне), хранилищам и т. д. Наконец, такое приложение может безболезненно обращаться к любому кросс-доменному адресу. Ты можешь воссоздать нативные элементы управления с помощью фреймворков вроде jQuery Mobile или Sencha, и конечная программа будет выглядеть на мобильном телефоне так, как будто она написана на нативном языке (ну или почти так). Лучше всего проиллюстрировать вышесказанное на деле, то есть написать приложение, поэтому предлагаю сразу приступить к практике. Засекай время — на все про все уйдет едва ли больше получаса.

    Другие полезности PhoneGap

    Кроме потрясающей платформы для мобильных приложений, PhoneGap также предоставляет сервис для сборки твоего приложения в «облаке». Под все платформы и в один клик! Сборщик условно бесплатный. Ты можешь зарегистрироваться на сайте PhoneGap Build (build.phonegap.com) и получить доступ к сборщику. С его помощью ты вправе собрать неограниченное число приложений с открытым исходным кодом и одно приложение с закрытыми исходниками. Понятно, что если нужно скомпилировать больше закрытых приложений, то придется немного заплатить.

    Если тебе не хватает какого-нибудь функционала в «базовой комплектации» PhoneGap, то ты можешь расширить его возможности с помощью плагинов. Существует целый репозиторий (github.com/phonegap/phonegap-plugins), который включает в себя четыре раздела iPhone, Android, Palm, BlackBerry. Сейчас под iOS написано более 20 плагинов: BarcodeScanner (сканер штрих-кодов), AdPlugin (отображения рекламы iAd), NativeControls (нативные для iOS контролы) и другие.

    Что мы будем создавать

    В качестве целевой платформы возьмем iOS — да-да, деньги лежат в AppStore, и монетизировать свои разработки пока лучше всего там :). Но сразу внесу ясность: все то же самое, без изменений, можно провернуть, скажем, для Android. Долго думал, какой пример рассмотреть, так как писать очередную тулзу для учета списка дел совершенно не хотелось. Поэтому я решил создать приложение под названием «Геонапоминалка», навигационную прогу, назначение которой можно описать одной фразой: «Сообщи мне, когда я снова тут окажусь». В AppStore есть немало утилит, которые позволяют «запомнить» место, где пользователь припарковал машину. Это почти то же самое, только чуть попроще. Ты сможешь указать на карте города точку, задать для нее определенный радиус и запрограммировать сообщение. Когда ты в следующий попадешь в пределы окружности с указанным радиусом, приложение выдаст тебе уведомление, а точка будет удалена. Будем действовать по такому плану: сначала создадим простое веб-приложение, проверим его в браузере, а затем перенесем с помощью PhoneGap на платформу iOS. Очень важно написать в прототипе и протестировать в браузере на компьютере основную часть кода, поскольку отлаживать приложение в телефоне гораздо сложнее. В качестве каркаса мы возьмем JS-фреймворк jQuery c jQuery Mobile (jquerymobile.com), а в качестве движка карт — Google Maps v3. Приложение будет состоять из двух страниц: карты и списка точек.

    • На карте устанавливается маркер твоего текущего положения. По клику на карте создается точка, к которой привязывается сообщение (вроде «машина рядом»). Точку можно удалить, кликнув на ней. Для перемещения маркера человека по карте используется геонавигационный API.
    • На странице со списком точек должна иметься дополнительная кнопка «Удалить все точки», а рядом с каждой точкой — кнопка «Удалить эту точку». Если кликнуть по элементу в списке, соответствующая точка отобразится на карте. Настройки пользователя и список точек будем сохранять в localStorage.

    UI-фреймворки

    jQuery Mobile — это, конечно, не единственный фреймворк для создания мобильного интерфейса. На сайте PhoneGap приведен огромный список библиотек и фреймворков, которые ты можешь использовать (phonegap.com/tools): Sencha Touch, Impact, Dojo Mobile, Zepto.js и др.

    Каркас приложения

    Сразу объясняю, зачем мы будем использовать jQuery Mobile. Эта JS-библиотека предоставляет нам уже готовые элементы интерфейса мобильного приложения (максимально приближенные к нативным) для самых разных платформ. Нам ведь надо, чтобы на выходе было именно мобильное приложение, а не страничка из браузера! Так что качаем последнюю версию JQuery Mobile (jquerymobile.com/download) и переносим в рабочую папку первые файлы приложения, которые нам понадобятся:

    • images/ (перенеси сюда все изображения из одноименной папки архива jq-mobile);
    • index.css;
    • index.html;
    • index.js;
    • jquery.js;
    • jquery.mobile.min.css;
    • jquery.mobile.min.js.

    Нужно сделать ресурсы в основном локальными, чтобы пользователь в будущем не тратил мобильный интернет. Теперь создаем каркас страниц в файле index.html. Приведенный ниже код описывает верхнюю часть страницы с картой, надписью «Геонапоминалка» и кнопкой «Точки».

    Страница с картой

    Страница с картой, открытая в мобильном браузере. Это еще не iOS приложение.

    Атрибут страницы data-dom-cache=»true» необходим для того, чтобы она не выгружалась из памяти. Для кнопки «Точки» используется data-transition=»pop», чтобы страница «Список точек» открывалась с эффектом «Всплытие». Подробнее о том, как устроены страницы jQuery Mobile, можно почитать в хорошем мануале (bit.ly/vtXX3M). По аналогии создаем страницу со списком точек:

    Страница со списком точек

    Для кнопки «Карта» тоже пропишем data-transition=»pop», но добавим атрибут data-direction=»reverse», чтобы страница «Карта» открывалась с эффектом «Затухание». Те же атрибуты пропишем в шаблоне точки. Все, наш каркас готов.

    Создание приложения

    Теперь надо отобразить карту, для чего мы возьмем стандартный API Google Maps, который используется миллионами разных сайтов:

    Здесь Gm — это переменная, ссылающаяся на объект Google Maps. Параметры инициализации я хорошо закомментировал в коде. Следующий шаг — отрисовка маркера человечка на карте:

    В качестве PERSON_SPRITE_URL используется адрес спрайта человечка из Google-панорам. Его статический адрес — maps.gstatic.com/mapfiles/cb/mod_cb_scout/cb_scout_sprite_api_003.png. Пользователь будет добавлять точки, кликая на карте, поэтому, чтобы их отрисовывать, мы будем слушать событие click:

    Я привожу бОльшую часть кода — остальное ищи на диске. Дальше нам нужно научить приложение перемещать иконку пользователя по карте. В прототипе мы задействуем Geolocation API (тот, который используется в том числе в десктопных браузерах):

    Метод movePerson с помощью простой процедуры getPointsInBounds() проверяет, не находится ли пользователь в какой-нибудь активной точке. Последний вопрос — где хранить список точек? В HTML5 появилась возможность использовать localStorage, так что не будем ей пренебрегать (предоставляю тебе самостоятельно разобраться с этими участками кода, которые я хорошо закомментировал). Итак, приложение, работающее в браузере, готово!

    Запуск веб-приложения

    Как я уже говорил, отладку в основном необходимо выполнять на компьютере. Самый подходящий браузер для тестирования веб-приложений на компьютере — это Safari или Chrome. После отладки в этих браузерах ты можешь быть уверен в том, что твое приложение не «поедет» в браузере мобильного телефона. Оба этих браузера совместимы с большинством мобильных веб-браузеров, поскольку точно так же, как и они, построены на основе движка WebKit. После устранения всех багов можно переходить к запуску мобильного веб-приложения непосредственно на телефоне. Для этого настрой свой веб-сервер (пусть даже Denwer или XAMPP), чтобы он отдавал созданную страницу, и открой ее уже в браузере мобильного телефона. Приложение должно выглядеть примерно так, как показано на рисунке. Тут важно понимать, что будущее мобильное приложение, собранное для мобильной платформы с помощью PhoneGap, будет выглядеть почти один в один, за исключением того, что на экране не будет отображаться навигационная панель браузера. Если все хорошо, можно приступать к созданию из странички полноценного iOS-приложения. Заметь, что PhoneGap и IDE для мобильной разработки мы до этого момента даже не трогали.

    Подготовка

    Для того чтобы собрать приложение под iOS, тебе нужен компьютер с операционной системой Mac OS 10.6+ (или виртуальная машина на Mac OS 10.6), а также среда разработки Xcode с установленным iOS SDK. Если у тебя не установлен SDK, придется скачать с сайта Apple образ диска, включающий в себя Xcode и iOS SDK (developer.apple.com/devcenter/ios/index.action). Имей в виду, что образ весит около 4 Гб. Кроме этого, тебе понадобится зарегистрироваться на сайте Apple в качестве разработчика (если ты не собираешься публиковать свое приложение в AppStore, то это требование можно обойти). С помощью этого набора можно разрабатывать приложения на нативном для iOS языке Objective-C. Но мы решили пойти обходным путем и воспользоваться PhoneGap, поэтому нам еще нужно установить пакет PhoneGap iOS. Просто скачай архив с офсайта (https://github.com/callback/phonegap/zipball/1.2.0), распакуй его и в папке iOS запусти программу установки. Когда установка завершится, в меню проектов Xcode должна появиться иконка PhoneGap. После запуска придется заполнить несколько форм, но уже очень скоро ты увидишь рабочую область IDE с твоим первым приложением. Чтобы проверить, все ли работает, нажми кнопку Run — должен запуститься эмулятор iPhone/iPad с шаблонным приложением PhoneGap. Собранная программа выдаст ошибку с сообщением о том, что index.html не найден, — это нормально. Открой папку, в которой ты сохранил первичные файлы проекта, и найди в ней подпапку www. Перетащи ее в редактор, кликни на иконке приложения в списке слева и в появившемся окне выбери «Create folder references for any added folders». Если запустить программу еще раз, то все должно заработать. Теперь можно скопировать все файлы нашего прототипа в папку www. Пора подпилить наш прототип для работы на смартфоне в обработке PhoneGap.

    Перенос прототипа

    В первую очередь нужно подключить phonegap-1.2.0.js в твой индексный файл. PhoneGap позволяет ограничивать список доступных для посещения хостов. Предлагаю сразу настроить такой «белый список». В меню проекта открой Supporting Files/PhoneGap.plist, найди пункт ExternalHosts и добавь в него следующие хосты, к которым будет обращаться наше приложение (это сервера Google Maps): *.gstatic.com, *.googleapis.com, maps.google.com. Если их не указать, программа выдаст предупреждение в консоли и карта не отобразится. Для инициализации веб-версии нашего приложения мы использовали событие DOMReady или хелпер jQuery: $(document).ready(). PhoneGap генерирует событие deviceready, которое говорит о том, что мобильное устройство готово. Предлагаю этим воспользоваться:

    Это событие проверяет, есть ли у пользователя хоть какое-нибудь интернет-соединение. Если его нет, выводим соответствующее сообщение. Вместо функции navigator.notification.alert можно использовать более привычную alert, но ее минус в том, что она выглядит менее естественно для мобильного приложения. Сейчас нам хватит и этих знаний, но ты можешь подробнее прочитать о network.connection (bit.ly/uEyRwz) и способах нотификации (bit.ly/tkvzE2).

    Затем заменим все вызовы alert и confirm на нативные, которые предоставляет нам PhoneGap:

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

    Этот код более изящный — он генерирует событие только тогда, когда координаты изменились. Жмем кнопку Run и убеждаемся, что только что созданное нами приложение отлично работает в симуляторе iOS-устройства! Пора приступать к запуску на реальном устройстве.

    Нативные уведомления в iOS

    Запуск на устройстве

    Подсоедини iPhone, iPod или iPad к компьютеру, на котором запущен Xcode. Программа определит новое устройство и попросит разрешения использовать его для разработки. Нет смысла ей отказывать :). Повторю еще раз: чтобы запустить написанное приложение на iOS, необходимо быть авторизированным разработчиком iOS (другими словами, быть подписанным на iOS Developer Program). Этим придется заморочиться только в случае разработки приложений для продукции Apple, с другими платформами (Android, Windows Phone) все намного проще. У тех, кто обучается в вузе, есть шанс получить доступ к программе бесплатно благодаря каким-нибудь льготам. Все остальные должны платить $99 в год для участия в программе. Apple выдает сертификат, которым ты сможешь подписывать свой код. Подписанное приложение разрешается запускать на iOS и распространять в App Store. Если ты не студент, а $99 для невинных экспериментов тебе пока жалко, то есть и другой способ — обмануть систему. Ты можешь создать самоподписанный сертификат для верификации кода и запустить мобильную программу на джейлбрейкнутом iOS-устройстве (не буду на этом останавливаться, потому что все максимально подробно расписано в этой статье: bit.ly/tD6xAf). Так или иначе, ты вскоре увидишь работающее приложение на экране своего мобильного телефона. Останавливай секундомер. Сколько времени у тебя на это ушло?

    Другие платформы

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

    Appcelerator Titanium (www.appcelerator.com).

    Titanium умеет собирать приложения в первую очередь под Android и iPhone, но в нем также заявлена поддержка BlackBerry. Кроме самого фреймворка, проект предоставляет набор нативных виджетов и IDE. Ты можешь разрабатывать приложения на Titanium бесплатно, однако за поддержку и дополнительные модули придется заплатить (от $49 в месяц). Цена некоторых сторонних модулей доходит до $120 за год. Разработчики Appcelerator Titanium утверждают, что на основе их фреймфорка написано более 25 тысяч приложений. Исходный код проекта распространяется под лицензией Apache 2.

    Corona SDK (www.anscamobile.com/corona).

    Эта технология поддерживает основные платформы — iOS и Android. Фреймворк нацелен в основном на разработку игр. Еще бы, ведь разработчики заявляют о высококачественной оптимизации на OpenGL. Бесплатной версии у платформы нет, а цена довольно-таки кусачая: $199 в год за лицензию для одной платформы и $349 в год для iOS и Android. Corona предлагает свою IDE и эмуляторы устройств. Приложения под Corona пишут на языке, похожем на JavaScript.

    Создание первого Andro >
    • Сайтостроение
    • Статьи
    • Веб-программирование

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

    Android Studio

    Чтобы написать приложение, нужно будет загрузить и установить Android Studio . В комплект поставки входит пакет разработки программного обеспечения со всеми библиотеками и кодами Android , необходимыми для разработки приложения. А также эмулятор Android , позволяющий сначала протестировать приложение на своем ПК, не устанавливая его на реальном мобильном устройстве.

    Но сначала нужно загрузить и установить Java Development Kit ( JDK ) от Oracle . Найдите раздел « Java SE Development Kit 7u79 » и загрузите версию для своего ПК. Важно загрузить правильную версию ( 32-разрядную или 64-разрядную ), иначе Android Studio не сможет найти Java Runtime Environment ( JRE ).

    Примечание: Oracle не будет публиковать на своих общедоступных сайтах какие-либо обновления Java SE 7 , и предполагается, что пользователи массово перейдут на Java 8 . Но в настоящий момент Android Studio требует наличия Java 7 . Это может измениться в будущем.

    После того, как вы установили JDK , нужно инсталлировать Android Studio . Во время установки необходимо указать, сколько памяти зарезервировать для эмулятора Android . Он запускает Android в виде виртуальной машины, как смартфон с процессором Intel . Это быстрее, чем эмуляция процессора ARM на ПК. Но для запуска этой виртуальной машины эмулятор должен выделить некоторый объем памяти. Но перед тем как создать приложение для Андроид самому, имейте в виду, что сочетание Android Studio , Java и эмулятора будет довольно ресурсоемким, и компьютер может подтормаживать.

    Google говорит, что необходимо как минимум 2 ГБ оперативной памяти, а рекомендуется 4 ГБ. Но мой основной ПК имеет 8 ГБ, и все равно иногда тормозит:

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

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

    Создаем новый проект

    Нажмите « Start a new Android Studio project » и введите название своего приложения в поле « Application name ». В поле « Company Domain » введите официальный домен вашей компании. Если вы независимый разработчик или любитель, введите собственный домен. Если вы просто экспериментируете с Android и не собираетесь в ближайшее время публиковать свои приложения в Google Play , просто оставьте пример домена, только измените « user » на ваше имя ( без пробелов ):

    В следующем диалоговом окне проверьте, чтобы у вас выбрана опция « Phone and Tablet », а для « Minimum SDK » установлено — API 15: Android 4.0.3. Для опций « Wear » и « TV » флажки не должны быть установлены.

    В диалоговом окне « Add an activity to Mobile » оставьте значение по умолчанию « Blank Activity » и нажмите « Next ». В диалоговом окне « Customize the Activity » оставьте все значения и нажмите « Finish »:

    Интегрированная среда разработки ( IDE ) запущена. Это может занять несколько минут ( особенно, если вы впервые создали проект ). Если при запуске IDE увидите сообщение об ошибке « Rendering Problems: Rendering failed with known bug », нажмите ссылку « rebuild », которая отображается рядом с сообщением об ошибке.

    По умолчанию, рабочее пространство среды IDE делится на три основные части ( не считая панели инструментов и т. д. ). Слева сверху находится дерево проекта. Справа от него — редактор кода, а под ними сообщения.

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

    Дерево проекта

    Дерево проекта содержит все файлы и ресурсы, необходимые для создания Android-приложения . Если вы знакомы с написанием простых программ на Java , C , Python и т. д., то могли бы подумать, что все будет содержаться только в одном или двух файлах. Но разработка Android-приложений немного сложнее:

    В узле « app » дерева проектов содержится несколько узлов ( например, папки ), которые можно развернуть. Узлами верхнего уровня являются “ manifests ”, “ java ” и “ res ”. Последний — это сокращение от “ resources ”.

    В “ manifests ” располагается файл « AndroidManifest.xml », каждое приложение должно содержать его. Это XML-файл с информацией о приложении, включая его название. Часто добавляемым в этот файл элементом является список разрешений, необходимых для приложения. Для этого простого приложения не нужно здесь ничего менять.

    В разделе « java » располагается Java-код приложения. Он будет находиться в подкаталоге, с именем com.example.user.myfirstapp . Это имя домена компании, которое вы ввели ранее, только наоборот, плюс название приложения. В этой папке находится файл MainActivity.java . Это точка входа в приложение и единственный файл Java , который нам понадобится.

    Продолжаем создавать простое приложение для Андроид . В разделе « res » есть несколько папок для графики, меню и элементов пользовательского интерфейса. Нас интересуют « layout » и « values ». В папке « layout » находится файл под названием « activity_main.xml ». Это XML-файл , описывающий пользовательский интерфейс. Редактировать его можно двумя способами. Первый — непосредственное редактирование XML-кода , второй — использование встроенного дизайнера пользовательского интерфейса:

    В папке « values » содержатся несколько XML-файлов . В данный момент наиболее важным для нас является strings.xml . Вместо того чтобы задавать в Java-коде строковые значения их принято помещать в файл « strings.xml », и мы можем ссылаться на них через идентификаторы. Преимущество заключается в том, что если строка используется несколько раз, ее можно изменить только один раз, и изменения вступят в силу во всех местах. Это также упрощает поддержку нескольких языков в приложении.

    Чтобы создать приложение для Андроид самому, нужно будет изменить файлы MainActivity.java , activity_main.xml и strings.xml .

    Написание приложения

    Для нашего примера мы добавим кнопку с меткой « Tap Me! », изменим приветствие по умолчанию « Hello world! » на « Tap me if you dare! ». А также поменяем его, чтобы оно находилась в центре. И добавим код, чтобы при нажатии кнопки отображался текст « toast »!

    Начнем с изменения текста приветствия и его выравнивания. Сначала найдите в дереве проекта файл « activity_main.xml » и дважды кликните по нему. Помните, что « activity_main.xml » — это файл, который содержит определение пользовательского интерфейса. В нижней части окна кода есть две вкладки: « Design » и « Text ». Перейдите на вкладку « Design ».

    Теперь нажмите на текст « Hello world! », который показан в окне предварительного просмотра экрана смартфона. Если он слишком мал, используйте кнопку масштабирования ( лупа со значком «плюс» ).

    В окне свойств, расположенном справа от изображения телефона, прокрутите экран вниз до тех пор, пока не найдете надпись « layout: centerInParent ». Кликните по пробелу рядом с ней и выберите « horizontal ». После этого текст « Hello world! » переместится в центр:

    Перед тем, как создать приложение для Android без навыков, изменим текст. Строка « Hello world! » хранится в файле « strings.xml » в разделе res-> values . Если вы дважды кликните по этому файлу, то увидите несколько строк XML , которые определяют строки, используемые приложением.

    Найдите эту строку:

    И измените ее на:

    Мы изменили выравнивание приветствия и его текст. Теперь добавим кнопку. Вернитесь на вкладку « Design » файла « activity_main.xml », найдите в списке « Palette » слева от изображения смартфона пункт « Button » и нажмите на него. Теперь кликните где-нибудь под надписью « Tap me if you dare! ».

    Дважды кликните по кнопке, чтобы изменить ее текст. В конце поля “ text: ” расположена кнопка с тремя точками, нажмите на нее. В окне « Resources » нажмите « New Resource », а затем « New String Value… ». В поле « Resource name: » введите « tapme », а в поле « Resource value: » — “ Tap me! ”. Затем нажмите « ОК ». Теперь у нас есть кнопка “ Tap me! ”.

    Последний шаг создания простого приложения для Андроид — добавить Java-код , который реагирует на нажатие кнопки. Один из элементов пользовательского интерфейса Android — это “ toast. ”. Он предоставляет простое сообщение в небольшом всплывающем окне. Вы, несомненно, видели это. Например, в Gmail при выходе из электронной почты до отправки письма выводится сообщение « Сообщение сохранено в черновики ». Спустя определенное время оно исчезает.

    Для нашего примера приложения мы будем отображать сообщение каждый раз, когда нажимается кнопка. Первым шагом является добавление Java-кода . Найдите файл « MainActivity.java » и добавьте следующий код в « onCreate «:

    Слово « View » во фразе «( View v )» будет красным, рядом с ним отображается сообщение, что вы использовали новую конструкцию ( View ), не импортируя ее в разделе импорта, в верхней части Java-кода . Это легко исправить. Нажмите на слово « View », а затем ALT + ENTER . Если слово “ Toast ” отмечено красным цветом, проделайте то же самое еще раз:

    Вернитесь в раздел конструктора файла « activity_main.xml », нажмите кнопку и прокрутите список свойств до пункта « onClick ». Нажмите на поле справа, и на экране появится список функций. Кликните по « onButtonTap », это функция, которую мы только что добавили.

    Теперь функция onButtonTap() будет вызываться всякий раз, когда будет нажиматься кнопка. Чтобы вывести сообщение, мы вызываем myToast.show() .

    Вот и все, что касается создания приложения для Андроид самому, теперь протестируем его в эмуляторе.

    Построение и тестирование приложения

    В меню « Tools » перейдите к Android- AVD Manager . Этот инструмент отображает список текущих настроенных виртуальных Android-устройств . У вас будет одно устройство, настроенное по умолчанию, возможно, Nexus 5 . Нажмите на значок воспроизведения ( треугольник ) в столбце « actions ». Это запустит эмулятор.

    В зависимости от производительности вашего ПК и объема выделенной памяти запуск эмулятора может занять несколько минут. После того, как эмулятор будет запущен, перейдите в меню « Tools » и нажмите « Run ‘app ». Приложение будет скомпилировано и отправлено в эмулятор. Во время этого Android Studio спросит вас, какой эмулятор использовать. Вы увидите в списке свой текущий эмулятор. Это должна быть опция по умолчанию, поэтому просто нажмите « OK »:

    Приложение появится в эмуляторе. Нажмите кнопку “ Tap me! ” — в нижней части экрана должно появиться сообщение. Поздравляю, все работает!

    Что делать дальше и заключение

    Также можно запустить приложение на реальном устройстве. Самый простой способ сделать это — включить USB-отладку на Android -устройстве и подключить его к компьютеру. Опцию отладки по USB можно найти в разделе Настройки – Для разработчиков . Если у вас нет этого раздела, откройте « Настройки » — « О телефоне », а затем нажмите « Номер сборки » семь раз.

    Когда устройство будет подключено, нажмите « Run ‘app » в меню « Tools », но на этот раз не отправляйте приложение на виртуальное устройство, а отправьте на реальное устройство. Если устройство отсутствует в списке, это означает, что вы не включили отладку по USB или необходимо установить соответствующий USB-драйвер . Смотрите разделы USB-драйверы OEM и USB-драйвера Google в документации Google.

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

    Но прежде всего вам стоит продолжать учиться!

    Данная публикация представляет собой перевод статьи « Writing your first Android app – everything you need to know » , подготовленной дружной командой проекта Интернет-технологии.ру

    Понравилась статья? Поделиться с друзьями:
    Все языки программирования для начинающих