Можно ли кодить на телефоне

Мой опыт разработки с использованием андроид устройства

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

Как все начиналось…

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

Раньше (недели две назад) я постоянно задумывался почему так мало слышно о разработке пусть даже front-end’a на мобильных устройствах (нет, не под мобильные, а именно с мобильных устройств).

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

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

Решил, что рута я сбивать не буду, дефолтную систему сносить не буду, а то вдруг не просто так люди на ПК до сих пор работают.

Ах, этот дивный новый мир…

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

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

  • Войти в аккаунт (почта, браузер, GitHub)

  • настроить редактор кода

  • настроить хотя бы подобие IDE

  • опробовать

Как вы понимаете с первым пунктом ничего сложного, хотя и в этом случае пришлось немного потыкаться. Приложения GitHub предоставленные в плеймаркете(то что попалось мне из 5 установленных, в том числе и сам GitHub). Позволяют, максимум, посмотреть историю, комментарии (смотреть и отвечать), но создавать и изменять контент и запросы не могут. Так что нельзя назвать это полноценной заменой для андроида.

В итоге на первых порах, достаточно браузерной версии гит, вот только если хочешь добавить или изменить папку, то быстро сделать это не получится, нужно выгружать, менять и загружать папки обратно (создаёшь папку с файлом, прописывая путь, а затем все файлы в папку загружаешь через appload file). Как вы понимаете это не удобно если нужно перенести проект на GitHub через планшет.

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

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

Двигаемся дальше. Что же мне нужно от IDE.

  • Снипеты

  • Подсветка синтаксиса

  • Подсветка ошибок

  • Наличие консоли при тестировании

  • Интеграция с GitHub

  • Удобство в использовании (в частности расположение вкладок и настройки)

  • Терминал для Nodejs

Теперь посмотрим, что я нашел:

  • AWD

Хоть в play market и написано, что это IDE для веб разработки, но работать на нем неудобно.

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

Интеграция с git только за плату.

Консоль даже искать не стал после увиденного теста в браузере.

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

  • Acode

Снипеты с кратким описанием и опциями (с возможностью расширения)

Подсветка синтаксиса

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

Консоль есть

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

Есть интеграция с ftp

Все действия и визуализация контента удобны и понятны.

Терминала не обнаружил, но думаю это не проблема для работы во front-end разработке.

Отдельно хотел бы обговорить что из ограничений бесплатной версии только невозможность выбрать цвет темы (но не редактора(там около 10 вариантов разной подсветки)).

При всем при этом у этой программы открытый код,

  • Spck (editor и pro)

Снипеты есть, но реализованы чуть хуже (иногда работают криво).

Подсветка работает

В css и js есть проверка и подсветка линий с ошибками (по крайней мере в случае неожиданного знака).

Консоль имеется

В pro версии есть доступ к терминалу с nodejs, npm, gulp и т.д.

Интеграция с GitHub есть и представлена гораздо шире. Есть возможность добавлять и синхронизировать директории.

Больше возможностей для работы

Только хочу предупредить – чтобы завязать приложение с GitHub помимо токена нужно полностью заполнить паспорт (я сам вначале не полностью заполнил, смог достучаться до GitHub, даже смог вытянуть с GitHub файлы, но вот запушить их не смог (недостаточно разрешений аккаунта)). Потом было долгое копание в Гугле, но это не ОС ПК и в Гугле ты ничего не найдешь. В итоге просто удалил GitHub паспорт и соединился с другим репозиторием, провозился. И нашел эту маленькую неувязку(хотя казалось бы если неправильно подключился то и файлы не вытянуть, ан нет). А потом ещё одна ошибка ( not fast-forward), но тут было стандартное решение. Описал я это здесь для того чтобы было понятно, что чаще всего вы не сможете загуглить вопрос по ide на андроиде, но не всё так плохо.

Вернёмся к описанию. Так вот работа с GitHub реализована намного лучше. Это один из плюсов этого приложения из за которого мне оно нравится.

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

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

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

В итоге пока работаю на Spck, а Acode использую при параллельном редактировании двух и более файлов.

Ещё упомяну, что есть ещё одно приложение необходимое для верстки.

Нужно найти себе нормальную виртуальную клавиатуру. Я остановился на hacker’s keyboard.

Хотя мне больше удобна клава Гугла для набивки текста, но для работы удобнее иметь аналог физической клавиатуры с кнопками ctr, enter и т.д.. Ещё у нее есть панель быстрого доступа для символов. Однако не работает автозаполнение, но это не проблема если работаешь в ide.

Итого. Для написания кода — hacker keyboard, для теста gboard. С учётом того, что кнопка переключения между клавами работает прекрасно, то можно на этом и остановиться.

И вот теперь я настроил все инструменты и готов работать.

Но не тут то было…

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

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

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

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

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

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

А для «коротких забегов» можно использовать мой набор инструментов.

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

З.Ы.

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

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

Звучит довольно странно, не так ли?

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

Android-устройства же в любом случае сегодня есть у многих.

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

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

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

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

Еще одна особенность изучения программирования на смартфоне — необходимость писать код прямо на сайтах. Для этого можно использовать такие ресурсы, как W3Schools, Learnpython, Codeacademy и другие.

Редакторы этих сайтов достаточно продвинуты, но им все равно не хватает таких функций, как форматирование кода, отступы, подсветка синтаксиса и сохранение файлов.

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

Pydroid 3

Pydroid 3 в Google Play — 4.4.

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

Также есть поддержка таких продвинутых библиотек, как NumPy, SciPy и matplotlib для анализа данных. Для машинного обучения есть Scikit Learn и TensorFlow. И даже для разработки приложений с графическим интерфейсом можно использовать Tkinter.

Pydroid 3

Есть и масса других вещей:

  • Интерпретатор Python 3.8
  • Доступный офлайн компилятор
  • Пакетный менеджер pip с легко импортируемым репозиторием библиотек, таких как scikit-learn для машинного обучения, NumPy, matplotlib, Panda и так далее
  • Крупные библиотеки, такие как TensorFlow
  • Примеры для быстрого изучения Python
  • Tkinter (библиотеки для разработки графических интерфейсов Python)
  • Поддержка терминала
  • Поддержка CPython
  • Встроенный компилятор C, C++ и Fortran
  • Отладчик PDB
  • Доступность графической библиотеки с SDL2
  • PyQt5 и другие библиотеки быстро устанавливаются
  • Поддержка Pygame 2

Особенности редактора

  • Автоматические отступы
  • Предсказание кода
  • Подсветка синтаксиса
  • Продвинутая навигация по коду
  • Поддержка нескольких вкладок

Стоимость

  • Базовая версия — бесплатно
  • Обновление — $13.99

Acode

Acode в Google Play — 4.5.

Простая и легкая IDE для Android, которая работает не только с Python, но и множеством других языков.

Acode

С помощью этой программы вы сможете написать программу на Python, а также сверстать веб-страницу, используя HTML, CSS и JavaScript. Вот что еще есть в этой программе:

  • Поддержка терминала
  • Возможность редактировать файлы с любого устройства
  • Поддержка GitHub
  • Поддержка FTP
  • Это приложение с открытым исходным кодом, поэтому оно полностью бесплатное и лишено рекламы
  • Рабочий процесс простой и гибкий
  • Поддерживаются Python, PHP, Java, JavaScript, C, C++ и так далее
  • Широко настраивается
  • Есть консоль JavaScript

Особенности редактора

  • Поддержка синтаксиса для функций, классов и переменных
  • Больше 10 тем
  • Удобный интерфейс
  • Предпросмотр HTML прямо в приложении
  • Горячие клавиши
  • Нет рекламы

Стоимость

  • Бесплатно — без рекламы

Dcoder

Dcoder в Google Play — 4.4.

Еще одна мобильная IDE со встроенным компилятором и поддержкой более 50 языков, включая C, C++, Python и Java. Также поддерживаются такие фреймворки, как React.js, Angular, Django, Flask, Flutter и другие.

По производительности это приложение сравнимо с Notepad++, Sublime Text и Eclipse. Также есть встроенные алгоритмические задачи разных уровней сложности.

  • Поддерживается большинство популярных языков программирования, включая Pascal, Swift, Objective-C и так далее
  • Поддерживаются Python 2.7 и Python 3
  • Результаты компиляции легко обрабатываются
  • Доступны задачи для саморазвития
  • Поддерживаются такие фреймворки, как Python, Django, React.js, Flutter и Angular
  • Поддержка GitHub
  • Можно опубликовать проект прямо с телефона

Особенности редактора

  • Подсветка синтаксиса
  • Автоотступы и расстановка скобок
  • Отмена последнего действия
  • Рекомендации

Стоимость

  • Бесплатно (есть реклама)

Programming Hub

Programming Hub в Google Play — 4.7.

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

  • Иллюстрации концепций для простого изложения сложных вещей
  • Поддержка Python 2.7 и 3.7
  • Поддержка таких языков программирования, как C, C++, HTML, JavaScript и R
  • Оболочка Linux
  • Есть курсы программирования
  • Можно изучать SQL
  • Есть даже материалы по анализу данных

Особенности редактора

  • Интерактивность
  • Автоматические отступы
  • Подсказки по мере набора кода
  • Один из лучших редакторов с поддержкой искусственного интеллекта
  • Нет рекламы

Стоимость

  • Бесплатно (без рекламы)

Spck Code Editor

Spck Code Editor в Google Play — 4.7.

Это один из лучших редакторов кода на Android. Его можно установить в Google Play и сразу же начать использовать для написания кода на HTML, CSS, JavaScript, Python, Ruby, C++ или Java.

Spck Code Editor

У него также есть поддержка подсветки синтаксиса для TypeScript и Emmet.

  • Легко можно клонировать и работать с репозиториями GitHub, GitLab и Bitbucket
  • Интеграция с Git
  • Продвинутый просмотр веб-страниц
  • Поддержка консоли JavaScript
  • Экспорт и импорт в формате ZIP
  • Не нужен интернет для работы
  • Поддержка основных языков программирования. А HTML, CSS и JavaScript поддерживают, в том числе и подсветку синтаксиса
  • Есть возможность делать резервные копии файлов

Особенности редактора

  • Расширения клавиатуры для ускорения процесса набора кода
  • Автодополнения
  • Автоматические отступы (js-beautify)
  • Поддержка светлой и темной тем
  • Поддержка Emmet

Стоимость

  • Бесплатно (без рекламы)

Creative IDE

Creative IDE в Google Play

Это не просто среда разработки, но еще и обучающая платформа. Приложение поддерживает десятки языков программирования и столько же фреймворков. Работает без интернета и поддерживает Python 2.7 и Python 3.

10 лучших редакторов кода Python для Android

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

  • Работает без интернета
  • Подходит для начинающих
  • При работе с кодом не возникает проблем производительности (можно работать более чем с сотнями строк кода)
  • Ошибки легко разрешаются
  • Благодаря отладчику все ошибки легко решаются
  • Есть встроенный браузер в стиле Chrome с инструментами для разработчика, инспектором, консолью и возможностью посмотреть исходный код веб-страницы
  • Занимает немного места и отлично работает на бюджетных устройствах

Особенности редактора

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

Стоимость

  • Бесплатно (есть реклама)

QPython 3L

QPython 3L в Google Play — 3.9.

Еще один производительный и удобный редактор на Android — QPython 3L. У него есть такие встроенные функции, как QPYI, интерпретатор, среда выполнения и поддержка SL4A.

QPython 3L

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

  • Есть поддержка QPYI и SL4A
  • Приложение с открытым исходным кодом — бесплатное и без рекламы
  • Интерпретатор Python работает офлайн
  • Поддерживает работу нескольких программ одновременно: веб-приложение, консольное, SL4A и так далее
  • Поддерживаются такие библиотеки, как NumPy, SciPy, matplotlib, scikit-learn
  • Есть документация для всего
  • Поддержка GitHub

Особенности редактора

  • Простой интерфейс
  • Подсветка кода и автоматические отступы

Стоимость

  • Бесплатно (есть реклама)

Online Compiler

Online Compiler в Google Play — 4.3.

Это одно из лучших приложений, которое вполне может выступать в качестве редактора кода Python. Оно поддерживает больше 23 языков, работая без зависаний. Одно из основных отличий — работе в облаке, что позволило снизить размер самого приложения до 1,7 МБ.

  • Поддерживает более 23 языков
  • Поддерживается оболочка Linux
  • Поддержка GCC-компилятора C, C++, C++ 14, C++ 17 и компилятора для C#
  • Поддержка Python 2.7 и 3.0
  • Размер приложения всего 1,7 МБ (но интернет-соединение является обязательным)
  • Файлы можно запросто импортировать из локального хранилища

Особенности редактора

  • Подсветка синтаксиса разными цветами
  • Функция автосохранения

Стоимость

  • Бесплатно (есть реклама)

Code Editor от Rythm Software

Code Editor в Google Play — 4.4.

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

Code Editor by Rythm Software
  • Поддерживаются более 110 языков программирования, включая разные версии Python
  • Есть встроенная консоль JavaScript
  • Можно получить доступ к файлам из Google Drive, Dropbox и OneDrive
  • Можно создавать неограниченное количество вкладок и переключаться между ними
  • Поиск и замена

Особенности редактора

  • Автодополнение, которое значительно ускоряет процесс набора
  • Отмена и восстановление последних изменений
  • Расширенная клавиатура
  • Автоматические отступы
  • Предпросмотр HTML и Markdown
  • Есть 3 темы
  • Подсветка синтаксиса

Стоимость

  • Бесплатно (есть реклама)

DroidEdit

DroidEdit в Google Play — 3.7.

Это редактор кода для смартфонов и планшетов на Android. Поддерживает несколько языков, включая разные версии Python. Лучше всего работает со внешними клавиатурами, как, например, у ASUS Transformer.

Есть бесплатная версия и платный вариант с поддержкой SSH и SFTP.

  • Поддерживает более десятка языков, включая C, C++, Java, Python и других
  • HTML-файлы можно открывать прямо в браузере
  • Можно импортировать файлы из Dropbox
  • Поддерживается SL4A
  • Есть поддержка кодировки
  • Платная версия предлагает защищенный терминал, root, поддержку Dropbox и других хранилищ, а также SFTP/FTP

Особенности редактора

  • Доступны несколько цветовых тем
  • Есть подсветка синтаксиса
  • Можно отменять последние изменения (и восстанавливать их)

Стоимость

  • Бесплатная версия (есть реклама)
  • Платная — $2

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

Dcoder

Как утверждается на сайте Dcoder, это
самая быстрая мобильная IDE. Она доступна
в веб-версии, а также в виде приложений
для iOS и Android. Поддерживает большое
количество языков (больше 35), включая
HTML, CSS, JavaScript, C, C++, Python и Java.

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

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

Turbo
Editor

Простой, но при этом мощный текстовый
редактор для Android. Имеет открытый исходный
код (т. е., при желании и должном умении
вы сможете его усовершенствовать по
своему вкусу). В этом редакторе вы найдете
подсветку синтаксиса для HTML, XHTML, CSS,
LESS, JavaScript, PHP, Python и многих других языков,
а также режим чтения, автосохранение
файлов при выходе из приложения, просмотр
результатов работы в браузере.

Quoda

Quoda это простой в использовании редактор
кода для Android. Как и другие редакторы в
нашем списке, Quoda поддерживает много
языков, включая C, C++, C#, CSS, HTML, Java, JavaScript,
Lua, Markdown, PHP, Python, Ruby. Есть подсветка
синтаксиса, расширенная клавиатура,
функционал поиска и замены с применением
регулярных выражений и учетом регистра.

В платной версии доступны автодополнение
кода, интеграция SFTP/FTP(S) и облачных
хранилищ, а также предпросмотр страниц
в разметке HTML/Markdown (на планшетах).

QuickEdit

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

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

Our
Code Editor Free

Как следует из названия, этот редактор
бесплатный (но есть показ рекламы). А
как указано в описании на Google Play, это
целая IDE для Android. Причем она может
работать без подключения к интернету.
Правда, в таком случае вам не удастся
поработать с файлами в облачных хранилищах
(а вообще такая возможность есть).

Android
Web Developer (AWD)

AWD — это IDE для веб-разработки. Языков
и форматов поддерживает не много: PHP,
CSS, JS, HTML, JSON. Есть возможность дистанционной
работы с проектами (по протоколам FTP,
FTPS, SFTP, WebDAV).

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

Android
Interactive Development Environment (AIDE)

AIDE — это интегрированная среда
разработки для создания Android-приложений
прямо на Android-устройствах. Поддерживает
Java, C/C++, HTML5, CSS и JavaScript.

В этом приложении вы найдете
автодополнение кода, проверку ошибок,
подсветку синтаксиса для Java и XML. Есть
интеграция с Dropbox. Благодаря совместимости
с Eclipse можно открывать Eclipse-проекты. Для
профессиональной разработки поддерживается
Git.

Отличительная черта этого приложения
— интерактивные уроки кодинга с
пошаговыми инструкциями (курс
программирования на Java, Android-разработки,
создания игр).

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

Codeanywhere

IDE для работы на Android-устройствах.
Включает в себя редактор кода, FTP-клиент
и терминал. Поддерживает огромное
количество языков (больше 100). Есть
возможность подключения к сторонним
сервисам (Dropbox, Google Drive, OneDrive, Amazon S3, Github,
Bitbucket).

Если у вас нет собственного сервера,
Codeanywhere может запустить для вас
Linux-контейнер, в котором будут доступны,
к примеру, WordPress, Drupal, Magento.

По мотивам статьи «Top 8 Code Editors for Mobile Application Development».

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

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

<i>Источник: <a href="https://hired.com/state-of-software-engineers" target="_blank" rel="noopener noreferrer nofollow">Hired</a>.</i>

Источник: Hired.

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

<i>Источник: <a href="https://hired.com/state-of-software-engineers" target="_blank" rel="noopener noreferrer nofollow">Hired</a>.</i>

Источник: Hired.

С какого языка программирования начать

Несмотря на более высокую востребованность Kotlin, если вы совсем новичок в программировании, начинать стоит с изучения Java. Тому есть несколько причин:

  • У Java огромное комьюнити, и вам будет проще получить от экспертов ответы на возникшие вопросы. По Java больше туториалов, курсов и других бесплатных материалов.
  • Для вас откроется большее количество вакансий. В случае, если вы передумаете заниматься мобильной разработкой, перейти на другое направление будет проще.
  • Kotlin стал официальным языком для приложений на Android только в 2017 году. Все более ранние разработки написаны на Java, а с ними так или иначе придется взаимодействовать. Не говоря уже об огромном количестве библиотек и инструментов для Java, который существует с 1999 года.
  • Высокотехнологичные программы (машинное обучение и вот это все) лучше писать на Java.
  • Kotlin очень легко выучить, если вы знаете Java.

Тем не менее, в 2019 году Google объявил Kotlin как предпочтительный язык для разработки мобильных приложений на Android.

Вывод:

С Java хорошо начинать, но Kotlin тоже придется освоить. Он был создан, чтобы усовершенствовать множество особенностей Java. Это типобезопасный, более выразительный и менее шаблонный язык. Если в Java для решения некоторых задач нужно написать 50 строчек кода, в Kotlin может потребоваться всего одна – это сокращает рабочее время. К тому же Kotlin способен взаимодействовать с любыми фреймворками, а также с кусочками кода на Java и даже на JavaScript.

Приложение для Андроида состоит из четырех основных блоков, каждый из которых живет своей жизнью (имеет независимый жизненный цикл) – это означает, что создается и удаляется каждый компонент по-разному.

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

1. Активности (activities) – это части приложения, которые видит (есть интерфейс) и с которыми взаимодействует пользователь. Например, в мессенджере отображаются непрочитанные сообщения, и пользователь что-то с ними делает.

2. Службы (services) – этот блок осуществляет свои действия на фоне работы с активностями или с другими приложениями. Можно выделить два типа: начатые, которые работают пока не завершат определенное действие (музыкальный проигрыватель, синхронизация), а также обязанные сервисы (bound services) – они запускаются по указанию системы или другого приложения.

3. Широковещательные приемники (Broadcast receivers) – это компоненты, которые постоянно сканируют указанную область (систему, другие приложение, ваше приложение) и доставляют в приложение сообщения об отслеживаемых изменениях.

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

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

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

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

Ресурсы – некодовые компоненты, вроде картинок, звуков, макетов и т.д. Они хранятся в отдельных файлах.

Базовые инструменты для начала

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

Чтобы IDE работала быстро, рекомендуется запускать ее на: Windows 7, 8, или 10 (32-bit или 64-bit), Mac OS X от 10.10 (Yosemite) до 10.14 (Mojave), Linux (Ubuntu 14.04 LTS), Chrome OS.

2. Java Development Kit – это набор инструментов, которые помогают писать и запускать код на Java. Туда входят, например, компилятор и дебаггер.

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

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

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

Создаем приложение в Android Studio

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

1. Для более быстрой установки и работы рекомендуется иметь систему с 8 GB RAM, 4 GB свободной памяти на жестком диске и минимальным разрешением экрана 1280 x 800.

2. Скачиваем Android Studio.

3. Когда студия запускается, просто нажимаем несколько раз «next», там все нужное уже отмечено.

4. Когда у вас появляется окошко «Import Android Studio Settings», выбираем «do not import settings».

5. В «Install type» выбираем «Standard».

6. Выбираем светлую или темную тему.

7. Нажимаем «Finish».

8. Когда появилось окошко для начала нового проекта, нажимаем «Configure», а потом «Settings».

9. В открывшемся окне слева выбираем «System settings», а потом «Andoid SDK». Тут рекомендуется выбрать среды для всех версий Android, так как они пригодятся, когда вы будете создавать приложения под разные устройства. Если у вас не хватает памяти, можно не скачивать – для первого раза они не понадобятся.

Структура проекта в Android Studio

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

Когда вы впервые создаете приложение, в новом проекте сразу появятся модули: «Android app module» и «Gradle».

<i>Источник: <a href="https://developer.android.com/studio/projects" target="_blank" rel="noopener noreferrer nofollow">Developer. Android</a></i>

Источник: Developer. Android

«Android app module» состоит из следующих элементов:

  • Манифесты – содержит файлы AndroidManifest.xml.
  • Java – содержит файлы с кодом.
  • Ресурсы (res) – (о них мы говорили выше) содержит все некодовые файлы.

«Gradle» – это система сборки приложения. Она настраивается отдельно для каждого приложения.

Можно добавить следующие модули:

  • «Feature module» – позволяет настроить, какие функции появляются вследствии наступления определенного условия или скачиваются пользователем в ваше приложение.
  • «Library module» – состоит из тех же элементов, что и «Android app module». Представляет собой что-то вроде архива для повторно используемого кода.
  • «Google Cloud module» – контейнер для бэкенд-кода в Google cloud.

Как добавить новые модули: File —> New —> New Module.

Как запустить простое приложение с «Hello world»

1. Открываем Android Studio.

2. В первом же окне вам нужно нажать «Start a new Android Studio project».

3. Далее необходимо выбрать тип устройства (телефон, часы, телевизор, автомобиль, интернет вещей). В каждом есть различные шаблоны. Для начала выбираем «Empty Activity» и нажимаем «next».

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

Остальное пока менять не нужно, но уже в реальном приложении в «package name» вы сможете вписать свое доменное имя вместо «com.example».

Что касается «minimum API level», то приложения разработанные на более старой версии будут доступны для большего количества устройств, а на более новых легче работать.

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

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

Без виртуального устройства приложение не запустится. Поэтому создаем его в Android Studio:

  • находим на верхней панели «AVD Manager», нажимаем.
  • в открывшемся окне нажимаем «Create virtual device» и выбираем вид устройства и модель.
  • далее потребуется скачать любую версию Android. Когда все скачалось, нажимаем «finish».
  • теперь вы можете запустить первый проект, нажав «Run».
  • приготовьтесь ждать.

📱 Разработка приложений на Android с нуля: установка среды разработки

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

1. В настройках устройства нужно найти «Параметры разработчика —> Отладка USB».

2. Убедитесь, что на на вашем компьютере установлен «USB Driver».

3. Подключите андроид-устройство через порт USB.

4. В Android Studio в панели инструментов выберите ваше устройство.

📱 Разработка приложений на Android с нуля: установка среды разработки

5. Нажмите «Run». Приложение загрузится и запустится.

***

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

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

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

Курс подходит как junior, так и middle-разработчикам.

У «Практикума» стартовали два курса по мобильной разработке: для Android и для iOS. Попробовать бесплатно можно оба, но в практическом смысле вложить силы нужно во что-то одно. 

В этом тексте попробуем ответить на вопрос, какая платформа имеет больше перспектив для разработчиков из России в 2022 году (с учётом всего, что происходит). И немного матчасти, чтобы понимать, как всё устроено. 

Лицензия разработчика

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

❌ не всё можно проверить в эмуляторе (например, полноценную работу гироскопа или камеры);

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

❌ в случае с Apple потребуются дополнительные настройки телефона и обновление приложения каждые 7 дней.

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

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

🤖 Лицензия для Android стоит 25 долларов, и её не нужно продлевать каждый год — лицензия привязывается к аккаунту и действует бессрочно. 

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

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

🍏 Чтобы программировать под Apple, нужно знать Swift или Objective-C. Правда, кроме как для мобильной разработки, эти языки мало где сейчас пригодятся, поэтому специалистом широкого профиля стать не получится.

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

Железо

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

🤖 При программировании под Android можно писать и компилировать код на любом железе с любой операционной системой. А всё потому, что внутри Android тоже стоит своя виртуальная машина Java, которая работает со своим кодом. Поэтому, если у вас есть любой компьютер, — вы уже можете начать писать приложения для Android.

Количество устройств в мире

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

🍏 Каждый четвёртый смартфон в мире и в России — это айфон. Последняя версия MacOS для компьютера тоже научилась запускать приложения для айфонов. А если учесть, что Apple плавно движется к тому, чтобы любые приложения работали на любом их устройстве, то количество устройств может вырасти ещё больше.

🤖 На Android работают 75% телефонов, но сюда же можно добавить разные умные гаджеты: колонки, часы, микроволновки, автомагнитолы и всё такое. Если говорить в абсолютных цифрах, то это примерно 2,5—3 миллиарда устройств. Также в Windows 11 появилась поддержка Android-приложений. 

Android однозначно намного более распространён, чем iOS.

Прибыль от приложений

В 2021 году средний пользователь айфона тратил в 2,6 раза больше денег внутри приложений и в 4 раза больше — на покупку самих приложений, чем пользователи Андроида. С этой точки зрения разработка для iOS гораздо выгоднее, чем для Android, причём в некоторых категориях, например фитнес и здоровье, платную подписку на айфоне покупали в 9 раз чаще.

Получается, что пользователей Айфонов намного меньше, но тратят они намного больше.

Сложность разработки

🍏 У Apple всё просто: есть несколько разных разрешений экрана и стандартные правила оформления приложений, их нужно соблюдать, чтобы приложение прошло модерацию в App Store. Ещё у пользователей iOS большая доля обновлений операционной системы — у 70% стоит последняя версия ОС, что делает разработку проще. Получается, программисту достаточно сделать поддержку 3–4 размеров экрана, а весь остальной интерфейс будет одинаковым.

🤖 Android — это открытая операционная система, и каждый производитель телефонов может выпустить свою версию, которая будет чуть отличаться от классической. Это значит, что то, что работает для одного производителя, может не работать у другого (например, какие-то интерфейсные решения или путь к различным настройкам). Также разработчику нужно учесть огромное количество разных размеров экранов — от 4 дюймов на старых телефонах до 7–8 дюймов на современных флагманах. А ещё у них может быть разное разрешение, пропорции экрана и очень большой разброс по вычислительной мощности. 

В целом iOS — это мир стандартизации и порядка, а Android — это хаос и колхоз. Но приложения выходят и там и там, значит, как-то разработчики этот хаос побеждают. 

Сложность мобильной разработки

Зарплата

🍏 Средняя зарплата iOS-разработчика в России за первое полугодие 2022 года — 208 800 рублей, причём джуниоры получали 108 100 рублей в месяц.

🤖 В мире Android в среднем на 9 тысяч меньше — 199 700 рублей в месяц. У новичков — 88 300 рублей в месяц, что на 20 тысяч меньше, чем на iOS.

Разработчик мобильных приложений

Разработчик мобильных приложений

Политические риски

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

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

🤖 Android хоть и тесно связан с «Гуглом», но имеет гораздо более открытую архитектуру: каждый производитель телефонов может лицензировать эту операционную систему для себя. Также есть открытые варианты Android, которые вообще не используют сервисы «Гугла». Заблокировать Android в России так же сложно, как заблокировать Linux. 

Приложения для Android можно устанавливать откуда угодно: как из магазина Google, так и из альт-сторов типа Xiaomi и Samsung. Также приложения устанавливаются напрямую с сайтов. Недавно в России запустился собственный альт-стор RuStore. В итоге заблокировать приложения для пользователей на «Андроиде» намного сложнее, чем на iOS — причём в любой стране, не только в России. 

Российский магазин приложений для Android — RuStore

Что выбрать

Если выбирать по деньгам — зарплаты больше у iOS-программистов, даже у джунов. Да и за приложения пользователи платят в среднем в 2 раза больше.

Если выбирать по простоте входа — начать программировать под Android намного проще, чем под iOS, и сгодится любой компьютер.

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

Если выбирать с учётом санкций и политической обстановки, то Android безопаснее.

Вёрстка:

Кирилл Климентьев

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

Art top 10

В Google Play Store есть множество приложений для написания кода для вашего Android смартфона. В разных приложениях используются разные стили обучения, и все они могут вам не понравиться. Чтобы упростить вашу задачу, мы использовали несколько приложений для программирования и составили список из 10 лучших приложений для программирования для Android.

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

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

SoloLearn

  • Цена: Бесплатно.
  • Покупки в приложении: Да.
  • Версия Android: зависит от устройства.
Обзор SoloLearn.

SoloLearn имеет одну из самых больших коллекций бесплатного контента для компьютерного кодирования и программирования. Независимо от того, являетесь ли вы новичком или продвинутым, в этом приложении каждый найдет что-то для себя. Вы можете изучить веб-разработку, включая HTML5, CSS3, JavaScript и JQuery, а также несколько языков программирования, таких как Python, Java, C, C++, C#, PHP, SQL, машинное обучение и многие другие. Новый контент добавляется регулярно, поэтому нет предела тому, что вы можете узнать.

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

Programming Hub

  • Цена: Бесплатно.
  • Покупки в приложении: Да.
  • Версия Android: зависит от устройства.
Обзор Programming Hub.

Programming Hub может похвастаться коллекцией из более чем 5000 программ или примеров кода на более чем 20 языках программирования, а также мобильным компилятором, который, по его словам, является самым быстрым в мире. Таким образом, он, по сути, объединяет все ваши потребности в программировании в один пакет, что делает его одним из лучших приложений для программирования для Android.

Это приложение предлагает курсы по HTML, Javascript, C, C++, C#, Swift, Python, программированию R, Java, искусственному интеллекту, CSS и многим другим аналогичным темам. Небольшие интерактивные курсы, созданные экспертами, делают обучение увлекательным и приятным. Уроки представлены в формате рассказов с викторинами после каждого раздела, чтобы проверить свои знания. Центр программирования также имеет функцию преобразования текста в речь.

Mimo

Цена: Бесплатно.
Покупки в приложении: Да.
Версия: Android: 5.0+.

Обзор Mimo.

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

Помимо изучения основ JavaScript, HTML, CSS, Python, SQL и других популярных языков программирования, вы также можете работать над некоторыми реальными проектами, такими как создание веб-сайтов и приложений. Это позволит вам на практике применить свои знания в области программирования.

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

Udemy

  • Цена: Бесплатно.
  • Покупки в приложении: Да.
  • Версия: Android: 6.0+.
Обзор Udemy.

Udemy — это онлайн-платформа для обучения, содержащая более 130 000 видеокурсов по более чем 2 000 тем. Что касается кодирования, вы получаете курсы по всему, от веб-разработки и разработки игр до основ кодирования и языков программирования (Python, Java, JavaScript, Ruby, Swift, C# и др.).

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

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

ScratchJr

  • Цена: Бесплатно.
  • Покупки в приложении: Нет.
  • Версия Android: зависит от устройства.
Обзор ScratchJr.

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

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

Enki

  • Цена: Бесплатно.
  • Покупки в приложении: Да.
  • Версия: Android: 4.4+.
Enki

Enki — еще одно популярное и успешное приложение для программирования для вашего Android смартфона. Приложение предлагает более 1500 уроков по более чем двум десяткам тем, включая Python, SQL, JavaScript, Blockchain, CSS, HTML, электронные таблицы, Webflow и многое другое.

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

Grasshopper

  • Цена: Бесплатно.
  • Покупки в приложении: Нет.
  • Версия: Android: 5.0+.
Grasshopper

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

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

Programming Hero

Цена: Бесплатно.
Покупки в приложении: Да.
Версия Android: 4.1+.

Обзор Programming Hero.

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

Вы можете практиковаться в программировании на языках Python, HTML, CSS и JavaScript в любое время и в любом месте. Есть более 100 задач кодирования с решениями и объяснениями. А если у вас есть сомнения, вы можете мгновенно получить ответы на свои вопросы от экспертов. Programming Hero также имеет форум сообщества, где вы можете общаться с другими пользователями и обмениваться знаниями.

Codecademy Go

  • Цена: Бесплатно.
  • Покупки в приложении: Нет.
  • Версия: Android: 5.0+.
Codecademy Go

Codecademy Go — это версия веб-курсов Codecademy по программированию для мобильных устройств. Он помогает вам практиковаться в программировании на ходу и пересматривает то, что вы узнали в Интернете, в любом месте и в любое время. Он также предлагает базовые уроки по широкому спектру языков программирования, включая HTML, CSS, JavaScript, Python, SQL и другие.

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

Codemurai

  • Цена: Бесплатно.
  • Покупки в приложении: Да.
  • Версия: Android: 5.0+.
Обзор Codemurai.

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

Приложение предлагает уроки кодирования в HTML, CSS, JavaScript, Python, TypeScript, Angular 2, ES6, MongoDB, Node, React, Java, Android SDK, Swift, iOS SDK, объектно-ориентированном программировании, информатике, C#, Unity 3D, и Phaser.

#Руководства

  • 18 июл 2018

  • 1

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

 vlada_maestro / shutterstock

Анатолий Ализар

Пишет про разработку в Skillbox. Работал главным редактором сайта «Хабрахабр», ведет корпоративные блоги.

Язык программирования для мобильной разработки на Android очень простой — это Java. Сейчас Google активно продвигает Kotlin как язык, который сможет заменить Java. Приложения пишут и на C++.

Создание простейшего приложения состоит из нескольких этапов:

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

Первым делом установите программу Android Studio. Это официальная среда разработки (IDE) для Android, она работает на Windows, macOS и Linux. Хотя при разработке программ для Android можно использовать и другие среды, кроме Android Studio.

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

Android SDK компилирует код вместе с любыми данными и ресурсами в файл с расширением .apk. Он содержит всё необходимое для установки приложения на Android-устройство.

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

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

Android-приложение состоит из четырёх компонентов. Каждый компонент — это точка входа, через которую система или пользователь может получить доступ.

  • Активность (activity) — элементы интерактивного пользовательского интерфейса.
    Одна активность задействует другую и передаёт информацию о том, что намерен делать пользователь, через класс Intent (намерения). Активности подобны веб-страницам, а намерения — ссылкам между ними. Запуск приложения — это активность Main.
  • Сервис (service) — универсальная точка входа для поддержания работы приложения в фоновом режиме.
    Этот компонент выполняет длительные операции или работу для удалённых процессов без визуального интерфейса.
  • Широковещательный приемник (broadcast receiver) транслирует нескольким участникам намерения из приложения.
  • Поставщик содержимого (content provider) управляет общим набором данных приложения из файловой системы, базы данных SQLite, интернета или другого хранилища.

Теперь попробуем сделать своё приложение для Android.

Выбираем название приложения, домен компании, путь к проекту и название пакета. Указываем, включить ли поддержку опциональных языков программирования 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-устройстве или в эмуляторе.

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

Для запуска в эмуляторе нажимаем в Android Studio кнопку Run в меню Run (Shift+F10). Выбираем подходящее устройство и версию ОС, портретную или ландшафтную (альбомную) ориентацию.

Android Studio установит эмулятор и запустит его.

Пользовательский интерфейс Android-приложения создаётся через иерархию макетов (layouts, объекты ViewGroup) и виджетов (объекты View). Макеты управляют расположением дочерних виджетов на экране. Сами виджеты — это непосредственно компоненты UI: кнопки, текстовые поля на экране и т.п.

Интерфейс активностей создаётся в Android Studio в редакторе макетов (Layout Editor) и хранится по большей части в XML-файлах.

  • Открываем файл app > res > layout > activity_fullscreen.xml.
  • Добавляем на экран из палитры (Palette) виджеты перетаскиванием мышью.
  • Например, берём текстовое поле (PlainText). Это виджет EditText, куда пользователь может вводить текст.
  • Добавляем кнопки и другие нужные элементы.

Также на экран можно перетащить кнопки и другие элементы.

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

  • Заходим в код app > java > FullscreenActivity.
  • Добавляем метод SendMessage() в класс FullscreenActivity, чтобы при нажатии на кнопку вызывался этот метод.
  • Создаём намерения (класс Intent) для перехода от одной активности к другой, новые активности, навигацию и всё остальное, что необходимо для приложения.

И, конечно, начинаем мечтать, как монетизировать приложение.

Профессия Мобильный разработчик

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

Узнать про курс

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

Участвовать

Научитесь: Профессия Мобильный разработчик
Узнать больше

Не пропустите также:

  • Можно ли клеить магнит на телефон
  • Можно ли класть телефон на ноутбук
  • Можно ли класть телефон на микроволновку
  • Можно ли класть телефон на колонку
  • Можно ли класть телефон на батарею


  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии