- Python для Android: Как начать делать кроссплатформенные приложения с Kivy. Часть первая
- 1. Введение
- 2. Установка зависимостей Kivy
- 3. Создание виртуальной среды для установки Kivy
- 4. Установка Cython
- 5. Установка Kivy
- 6. Импорт Kivy
- 10 лучших редакторов кода Python для Android
- Почему бы не использовать сайты для программирования на телефоне
- Pydroid 3
- Особенности редактора
- Acode
- Особенности редактора
- Dcoder
- Особенности редактора
- Programming Hub
- Особенности редактора
- Spck Code Editor
- Особенности редактора
- Creative IDE
- Особенности редактора
- QPython 3L
- Особенности редактора
- Online Compiler
- Особенности редактора
- Code Editor от Rythm Software
- Особенности редактора
- DroidEdit
Python для Android: Как начать делать кроссплатформенные приложения с Kivy. Часть первая
Jul 19, 2018 · 4 min read
В этом руководстве приведены шаги, необходимые для создания кроссплатформенного приложения для Android с использованием Python-фреймворка Kivy и Linux Ubuntu. Перед началом установки и запуском Kivy необходимо установить его зависимости. Большая часть времени уйдёт на подготовку рабочей среды Kivy путем установки библиотек, необходимых для его работы. В этом уроке Kivy будет установлен в виртуальной среде.
Используемой платформой будет Linu x Ubuntu 18.04 с Python 3.6.5. При запуске Kivy на разных платформах появляются некоторые различия. Чтобы иметь возможность устанавливать библиотеки, перемещаться по каталогам ОС, копировать/удалять/извлекать файлы, запускать скрипты Python, читатель должен иметь базовое представление о командах терминала Linux и Python.
Это руководство имеет следующие разделы:
- Введение
- Установка зависимостей Kivy
- Создание виртуальной среды для установки Kivy
- Установка Cython
- Установка Kivy
- Импорт Kivy
- Создание простого приложения Kivy
- Установка Buildozer
- Создание файла buildozer.spec
- Создание приложения для Android с помощью Buildozer
- Используемые источники
1. Введение
Kivy используется для создания естественных пользовательских интерфейсов с преимуществами абстракции и модульности. Он отделяет разработчика от ненужных и сложных деталей и просто предоставляет простые API для выполнения сложных задач. В результате вы должны определить, какие бэкенд библиотеки Kivy будет использовать для выполнения своих задач. Мы собираемся использовать SDL ( Simple DirectMedia Layer) — кроссплатформенную библиотеку для низкоуровневого доступа к графическому оборудованию через OpenGL. Помимо SDL, другие библиотеки, такие как GStreamer, используются для обработки аудио и видео. Поскольку такие библиотеки написаны на C, нам также потребуется Cython.
2. Установка зависимостей Kivy
Основываясь на инструкциях по установке Kivy на Linux (https://kivy.org/docs/installation/installation-linux.html), здесь перечислены необходимые библиотеки для установки SDL2 и GStreamer. Обратите внимание, что вы можете выбрать версию Python для использования в Kivy с помощью python и python-dev для Python 2 или с помощью python3 и python3-dev для Python 3. Pip также находится в перечисленном ниже списке для последующего использования в подготовке виртуальной среды Kivy.
3. Создание виртуальной среды для установки Kivy
После подготовки зависимостей Kivy мы можем начать установку самого Kivy, создав его виртуальную среду. Нет необходимости использовать виртуальную среду для запуска Kivy, но есть рекомендация отделить Kivy от других уже существующих проектов.
Перед началом создания виртуальной среды мы должны убедиться, что инструменты, необходимые для ее создания, уже установлены и обновлены. Следующие команды гарантируют, что инструменты virtualenv и setuptools уже существуют и обновлены.
virtualenv используется для создания изолированной среды Python. Для получения дополнительной информации о преимуществах виртуальной среды вы можете посетить страницу https://virtualenv.pypa.io/en/stable/. setuptools используется для упаковки проектов Python.
После этого мы готовы создать виртуальную среду Kivy. Следующая команда создает среду с названием mykivyinstall.
Аргумент —no-site-packages используется для изоляции среды от основной установки Python. Это делается для того, чтобы вы могли свободно работать с этим проектом, не затронув другие.
После введения этой команды мы ожидаем получить новую папку в текущем каталоге, названную в соответствии с именем виртуальной среды, как показано на рисунке 1.
В предыдущей команде будет использоваться обычный интерпретатор Python внутри среды. Это может быть Python 2, а мы работаем с Python 3. По этой причине мы могли бы явно указать, какой интерпретатор Python использовать с использованием ключа -p, как в следующей команде:
После создания виртуальной среды мы можем активировать её, чтобы начать установку Kivy. Она может быть активирована следующей командой.
Точка (.) в предыдущей команде представляет собой встроенную команду, которая выполняет содержимое файла, переданного в качестве аргумента. Это синоним источника команды. В результате предыдущая команда идентична этой команде:
Командная строка должна измениться после активации виртуальной среды и начать выглядеть следующим образом:
4. Установка Cython
Перед установкой Kivy Cython должен быть установлен в такой же среде в соответствии со следующей командой:
Обратите внимание, что версия Cython зависит от версии Kivy, которая будет установлена. В данный момент последняя версия Kivy — 1.10.0, и для нее требуется Cython 0.25.2, и именно поэтому она используется в приведенной выше команде. После этого мы готовы к установке Kivy.
5. Установка Kivy
Kivy можно установить с помощью pip в соответствии со следующей командой:
После этой команды ожидается, что Kivy будет загружен и установлен автоматически. Но учтите, что установка Kivy — это трудная часть, потому что существует множество зависимостей, которые являются варьируются в зависимости от используемой машины, платформы и библиотек, которые у вас уже есть и которых нету. Процесс не является простым и прямолинейным, поэтому вы должны искать альтернативные способы решения ошибок установки. Например, Kivy можно установить с помощью wheel-файла или путем клонирования его проекта github в соответствии со следующей командой:
6. Импорт Kivy
При достижении этого этапа, ожидается, что Kivy уже установлен и успешно работает на вашем компьютере. Мы можем протестировать эту среду, импортировав Kivy, как показано на рисунке 2. Виртуальная среда активирована, Python активирован и Kivy успешно импортирован.
Убедившись, что Kivy работает хорошо, мы готовы создать наше первое приложение Kivy.
На этом конец первой части. Во второй части мы приступим непосредственно к написанию приложения и переносу его на Android-платформу.
Источник
10 лучших редакторов кода Python для Android
Звучит довольно странно, не так ли?
Писать код на смартфоне — не так уж и просто, но уже сейчас существуют продвинутые приложения для этих целей, которые могут выполнять свои задачи как на стороне клиента, так и на стороне сервера.
Android-устройства же в любом случае сегодня есть у многих.
Все хотят научиться программировать, но ограничены определенными условиями. Как минимум тем, что для изучения основ необходим персональный компьютер.
В прошлом не было другого выбора, кроме как покупать ноутбук или стационарный ПК. И в худшем случае обладатели новых устройств быстро осознавали, что программирование — это не для них.
Однако в 2021 абсолютным новичкам можно не тратить деньги, а попробовать познакомиться с миром разработки с помощью мобильных приложений.
Почему бы не использовать сайты для программирования на телефоне
Еще одна особенность изучения программирования на смартфоне — необходимость писать код прямо на сайтах. Для этого можно использовать такие ресурсы, как W3Schools, Learnpython, Codeacademy и другие.
Редакторы этих сайтов достаточно продвинуты, но им все равно не хватает таких функций, как форматирование кода, отступы, подсветка синтаксиса и сохранение файлов.
В отдельных же приложениях все это есть. Они опираются на встроенные в них или онлайн-компиляторы. Такие вещи, как разные темы или подсветка синтаксиса, также доступны. Есть в них и такие функции, как расширенная клавиатура и автодополнение.
Pydroid 3
Это одна из лучших программ на сегодня, которая поддерживает интерпретатор Python 3.8, работающий целиком офлайн.
Также есть поддержка таких продвинутых библиотек, как NumPy, SciPy и matplotlib для анализа данных. Для машинного обучения есть Scikit Learn и TensorFlow. И даже для разработки приложений с графическим интерфейсом можно использовать Tkinter.
Есть и масса других вещей:
- Интерпретатор 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
Простая и легкая IDE для Android, которая работает не только с Python, но и множеством других языков.
С помощью этой программы вы сможете написать программу на Python, а также сверстать веб-страницу, используя HTML, CSS и JavaScript. Вот что еще есть в этой программе:
- Поддержка терминала
- Возможность редактировать файлы с любого устройства
- Поддержка GitHub
- Поддержка FTP
- Это приложение с открытым исходным кодом, поэтому оно полностью бесплатное и лишено рекламы
- Рабочий процесс простой и гибкий
- Поддерживаются Python, PHP, Java, JavaScript, C, C++ и так далее
- Широко настраивается
- Есть консоль JavaScript
Особенности редактора
- Поддержка синтаксиса для функций, классов и переменных
- Больше 10 тем
- Удобный интерфейс
- Предпросмотр HTML прямо в приложении
- Горячие клавиши
- Нет рекламы
Стоимость
Dcoder
Еще одна мобильная 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
Это не отдельный редактор кода, а платформа для обучения со встроенным редактором. Приложение было разработано совместно с экспертами из Google. С ним процесс обучения превращается в игру, поэтому и подходит оно больше всего для начинающих.
- Иллюстрации концепций для простого изложения сложных вещей
- Поддержка Python 2.7 и 3.7
- Поддержка таких языков программирования, как C, C++, HTML, JavaScript и R
- Оболочка Linux
- Есть курсы программирования
- Можно изучать SQL
- Есть даже материалы по анализу данных
Особенности редактора
- Интерактивность
- Автоматические отступы
- Подсказки по мере набора кода
- Один из лучших редакторов с поддержкой искусственного интеллекта
- Нет рекламы
Стоимость
Spck Code Editor
Это один из лучших редакторов кода на Android. Его можно установить в Google Play и сразу же начать использовать для написания кода на HTML, CSS, JavaScript, Python, Ruby, C++ или Java.
У него также есть поддержка подсветки синтаксиса для TypeScript и Emmet.
- Легко можно клонировать и работать с репозиториями GitHub, GitLab и Bitbucket
- Интеграция с Git
- Продвинутый просмотр веб-страниц
- Поддержка консоли JavaScript
- Экспорт и импорт в формате ZIP
- Не нужен интернет для работы
- Поддержка основных языков программирования. А HTML, CSS и JavaScript поддерживают, в том числе и подсветку синтаксиса
- Есть возможность делать резервные копии файлов
Особенности редактора
- Расширения клавиатуры для ускорения процесса набора кода
- Автодополнения
- Автоматические отступы (js-beautify)
- Поддержка светлой и темной тем
- Поддержка Emmet
Стоимость
Creative IDE
Это не просто среда разработки, но еще и обучающая платформа. Приложение поддерживает десятки языков программирования и столько же фреймворков. Работает без интернета и поддерживает Python 2.7 и Python 3.
Отличная программа, в том числе и для начинающих разработчиков. Помимо редактора кода включает некоторые продвинутые функции.
- Работает без интернета
- Подходит для начинающих
- При работе с кодом не возникает проблем производительности (можно работать более чем с сотнями строк кода)
- Ошибки легко разрешаются
- Благодаря отладчику все ошибки легко решаются
- Есть встроенный браузер в стиле Chrome с инструментами для разработчика, инспектором, консолью и возможностью посмотреть исходный код веб-страницы
- Занимает немного места и отлично работает на бюджетных устройствах
Особенности редактора
- Есть поддержка темной темы
- Можно использовать неограниченное количество вкладок и терминалов
- Расширенная клавиатура
- Есть подсветка синтаксиса для функций, классов и методов
- Есть поддержка таких функций, как буфер обмена, палитра цветов и так далее
Стоимость
QPython 3L
Еще один производительный и удобный редактор на Android — QPython 3L. У него есть такие встроенные функции, как QPYI, интерпретатор, среда выполнения и поддержка SL4A.
Подходит как для продвинутых разработчиков, так и для начинающих. Плюс, приложение бесплатное и с удобным интерфейсом.
- Есть поддержка QPYI и SL4A
- Приложение с открытым исходным кодом — бесплатное и без рекламы
- Интерпретатор Python работает офлайн
- Поддерживает работу нескольких программ одновременно: веб-приложение, консольное, SL4A и так далее
- Поддерживаются такие библиотеки, как NumPy, SciPy, matplotlib, scikit-learn
- Есть документация для всего
- Поддержка GitHub
Особенности редактора
- Простой интерфейс
- Подсветка кода и автоматические отступы
Стоимость
Online Compiler
Это одно из лучших приложений, которое вполне может выступать в качестве редактора кода 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
Это приложение предназначено для программирования и поддерживает более 100 языков. В нем есть такие функции, как подсветка синтаксиса, автодополнение, автоматические отступы и так далее. Интерфейс простой и логичный.
- Поддерживаются более 110 языков программирования, включая разные версии Python
- Есть встроенная консоль JavaScript
- Можно получить доступ к файлам из Google Drive, Dropbox и OneDrive
- Можно создавать неограниченное количество вкладок и переключаться между ними
- Поиск и замена
Особенности редактора
- Автодополнение, которое значительно ускоряет процесс набора
- Отмена и восстановление последних изменений
- Расширенная клавиатура
- Автоматические отступы
- Предпросмотр HTML и Markdown
- Есть 3 темы
- Подсветка синтаксиса
Стоимость
DroidEdit
Это редактор кода для смартфонов и планшетов на Android. Поддерживает несколько языков, включая разные версии Python. Лучше всего работает со внешними клавиатурами, как, например, у ASUS Transformer.
Есть бесплатная версия и платный вариант с поддержкой SSH и SFTP.
- Поддерживает более десятка языков, включая C, C++, Java, Python и других
- HTML-файлы можно открывать прямо в браузере
- Можно импортировать файлы из Dropbox
- Поддерживается SL4A
- Есть поддержка кодировки
- Платная версия предлагает защищенный терминал, root, поддержку Dropbox и других хранилищ, а также SFTP/FTP
Источник