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


Как сделать приложение для Android самостоятельно — руководства на Skillbox

Выбираем название приложения, домен компании, путь к проекту и название пакета. Указываем, включить ли поддержку опциональных языков программирования C++ и Kotlin.

Задаём одну или несколько целевых платформ для сборки. Для этого используется SDK и AVD, менеджер виртуальных устройств Android. Инструмент позволяет устанавливать в SDK пакеты, которые поддерживают несколько версий ОС Android и несколько уровней API (интерфейсов программирования приложений).


Справка

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


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

После нескольких минут сборки Android Studio открывает интерфейс IDE. Здесь три основных момента.

Если выбрать в выпадающем меню вид Android, то вы увидите файлы проекта. Например, наша основная активность называется app > java > ru.skillbox.skillboxapp > FullscreenActivity. При создании проекта мы указали вместо активности Main полноэкранную активность.

Далее можно посмотреть файл app > res > layout > activity_fullscreen.xml. Это XML-файл с макетом для UI нашей основной активности.

Наконец, третий важный файл app > manifests > AndroidManifest.xml описывает фундаментальные характеристики приложения и определяет все его компоненты.

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"     package="ru.skillbox.skillboxapp">     <application         android:allowBackup="true"         android:icon="@mipmap/ic_launcher"         android:label="@string/app_name"         android:roundIcon="@mipmap/ic_launcher_round"         android:supportsRtl="true"         android:theme="@style/AppTheme">         <activity             android:name=".FullscreenActivity"             android:configChanges="orientation|keyboardHidden|screenSize"             android:label="@string/app_name"             android:theme="@style/FullscreenTheme">             <intent-filter>                 <action android:name="android.intent.action.MAIN" />                 <category android:name="android.intent.category.LAUNCHER" />             </intent-filter>         </activity>     </application> </manifest>

Разработка приложений для Android: с чего начать?

С чего начать?

Каким образом проходит процесс разработки под Android? Выделим несколько основ:

  • В Java файлах вы описываете логику программы — то, что вы хотите, чтобы ваше приложение выполняло.
  • В XML файлах вы разрабатываете макеты — внешний вид.
  • Как только приложение будет написано, нужно использовать инструмент сборки для того, чтобы скомпилировать все файлы и упаковать их вместе в .apk файл, который можно запускать на устройствах Android и/или опубликовать в Google Play.
  • Все утилиты и файлы, которые используются для создания приложения под Android, объединены в интегрированную среду разработки (IDE). IDE — это программа, которую вы откроете для редактирования ваших файлов кода, а также компиляции и запуска.
  • Ранее стандартной IDE для разработки под Android была Eclipse, но сейчас ее заменила более функциональная Android Studio — продукт компании Google.

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

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

  • Загрузим и установим Android Studio.
  • Узнаем про запуск и тестирование приложений на устройствах и эмуляторах Android.
  • Создадим простое приложение на Android, которое выводит надпись «Hello World» на экран мобильного устройства.

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

Установка среды разработки Android Studio

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

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

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

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

Перейдите на страницу Android Studio developer.android.com/studio/index.html и найдите кнопку для загрузки последней версии для своей платформы.

Кликните по кнопке загрузки и вас попросят ознакомиться с правилами и условиями использования программного продукта. После внимательного прочтения (как вы всегда это делаете) и принятия, начинается загрузка. Вероятно, это займет несколько минут. После этого вы можете установить Android Studio аналогично любой другой программе. На начальной странице загрузки содержатся инструкции по установке под Mac и Windows.

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

Вы должны увидеть красивый загрузочный экран в стиле Material Design.

По окончанию загрузки, вы попадете на экран приветствия.

Даже в том случае, если вы только что загрузили Android Studio, у вас может быть не самая последняя версия. Чтобы избежать проблем с версиями в дальнейшем, нажмите кнопку «Check for updates now» и, если необходимо, выполнить все инструкции для получения последней версии. Иногда Studio автоматически информирует вас о том, что есть обновление с помощью экрана, подобного этому:

В этом случае всегда выбирайте Update and Restart. Отлично! Мы успешно справились с установкой среды для разработки.

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

Пришло время создать первый проект. Начнем с простого. У программистов принято называть первую программу «Hello World». Давайте следовать этой традиции, а затем сделаем несколько небольших изменений, чтобы приложение использовало ваше имя для приветствия. В конце вы сможете загрузить его  на устройство и показать своим знакомым. Android Studio имеет небольшой пошаговый инструмент, который поможет вам создать свой проект. Нажмите «New Project» на стартовом экране:

Далее вы должны увидеть окно, подобное следующему:

Заполните его подобным образом. Не стесняйтесь заменить «example» в имени пакета на что-то еще, чтобы удалить предупреждение внизу экрана. Вы также можете установить местоположение проекта, указав любую папку на жестком диске

Для раскрывающихся версий SDK обратите внимание на раздел «Описание» в нижней части диалогового окна. В нем объясняется, для чего предназначена каждая настройка.

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

Для первого приложения я рекомендую использовать версию API 14, которая является Android 4.0 Ice Cream Sandwich. Каждое приложение будет иметь разные требования, и вы можете выбрать что-то другое, в зависимости от ситуации.

Для получения дополнительной информации о версиях API и их использовании, на сайте для разработчиков под Android существует специальная страничка Dashboards https://developer.android.com/about/dashboards/index.html.

После выбора версии, открывается экран выбора стартового шаблона. Вы можете создать приложение, которое уже взаимодействует с api google maps и отображает карту. В нашем тестовом примере выбираем Empty Activity и нажимаем кнопку «Next».

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

  • Activity Name — это первое, но не последнее упоминание слова Activity. В контексте Android, Activity обычно рассматривается как «экран» в вашем приложении. Этот элемент очень гибкий. Когда Android Studio создает класс MainActivity, он наследует его от класса Activity из пакета Android SDK. Те, кто знаком с объектно-ориентированным программированием, понимают эту концепцию, но для новичков, это, в основном, означает, что ваша MainActivity будет настраиваемой версией Activity.

  • Layout Name — макет того, что будет показано пользователю, определен в специальном виде Android XML. Вы скоро научитесь читать и редактировать эти файлы.

Нажимаем Finish. Некоторое время займет создание и загрузка проекта. Через некоторое время Android Studio завершит билд вашего проекта. Конечно, проект пока пуст, но в нем есть все необходимое для запуска на Android-устройстве или эмуляторе.

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

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

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

Эту возможность предоставляет Android Virtual Device (AVD) Manager. По желанию вы можете настроить несколько эмуляторов, установить размер экрана и версию платформы для каждого нового эмулятора. Этот функционал очень полезен, поскольку избавляет разработчиков от необходимости покупать несколько устройств для тестирования программ.

Нажмите на кнопку Run в виде зеленой стрелки.

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

Мои поздравления! Вы сделали свое первое приложение для Android!

И так… Почему и как это сработало?

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

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

Структура Android проекта: Команда

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

Java: Профессионал

Это часть вашего кода, которая отвечает за логику приложения. Ваш код будет находиться в каталоге src\main\java в основной папке проекта. Для изучения Java можно посоветовать книгу Брюса Эккеля «Философия Java»;

Resources: Артист

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

При инициализации, папка содержит следующие папки:

  • drawable, в которой хранятся иконки. Сейчас там лежит только стандартная иконка приложения.
  • layout с XML файлами, которые представляют собой дизайны экранов.
  • menu c XML файлами списков элементов, которые будут отображаться в панели действий.
  • values с XML файлами, содержащими размеры, цвета, строковые константы и стили.

AndroidManifest.xml: Босс

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

Внесение изменений

Перейдите к res/values/strings.xml и дважды щелкните файл. Когда вы откроете файл, вы увидите два строковых ресурса в XML.

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

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

<string name=»hello_world»>Matt is learning Android!</string>

Нажмите Run. Приложение должно перезапуститься и вы увидите персональное сообщение:

Мы поздравляем вас — вы сделали первый проект и научились редактировать исходный код. Первый шаг в Android программировании сделан. Желаем удачи на этом непростом, но безумно интересном пути! Если вам нужна профессиональная разработка приложения для Android, обращайтесь к специалистам Infoshell.

[РЕШЕНО] Как сделать приложение для Андроид самому

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

Из-за стремительного развития платформы Андроид, некоторые функции описанных программ могут меняться, поэтому для уточнения каких либо деталей пишите в комментариях. Последняя редакция — 20.01.2018.

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

[su_note note_color=»#abdb6c» text_color=»#000000″]Пользователи могут создать собственное приложение для того, чтобы порадовать себя уникальной программой. А могут сделать его для того, чтобы заработать немного денег. Сегодня интернет дает для этого все возможности. [/su_note]

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

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

Четыре способа как сделать приложение для Андроид самому

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

Все программы, представленные здесь подбирались по таким критериям:

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

[su_note note_color=»#abdb6c» text_color=»#000000″]Ниже познакомимся с подборкой инструментов, которые помогут вам создать свое самое первое приложение. [/su_note]

App Builder — простой инструмент для создания приложений


Этот вариант является хорошим способом для создания собственных приложений быстро. Без сомнения, радует и то, что его можно использовать не вкладывая ни копейки, а значит бесплатно. Хотя тут, есть и минусы, как минимум в том, что он полностью на английском языке (после обновления в декабре 2017, добавили русский язык).
Возможности программы
  • Представлен огромный выбор шаблонов для того, чтобы создать приложение. Если у вас в задумке какое-то простое приложение, то эта программа с легкостью поможет подобрать шаблон;
  • После создания приложения, можно будет следить за его статистикой;
  • Если вы создадите приложение и оно пройдет проверку, то его можно просто и довольно понятно разместить в магазине Google Play.

AppsGeyser — сайт для создания качественных приложений на Андроид своими силами

[su_note note_color=»#abdb6c» text_color=»#000000″]Сразу отметим, что AppsGeyser это не приложение, а сайт для их создания. Если в предыдущем варианте можно было создать программу с помощью вашего Андроид, то здесь понадобится компьютер.  [/su_note]

Официальный сайт — https://www.appsgeyser.com

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

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

IbuildApp — мощный движок для разработки собственных проектов

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

[su_note note_color=»#abdb6c» text_color=»#000000″]Сайт IbuildApp имеет как платные тарифы (разработка индивидуального приложения, с дальнейшим развитием) так и бесплатные шаблоны, которых очень много. [/su_note]

Русский официальный сайт — https://russia.ibuildapp.com

Давайте посмотрим, на что оно способно:

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

AppsMakerstore — платформа создания простых программ

Официальный сайт — https://appsmakerstore.com

Четвертая крутая платформа которая разработана для создания Android приложений. Наверно одним из самых главных преимуществ является то, что с помощью сайта AppsMakerStore можно создавать программы которые будут мультиплатформенными (к примеру, на Андроид, iOS и Windows Phone)

Давайте рассмотрим преимущества платформы:

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

Видео инструкция по созданию приложения с помощью APK Creator


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

О том, как я написал простое приложение для Android/iOS / Хабр

Хочу сразу отметить, что это не статья от профессионала, скорее взгляд любителя на мобильную разработку, скажем так, «с нуля». Мое основное занятие — это создание сайтов. В данное время я работаю у провайдера интернета и занимаюсь поддержкой внутреннего биллинга/сайта и так далее (PHP и немного Perl), довольно скучное занятие, скажу я вам. В общем, я обычный провинциальный «программист».

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

Придя на работу в один из серых скучных дней, я решился и написал в поиске Google «как сделать мобильное приложение». Это было очень наивно. Кажется, я даже попробовал задать вопрос на Toster, «с чего начать разработку под мобильные приложения», тогда я еще не понимал насколько глупым воспринимается этот вопрос профессионалами.

Довольно быстро я разделил для себя разработку на две части, это был Android и iOS, потому что они совсем разные (поиск подсказал.

Как-то я наткнулся на Phonegap, насколько я понял, пишем на Javascript+html+css, а потом получаем готовое приложение для Android/iOS, но почему-то мне не хотелось пользоваться подобными решениями, во-первых: были непонятные отзывы, кто-то хвалил, кто-то ругал, а во-вторых: мне хотелось попробовать как это изнутри, каково это сделать «нативное» приложение.

План и подготовка


Собственно, идея довольно проста:
  • Логин экран с логином/паролем
  • Основной экран с информацией об абоненте (ФИО, № договора, баланс, статус (Активен, Отключен), есть ли авария на доме, кнопка Активировать обещанный платеж
  • Экран с платежами (зачисления на счет)
  • Экран со списаниями по счету

Для функционирования приложения я написал простейшее API на PHP, скрипт который по определенному запросу отвечал строкой в JSON-формате. Сделать это оказалось элементарно.

Начать решил с Android.

Android


Начал я с установки Android Studio, первоначально смутило количество кнопочек/иконок, но за пару дней я уже был как рыба в воде. Для начала надо было понять как вообще делаются приложения, очень помогает изначальное «Hello world!» которое создается по-умолчанию. Выглядело все достаточно просто и понятно. Погуглив «Как начать разработку в Android Studio», я понял, что надо скачать SDK. Открыв SDK-manager я не понял вообще ничего, ну, точнее, не понял что именно надо делать, поэтому поставил все галочки и ждал пока все скачается. Для чего оно мне нужно я совсем не понимал, общее представление конечно было «чтобы работала поддержка такой-то версии», но почему надо все отдельно качать и выбирать среди сотен галочек — бррр.

Вторым достаточно сложным этапом было запустить приложение на симуляторе. Погуглив, пришлось повозиться с AVD, конечно, потыкашись как слепой котенок я сделал несколько виртуальных устройств. На одном даже запустилось приложение. Честно сказать, симулятор у Android Studio совсем не User-friendly, очень долго я с ним воевал, пытался запускать по-разному, хотел чтобы кнопки управления были на экране и работали, но почему-то не работали. Видимо, сказывалось отсутствие опыта.

Как оказалось, для Android пишут на Java. Про Java я знал только то, что это язык программирования и это не Javascript.
Решил разбить большую задачу на более мелкие.

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

Выбирая минимальную версию Android я остановился на 4 что-то там :) (Охват аудитории 90%+ если верить Google).

Опять же разбив свои задачи на более мелкие я искал туториалы в youtube, например: «how to get json in android» или «menu in android studio». Конечно, пришлось пересмотреть штук 30 разных видео и все они были на английском (одно на немецком и одно на китайском — когда показывают не так сложно самому дойти что же говорят :)).

Разработка под Android заняла примерно неделю с момента установки Android Studio. После чего отобрав планшет у сына я смог протестировать свое приложение на реальном устройстве — просто подсоединив его к компьютеру.

Публикация в Google Play


Сначала я думал что будет очень сложно и даже переживал, но как оказалось всего 25$ и фактически без каких-либо серьезных проверок приложение попало в Google Play и через несколько часов было доступно в поиске, публикация заняла около одного дня.

iOS


Отдохнув пару дней и поразмыслив, решил что пора реализовать тоже самое приложение под iOS. Но, оказалось, что бесплатная среда разработки xCode может быть запущена исключительно в среде Mac. Пришлось скачать образ виртуальной машины MAC OS Yosemite и запустить ее через VMWare. Сделать это было очень просто и фактически не требовало от меня никаких телодвижений кроме как «ждать».

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

Язык программирования выбрал Swift. Версию iOS минимум 7.1+

В принципе разработка под iOS была более простой, хотя баги симулятора присутствовали, но весь процесс оказался более удобным, нежели под Android. Опять же я открыл youtube и смотрел видео/читал руководства о том, как сделать какую-то вещь. Например, нагуглил прекрасный скрипт который делает slide menu, которого у меня не было в Android. В общем, еще один марафон и за неделю было готово улучшенное приложение, добавил возможность пополнить счет с помощью карты предоплаты и совместил платежи/списания в одно окно.

Использовал тоже самое API (тот же скрипт, что и для Android).

Публикация в iOS


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

Опять же, при создании аккаунта был выбор между «компания» и «индивидуальный разработчик», но начитавшись страшилок про 4+ месяца проверки компаний я решил регистрироваться как индивидуальный разработчик. Сделать это было не сложно, главное оплатить 99$ за аккаунт разработчика iOS со своей кредитной карты чтобы имя совпадало (подсказал поиск). Платеж проходил 2 дня.

После чего пришлось искать целое видео «how to publish in app store» и следовать инструкции, настолько там все непонятно. Какие-то сертификаты, туда — сюда. В общем, не очень удобно, хотя и сделать надо лишь один раз :).

Приложение ушло на проверку и ждало очереди около полутора недель. После чего было принято. Кстати, как показали логи, проверка была примерно такая: Логин -> Баланс -> Платежи -> Баланс. И все, хотя была еще страница «Пополнить баланс», но ее не проверяли (а зря, я там накосячил и пришлось выкладывать новую версию программы 1.1 которую тоже проверяли больше недели).

Выводы


1. Как оказалось это не сложно даже для человека который никогда не использовал Java/Swift/Mac OS.

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

3. Очень быстрое устаревание руководств/видео уроков. Платформы настолько быстро развиваются, что надо сразу проверять актуальность информации. На русском языке ее очень мало, после нескольких попыток я даже бросил искать и сразу начал штудировать stackoverflow и англоязычный интернет. Youtube со своими видео-уроками просто спас меня! Я открывал видео на одном мониторе и работал на втором. Без базового английского — никуда.

4. Сервисы вопрос-ответ реально помогают! Иногда, впадая в ступор я задавал вопросы и почти сразу получал ответы — очень удобно если находишься в тупике.

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

6. В общей сложности я потратил почти месяц (на разработку около двух недель с перерывами). Стоило ли оно того — думаю да, было очень интересно. Если у вас есть желание — попробуйте, все оказалось не так сложно. У меня нет смартфона Android/iPhone, но и без них все оказалось просто. Симуляторы работают достоверно.

Приложение называется dagotel, но оно создано для клиентов, поэтому дальше логина не пустит. Разве что посмотреть скриншоты.

Понятия не имею, зачем я написал эту статью и какие цели преследовал, но раз написал, решил опубликовать.

Сделай сам: своё приложение для смартфона

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

Appsmakerstore

appsmakerstore.com

Плат­фор­мы: Android, iOS, HTML5

Сер­вис с гото­вы­ми шаб­ло­на­ми на раз­ные темы — от при­ло­же­ния для ноч­ных клу­бов до кор­по­ра­тив­но­го пор­та­ла. Мож­но настро­ить дизайн, пунк­ты меню и пове­де­ние поль­зо­ва­те­ля на каж­дой стра­ни­це, всё без кода. В резуль­та­те полу­чит­ся целых 4 продукта:

  • при­ло­же­ния для Android и iOS;
  • при­ло­же­ние для Фейсбука;
  • мобиль­ный сайт на HTML5.

Если зна­е­те JavaScript и HTML, то може­те суще­ствен­но рас­ши­рить базо­вые воз­мож­но­сти конструктора.

Минус: сер­вис плат­ный, от 30 дол­ла­ров в месяц, но есть бес­плат­ный двух­не­дель­ный период.


Аppybuilder

appybuilder.com

Плат­фор­мы: Android

Мощ­ная шту­ка, если нуж­но что-то дей­стви­тель­но особенное:

  • боль­ше 100 ком­по­нен­тов, кото­рые мож­но перетаскивать;
  • встро­ен­ный кон­струк­тор логи­ки пове­де­ния, где мож­но зада­вать усло­вия рабо­ты все­го при­ло­же­ния и его частей;
  • есть пере­мен­ные, с кото­ры­ми тоже мож­но рабо­тать в визу­аль­ном режиме;
  • нет огра­ни­че­ния по дизайну.

Инте­рес­ный момент: при выбо­ре рус­ско­го язы­ка вме­сто три­ко­ло­ра появ­ля­ет­ся флаг Китая.

Мину­сы: неста­биль­ная рабо­та и нужен навык дизай­не­ра. Из-за мно­же­ства функ­ций, кото­рые есть в этом сер­ви­се, он не все­гда может с пер­во­го раза собрать всё в одно приложение.


Рабо­та с дизайном 
Настрой­ка логи­ки приложения 

AppsGeyser

appsgeyser.com

Плат­фор­мы: Android

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

Мину­сы: всё толь­ко на шаб­ло­нах, поэто­му тон­кой настрой­ки не жди­те. Мак­си­мум — поме­ня­е­те фон и цвет кнопок.


Мож­но даже создать свой мес­сен­джер, но интер­фейс у него будет так себе 

iBuildApp

russia.ibuildapp.com

Плат­фор­мы: Android и iOS

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

Мину­сы: сер­вис плат­ный — от 3700₽ в месяц. Дизайн шаб­ло­нов как буд­то застрял в нуле­вых — огром­ные кноп­ки на весь экран, стран­ные икон­ки и пол­ное отсут­ствие нуж­ной инфор­ма­ции. Но если нуж­но сроч­но, любой ценой и нет сво­е­го раз­ра­бот­чи­ка — то поче­му бы и нет?


Gamesalad

gamesalad.com

Плат­фор­мы: Android, iOS, HTML5, Windows (+Phone)

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

Мину­сы: мы не уве­ре­ны, что это минус для тако­го про­дук­та, но на вся­кий слу­чай — сер­вис про­сит от 17 дол­ла­ров в год. Судя по резуль­та­ту, это того стоит.


с чего начать / Блог компании Mail.ru Group / Хабр

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

Тенденции

Чем пользуются владельцы мобильных телефонов?

  • Больше половины (53%) используют скачанные приложения
  • Приблизительно столько же (52%) через мобильный телефон заходят на сайты
  • Более трети людей (38%) используют социальные сети со своего мобильного телефона
  • Чуть меньше людей играют в игры (34%)
  • Примерно три четверти пользователей общаются через мобильные телефоны (помимо звонков): это могут быть SMS, приложение социальной сети, мессенджер
Статистика

Что покупают

За 2012 год в РФ продано порядка 12,6 миллионов смартфонов: Россия считается одной из быстроразвивающихся в этом плане стран.

Если мы посмотрим на статистику продаж смартфонов по операционным системам, мы увидим следующее:

  • 62% продаваемых смартфонов – это Android-устройства;
  • На втором месте Symbian — 15% рынка;
  • Оставшуюся долю делят bada, iOS и Windows Phone (если взять этот график только по Москве, то распределение, наверное, будет смещаться в сторону увеличения доли продукции Apple)

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

За второй квартал 2012 года по всему миру было продано 104 миллиона телефонов Android — как население довольно крупной страны. Но нас как мобильных разработчиков интересует не только наличие смартфона, но и то, как с ним работают. Существенная доля обладателей устройств на Android пользуется ими как обычными телефонами: SMS, звонки — и все. Они не активируют устройство в Google Play, не скачивают приложения.

Чем пользуются

Не все люди обзавелись телефонами в 2012 году, поэтому реальное распределение сил среди мобильных операционных систем демонстрирует наша внутренняя статистика. В эту статистику входят Россия и страны СНГ: Украина, Белоруссия, Казахстан, Узбекистан.

  • 73,5% – это Java-телефоны
  • Android-устройства находятся на втором месте с 11,6%
  • Наследие компании Nokia, Symbian, совсем немного отстает от Android с 11%
  • Яблочной продукцией обладают 3,5% пользователей рунета
  • Самые внимательные увидят на диаграмме Microsoft с Windows Phone ( менее 1%)

Установка приложений

При выборе платформы, под которую будет разрабатываться приложение, важно знать статистику по уже существующим приложениям. Графики исследовательской компании App Annie от сентября 2012 года показывают, как растут два конкурирующих магазина Apple и Google.


По количеству скачиваний на первом месте Google Play: больше устройств, больше скачиваний, больше трафика и рост при этом +66% по сравнению с январем 2012 года. Рост iOS оказался в два раза меньше, порядка 30%. Но главный график – какую выручку приносят пользователи. И здесь ситуация в корне иная. Проще зарабатывать на iOS, но деньги есть и в Google Play, если уметь их забирать.

Типы мобильных приложений

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

Мобильные сайты, веб-приложения

Это самый распространенный тип приложений для мобильных устройств. Современные смартфоны в состоянии отобразить обычный сайт. Им доступно все то, что мы привыкли видеть в десктопных приложениях — поддержка HTML5 делает свое дело. Помните, что веб-приложения отлично подходят для стартапа: именно они позволяют получить большой результат за маленькие деньги и за небольшой срок. Еще один плюс мобильного сайта по сравнению с другими мобильными приложениями – это кроссплатформенность. Однако есть и минус, притом весомый: с ними достаточно сложно заработать.

Гибридные приложения

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

Нативные приложения

Этот вид приложений самый ресурсоемкий, но вместе с этим он позволяет по максимуму использовать возможности, предлагаемые каждой конкретной операционной системой. Как следствие, нативные приложения выигрывают как по функционалу, так и по скорости работы у других типов мобильных приложений. Именно к такому подходу сейчас приходят те компании, которые делали комбинированные приложения. Например, Facebook начинала с комбинированного приложения: нативные контролы (переключатели, вкладки и так далее) и веб-страница в качестве контента. Несмотря на то, что это неплохое решение, проблемы с производительностью приводят к тому, что разработчики отходят от комбинации с вебом.

Статистика

Приведу статистику скачиваний на примере наших мессенджеров.

Во-первых, у нас есть приложение ICQ, которое постоянно развивается: среди последних изменений стоит отметить аудиозвонки. Второй мессенджер Mail.Ru Group – Агент. В Агенте реализован примерно тот же функционал, и, хотя у него была немного другая история развития, мы выпускаем версии практически под все платформы и его можно найти в любом сторе.

Основная разница между двумя этими приложениями – это их аудитория. ICQ – это международный продукт. Программа скачивается не только в России, им активно пользуются жители Европы, Латинской Америки. Агент же изначально делался в России и для русскоязычных пользователей.

Тем интереснее сравнить статистику скачиваний из магазинов.


Большая часть 62% иностранной аудитории идет в Google Play. Примерно 1/5 идет в AppStore, 14% — в Ovi Store. И уже оставшиеся 5% делят магазины для платформ Windows Phone (4%) и Samsung Bada (1%). С Агентом ситуация в корне другая: доли Google Play и Ovi примерно одинаковые. Ну а 10% AppStore наглядно демонстрируют любовь к «яблочной» продукции в нашей стране.

Процесс создания мобильного приложения

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

User Story

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

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

Проектирование и дизайн

После составления User Story начинается проектирование и разработка дизайна.


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

При разработке дизайна обязательно используются гайдлайны.

Гайдлайн в общем понимании – это документ, который выпускает компания, и по которому дизайнеры и разработчики понимают принцип построения взаимодействия приложения с пользователем. Условно говоря, для iOS кнопки надо делать круглыми, а для Windows Phone – квадратными. Однако мы используем и внутренние гайдлайны для разработчиков. Таким образом результат работы дизайнера чаще всего состоит из макетов, гайдлайнов и нарезки графики.

Макеты лучше всего подавать «перелинкованными», например с помощью ProtoTypr, чтобы была понятна логика переходов. Гайдлайны содержат в себе информацию об отступах, размерах, визуальных эффектах, механике анимации и пр. Этот этап можно пропустить, если в вашем проекте один дизайнер и один разработчик, сидящие рядом друг с другом. Третья часть результата — нарезка графики — должна содержать минимум необходимых графических ресурсов (заботимся о весе приложения), иметь версии для разных разрешений экранов. Чаще всего мы рисуем для ретины и xhdpi-экранов. Далее идет подготовка для неретины и mdpi автоматизированными средствами (если допустимо их использование). Чаще всего руками приходится готовить hdpi-ресурсы.

Передача в разработку. Обсуждение и необходимые правки описания

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

Тестирование

Существует немалое количество способов протестировать приложение.
В мобильной разработке тестировщик – это человек, вокруг которого одни телефоны. У нас есть огромный шкаф, в котором лежат как старые телефоны, так и самые свежие новинки. Внутри мы стараемся тестировать по тест-кейсам. Если внедряется новая фича, по ее описанию составляется тест-план.
Существуют сервисы, помогающие в тестировании. Мы используем HockeyApp – приложение, позволяющее раздавать наш продукт бета-тестерам. Мы пишем в социальных сетях: «Ребята, у нас новое крутое приложение. Кто хочет попробовать?» Желающие получают билд, пользуются приложением, а сервис собирает статистику, составляет креш-репорт и отправляет все это нам.
Также есть сервисы, позволяющие протестировать приложение на разных операционных системах — например, все Android-прошивки версии 2.1 или 2.3. Вы отдаете приложение, сервис скриншотит весь путь, который вы задали, присылает картинки вам на почту, и вы проверяете, все ли в порядке.

Мониторинг

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

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

Изменить ситуацию может довольно распространенных «хак» — окно Rate Us. С предложением оставить положительный комментарий в сторе, а в случае проблем написать разработчику. Эффект достаточно сильный, главное — правильно продумать алгоритм показывания диалога юзеру.

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

Еще один интересный мониторинговый сервис – Flurry. Он помогает собирать клиентскую статистику. Flurry предоставляет отчет о том, что делает пользователь в вашем приложении: сколько раз он нажал на кнопку, сколько раз возвращался в приложение и более общие параметры — аудитория, география, пол, возраст и пр.

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

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

Специфика

Что нужно помнить?

  • На каждой новой платформе пользователь ожидает увидеть богатое приложение. Он рассуждает следующим образом: «Я сидел на плохом Java-телефоне, при этом мог пользоваться аськой. Я купил новый телефон, захожу в Marketplace, а там нет ICQ? Вы чем там занимаетесь?» Пользователь не принимает в расчет того, что вам приходится делать приложение с нуля. Новая платформа – это новые девайсы, новая документация, новые ресурсы.
  • Чем популярнее платформа, тем больше у вас конкурентов. На данный момент существует два стора, на примере которых это отлично видно: AppStore и Google Play. Если у вас есть идея приложения, которое легко монетизируется или просто получит много скачиваний, вбейте ключевые слова в поиске и скорее всего вы обнаружите, что такое приложение существует. Чем популярнее платформа, тем больше конкурентов. В таких случаях надо тщательно изучать аналоги, смотреть статистику, пытаться понять, по каким параметрам существующие решения можно превзойти.
  • Важно понимать, как пользователи выбирают приложения. Изначально человек не собирается покупать конкретное приложение, он просто смотрит список. Например, по запросу «бесплатная музыка». Иконка и первые две строчки описания – это то, что человек видит и оценивает в первую очередь. Если иконка приличная, можно покупать; соответственно, плохая иконка уменьшает количество скачиваний.
  • Очень важно попасть в топ магазина приложений. Попасть в топ стора – очень хорошо, закрепиться там – залог успеха. Зачем это нужно? Когда пользователь хочет что-нибудь скачать, он заходит в чарт и видит, какое приложение сейчас на первом месте по числу скачиваний. Очень важно туда попасть, потому что это своего рода замкнутый круг. Приложение попадает в чарт, его видят пользователи, они его скачивают, оно снова попадает на первое место, и дальше итерации продолжаются. Поэтому всеми силами добывайте скачки и рейтинг: просите мам, бабушек, соседей ставить приложению пятерки. Стоит сказать, что на рынке полно решений для гарантированного вывода программы в топ. Однако органических пользователей это приносит мало, что не мешает продолжать эксперименты.
  • Помните, что время публикации может доходить до нескольких недель. Допустим, вы разработали и протестировали приложение, обзвонили всех блоггеров или СМИ и сказали: «У меня новое приложение, приходите на пресс-конференцию». Вы его отправляете в AppStore и вынуждены ждать семь рабочих дней в России. В этом случае Google Play – рай для оперативных обновлений, где публикация занимает несколько часов.
  • Фрагментация операционной системы. Если вы разрабатываете приложения под Android, учитывайте фрагментацию и существование целого зоопарка устройств. Это сказывается на времени разработки на всех этапах: проектирование, дизайн, разработка и особенно тестирование.
  • В сторе невозможно общаться с пользователями. Например, пользователь пишет, что у него в ICQ не ходят сообщения. Он недоволен и выражается очень красочно, но не очень информативно. У нас нет возможности с ним связаться и узнать о проблеме подробнее. Все, что мы можем сделать – залезть в мониторинг и посмотреть, ходят ли у нас сообщения. Может быть, его заблочил антиспам.
  • Сейчас некоторые сторы обзаводятся админкой, в которой можно задать вопросы пользователю, выяснить его контактные данные, посмотреть, в каких странах скачивают ваше приложение, но пока ситуация не слишком улучшилась. Стоит отметить, что Google Play продолжает добавлять эту возможность некоторым разработчикам, например нашей компании она доступна.
  • Время на тестирование. Существует несколько способов протестировать приложение. Можно иметь тестеров в штате – с тест-кейсами, тест-планами, которые они обязательно проходят. Кроме того, существует сервис для тестирования – вы платите за найденные баги. Вы выкладываете приложение, его тестируют 20 тысяч человек. В этом подходе, конечно, есть плюсы и минусы.
  • Кадры в мобильной индустрии решают все. Хороших мобильных разработчиков сложно найти даже крупным компаниям, таким как Mail.Ru Group, Яндекс или Google. Именно поэтому мы ведем работу со стажерами — потому что иногда легче взять толкового студента и обучить его.
Заключение

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

Как писать приложения для Android (даже если вы не программист)

Udemy для бизнеса Просмотреть курсы Udemy
  • Развитие
  • ИТ и программное обеспечение
  • Наука о данных
  • Мягкие навыки
  • HR и L&D
  • Бизнес
  • Производительность офиса
  • Маркетинг
  • Проект
Категории статей .

Как создавать приложения для Android: от начала до конца

Udemy для бизнеса Просмотреть курсы Udemy
  • Развитие
  • ИТ и программное обеспечение
  • Наука о данных
  • Мягкие навыки
  • HR и L&D
  • Бизнес
  • Производительность офиса
  • Маркетинг
  • Проект
Категории статей .

Как сделать приложение для Android для начинающих

Хотите создать приложение для Android? Продолжай читать.

Недавно я наткнулся на сообщение PraneethVT на Reddit о том, как он создал свое первое мобильное приложение для Android - калькулятор GPA.

Видя, что он относительно новичок в мире программирования, я подумал, что для «Learn to Code With Me» лучше всего углубиться в то, как он создал свое первое приложение.

Перед тем, как мы начнем, расскажу немного о PraneethVT.

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

Ниже приведены некоторые дополнительные вопросы в стиле вопросов и ответов с PraneethVT о том, как он делал свое первое приложение для Android.(Мои вопросы выделены жирным шрифтом, и его ответы следуют ниже.)

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

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


Вопросы и ответы о том, как создать приложение для Android

Не могли бы вы объяснить мне - какие навыки / языки необходимы для создания приложения для Android?

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

После того, как вы изучите Java и XML (к XML действительно легко привыкнуть, и вы должны изучать язык при программировании своего приложения, а не изучать его заранее, как с Java), вам необходимо научиться соединять эти два, используя Принципы Android.

В своем сообщении на Reddit я дал несколько хороших ресурсов для изучения таких вещей, как действия, фрагменты и другие важные концепции Android, но мне больше всего нравится книга Big Nerd Ranch, потому что она учит вас, пока вы создаете приложения во время книги.

(Ссылка на книгу здесь: Программирование на Android: Руководство по ранчо Big Nerd (Руководства по ранчо Big Nerd)

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

Новичку я рекомендую изучить Java. Здесь нет ярлыков, вам просто нужно выучить Java.

Теперь, для начинающих, я рекомендую учебники YouTube, чтобы получить базовое представление о том, как установить Eclipse (интегрированную среду разработки или IDE для Java) и Java Development Kit (JDK).Это также помогает получить базовое представление о синтаксисе концепций Java, таких как циклы for и операторы if.

Но с тех пор, когда вы изучите самые основы, я НАСТОЯТЕЛЬНО рекомендую отказаться от учебных пособий YouTube в пользу книги или серии лекций. Учебники YouTube очень часто НЕ дают интуитивного понимания важных концепций, что, как я считаю, на 100% необходимо, если вы хотите создать приложение для Android.

Что такое Eclipse и Android Studio? И действительно ли эти два элемента необходимы для создания приложения для Android?

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

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

Начать кодирование сейчас

Прекратить ждать и начать обучение! Получите мои 10 советов, как научиться программировать.

Успех! Теперь проверьте свою электронную почту, чтобы подтвердить подписку.

.

Как научиться программировать для приложений менее чем за 30 дней

У вас есть отличная идея для приложения.

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

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

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

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

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

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

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

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

Поймите конечную цель вашего приложения

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

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

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

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

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

Начните с , узнав о ваших целевых пользователях .Чего они ждут в приложении? Что нужно доставить?

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

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

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

Кто знает? Вы можете обнаружить, что 99% ваших пользователей находятся на Facebook, а варианты входа в Twitter и Google - пустая трата вашего времени.

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

Вы хотите понять, что делает каждая кнопка. Запишите все это, чтобы потом вспомнить.

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

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

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

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

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

Вы должны рассмотреть несколько различных моментов. Будете ли вы хранить данные на устройстве пользователя или в облаке? Вам нужно будет отправлять push-уведомления?

Подумайте также о том, как вы хотите соединить свои базы данных.

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

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

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

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

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

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

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

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

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

Если вы не уверены, выберите платформу, с которой вам удобнее всего, будь то Android или iOS. У вас будет преимущество в работе с уже хорошо известной операционной системой.

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

Начните с изучения важнейших основ

Перед тем, как начать, вам необходимо понять основы.

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

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

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

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

Если вы пишете код на Swift или Objective-C для iOS, вам нужно изучить Xcode .

Разработчикам Android необходимо узнать о Android Studio .

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

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

Когда вы делаете ошибку, вы можете восстановить более раннюю версию вашего кода, чтобы удалить ошибку.

Если вы хотите перейти на следующий уровень, узнайте, как использовать GitHub . Вы можете думать о GitHub как о Dropbox для кода.

Вы можете сохранить обновленный код, поделиться им с товарищами по команде и просмотреть исправления на платформе.

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

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

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

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

Стратегически подходите к тому, что вы выбираете изучать

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

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

За 30 дней вам нужно выбрать те 20% работы, которые принесут вам 80% результатов, которых вы ищете.

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

Возможно, 40% обучения дадут вам 60% возможностей, или даже только 10% необходимых навыков предоставят вам 90% возможностей.

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

Имея это в виду, исследуйте, какие навыки вам понадобятся, и создайте базовую схему для своего 30-дневного плана обучения.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как учиться изо дня в день

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

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

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

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

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

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

Узнайте, как настраивать переменные, закрывать строки кода и создавать операторы if и while.Вы будете использовать их снова и снова, поэтому вам нужно знать, что они холодные.

По мере того, как вы проверяете самые важные элементы, которые вы выучили, вы еще лучше сохраните полученные знания.

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

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

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

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

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

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

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

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

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

Еще один прием, который ускорит процесс, - это соединение новых навыков с тем, с чем вы уже знакомы.

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

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

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

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

Это намного эффективнее, чем бездумный поиск ошибок в коде.

Другой способ - поискать на сайте, предлагающем помощь. Есть ряд сайтов с экспертами, готовыми бесплатно ответить на ваши вопросы по кодированию.

Когда вы застряли, посмотрите на такое место, как Stackoverflow , чтобы помочь вам выйти из строя.

Используйте строгие дедлайны

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

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

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

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

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

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

В дополнение к оценке, которую вы подготовили на основе своего исследования, включите как минимум несколько недель в качестве дополнительного места, так как вы только начинаете.

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

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

Это будет мотивировать вас продолжать работать, даже если вы запутались или застряли.

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

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

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

Ярлыки для создания приложения, которое вы всегда хотели.

Есть несколько способов увеличить скорость разработки.

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

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

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

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

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

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

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

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

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

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

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

Если вы хотите воплотить свое приложение в реальность, вы знаете, что это потребует усилий.

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

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

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

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

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

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

Создавайте элементы на прочном основании, и что бы вы ни делали, не начинайте создавать свое приложение сразу.

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

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

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

Вы также можете использовать такую ​​платформу, как BuildFire, чтобы дать вам старт, не изучая, как кодировать с нуля.

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

.

Самые популярные языки разработки мобильных приложений

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

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

Но сегодня существует широкий спектр языков, фреймворков, пакетов SDK и инструментов, которые можно использовать для создания приложения.

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

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

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

Типы мобильных приложений

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

  • Нативные приложения - написаны на языке, который изначально поддерживается операционной системой конкретного устройства. (Пример: собственное приложение для iOS или собственное приложение для Android).
  • Прогрессивные веб-приложения (PWA) - легкое приложение, которое запускается по URL-адресу веб-браузера устройства.По виду и ощущениям оно похоже на мобильное приложение, но изначально на устройстве оно не доставляется.

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

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

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

Языки программирования для приложений iOS

Платформа iOS была создана Apple. Если вы разрабатываете приложение для iOS, оно будет работать на всех устройствах Apple, таких как iPhone и iPad. Приложения, созданные с использованием языка программирования iOS, могут быть доступны для загрузки в Apple App Store.

Чтобы создать приложение для iOS, вам потребуется учетная запись разработчика Apple.Вам также понадобится Xcode IDE, установленная на компьютере Mac (вы не можете правильно собрать и отладить на компьютере с Windows).

Xcode поставляется со всем необходимым для создания приложений для всех устройств Apple. Этот инструментарий разработки включает редактор кода, симуляторы, отладчик и SDK.

Есть два собственных языка программирования для разработки iOS - Objective-C и Swift.

Давайте подробнее рассмотрим каждый из этих языков программирования Apple ниже.

Objective-C

Objective-C был первым языком программирования Apple, поддерживающим мобильные приложения на своей платформе.Это объектно-ориентированный язык (объектно-ориентированный), в котором используется синтаксис C и объектно-ориентированные аспекты SmallTalk.

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

Swift

Swift был представлен в 2014 году как язык программирования Apple. В конце концов, в следующем году он был доступен для разработки в Xcode.

Этот язык быстро стал предпочтительным выбором разработчиков при создании приложений для iOS.С момента появления Swift использование Objective-C снизилось. Для любых современных приложений, созданных на Apple, настоятельно рекомендуется использовать Swift.

По сравнению с Objective-C Swift проще и компактнее. У любого разработчика Apple, который уже знает, как создавать с Objective-C, не должно возникнуть проблем с переходом на Swift.

Языки программирования для разработки приложений Android

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

Чтобы создать приложение для Android, вам необходимо получить набор инструментов для разработки Android, который включает отладчики, эмуляторы и необходимый SDK. Лучшая интегрированная среда разработки (IDE) для разработки приложений Android - Android Studio. Доступны и другие варианты, но Android Studio определенно является самой популярной.

Android IDE обычно можно запускать в любой ОС, включая Windows, Mac и Linux.

Давайте подробнее рассмотрим два языка программирования Android - Java и Kotlin.

Java

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

Хотя Java имеет немало недостатков, это все еще самый популярный язык для разработки под Android.

Большинство других языков Android считаются версией Java или разновидностью Java.

Kotlin

Google объявила, что начнет поддержку языка программирования Kotlin в 2017 году.Это альтернативный язык традиционной Java для разработки под Android. Даже как новый язык он очень популярен.

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

Нативные языки программирования для разработки

Как я уже сказал, у всех родных языков программирования приложений есть свои плюсы и минусы.Независимо от того, используете ли вы Objective-C или Swift для Apple или используете Java или какой-либо другой вариант Java (например, Kotlin) для Android, это преимущества и недостатки.

Native Programming Pros:

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

Нативное программирование Минусы:

  • Самая медленная разработка
  • Самый дорогостоящий метод разработки
  • Для создания приложений под iOS и Android нужны высококвалифицированные и специализированные разработчики приложений
  • Высокий барьер для входа

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

Языки программирования для гибридных приложений

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

Чаще всего одна разработка работает как для iOS, так и для Android. Хотя некоторые гибридные языки расширяют свою функциональность на другие платформы, например PWA (прогрессивные веб-приложения). Это приятно для тех из вас, кто переходит на более удобную для Интернета среду.

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

Давайте подробнее рассмотрим некоторые из этих вариантов ниже.

Xamarin и C #

Разработанный Microsoft, C # (произносится как C Sharp) - еще один объектно-ориентированный язык программирования. В конечном итоге Microsoft приобрела платформу Xamarin, которая позволяет разработчикам приложений программировать с использованием C # против других платформ.

Другие типы альтернатив с низким кодом, такие как OutSystems и Kony, имеют SDK, который можно использовать с разными языками, а не только с одним.

Используя среду IDE для гибридной разработки, код C # перекрестно компилируется для запуска на устройствах iOS и Android.

Языки JavaScript

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

  • React Native
  • Appcelerator
  • Cordova / PhoneGap

Это лишь некоторые из лучших вариантов. У Google даже есть разработчики ниши под названием Dart и Flutter.

React Native и Appcelerator

Reactive Native и Appcelerator используют JavaScript для взаимодействия с предварительно созданными функциями, встроенными в их структуру. Это позволяет вам манипулировать пользовательским интерфейсом, собирать данные и извлекать данные, чтобы вы могли представить их пользователю.

По сути, это означает, что вы сильно полагаетесь на JavaScript для управления собственными компонентами. У такого программирования есть свои плюсы и минусы.

React Native и Appcelerator Pro:

  • Использование Java для управления чем-то родным
  • Доступ к собственным функциям напрямую из JavaScript

React Native и Appcelerator Минусы:

  • Не задействует такие вещи, как HTML5 или CSS, которые являются технологии, которые обычно используются всеми, кто разрабатывает на JavaScript, для свободного управления собственным пользовательским интерфейсом

Барьер входа для изучения этого метода программирования находится примерно на среднем уровне.

Cordova / PhoneGap

Cordova / PhoneGap и фреймворки типа Ionic действительно просто созданы на основе языка программирования Apache Cordova. Гибридные приложения, использующие этот язык, создаются путем переноса веб-интерфейса в собственный интерфейс.

Что это значит?

Этот метод позволяет создавать такие же, как и для веб-сайтов. Так что, если вы веб-разработчик, вы будете чувствовать себя здесь как дома. Он использует Javascript, HTML и CSS. Эта веб-среда изначально портирована на iOS и Android.

Плюсы:

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

Минусы:

  • Немного отказавшись от частоты кадров

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

MBaaS (Mobile Backend as a Service)

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

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

Для чего вам нужен MBaaS? Вот несколько примеров:

  • Размещение ваших данных
  • Профили пользователей хоста
  • Компиляция аналитики
  • Отправить push-уведомления

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

BuildFire JS

Именно здесь вступает в игру BuildFire JS.

Фреймворк BuildFire JS позволяет создавать так же, как на гибридной платформе Cordova. Вы можете использовать такие веб-технологии, как JavaScript, HTML и CSS. Но этот фреймворк не заставляет вас создавать все с нуля.

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

С BuildFire JS вам нужно только создать то, что уникально для вашего конкретного приложения.

Аналитические серверы, базы данных, серверы push-уведомлений, шлюзы API и многое другое - все это часть огромного MBaaS, предоставляемого BuildFire.

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

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

Поскольку ваше приложение построено на платформе с MBaaS, вам не нужно беспокоиться о каких-либо новых правилах, нормах, проблемах соответствия, функциях и многом другом на iOS и Android.BuildFire гарантирует, что ваше приложение соответствует требованиям.

Последние мысли

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

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

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

Приложение какого типа вы создаете? Что нужно приложению? Куда вы хотите приложить больше всего усилий? Вы хотите развить его один или несколько раз?

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

.

Как научиться программировать и запустить приложение за 3 месяца без опыта программирования

Если вы когда-либо пытались открыть компанию по разработке программного обеспечения или создать мобильное приложение, вы, вероятно, сталкивались с этими вариантами, как это сделать:

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

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

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

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

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

Мой опыт работы с соучредителями и фрилансерами

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

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

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

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

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

Что бы вы ни делали, не пишите в Google "Сколько времени нужно, чтобы научиться программировать?" как и я.Вас будут обескураживать только люди, которые ответят вроде: «Я занимаюсь программированием пять лет и все еще учусь» или «Примерно два года, если вы проводите урок в день». Это одна из главных причин, по которой я отказался от изучения программирования.

Я всегда думал: «Два года !? Я определенно найду хорошего соучредителя за это время! »

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

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

Я подробно расскажу, как я это сделал.

Учебные пособия и понимание основ

Не имея опыта программирования, я понятия не имел, как что-то делать.Я даже не знал, где писать код или как установить приложение на свой iPhone.

К счастью, я наткнулся на замечательный веб-сайт, который преподает программирование на iOS для начинающих - Code with Chris. Вы можете пройти первые несколько уроков бесплатно, чтобы понять, подходит ли это вам. Поскольку у меня не было денег, я убедил родителей оплатить курс, и он мне очень помог.

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

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

Если вы изучаете программирование для iOS, я настоятельно рекомендую Code with Chris. Это не бесплатно, но видео действительно упрощают отслеживание, и он проделал отличную работу, объясняя вещи так, чтобы это было понятно для нетехнических людей.

Чем заняться на курсе

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

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

Большинство людей разочаровываются, когда сталкиваются с ошибкой, которую они считают неразрешимой.Когда вы сталкиваетесь с ошибками программирования, Stack Overflow - ваш лучший друг. Как новичок, вполне вероятно, что все, что вы используете в Google по вопросам программирования, приведет к ссылкам на этот сайт с замечательными ответами, которые будут для вас чрезвычайно полезны. Не бойтесь уточнять, когда вы гуглите проблемы, с которыми сталкиваетесь.

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

Что делать после курса

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

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

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

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

Создание вашей программы

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

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

Выпуск вашей программы

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

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

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

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

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

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

.

Смотрите также