Лет десять назад писать код на смартфоне было сродни баловству. Зачем, если всё равно для запуска нужен компьютер? Но современные телефоны давно перестали быть просто устройствами для звонков и соцсетей. Сегодня на них можно работать почти как на полноценной рабочей станции — если знать правильные инструменты.
В первой части сегодня рассказываем, какие среды разработки доступны на смартфонах и что там по языкам программирования.
Полезный блок со скидкой
Если вам интересно разбираться со смартфонами, компьютерами и прочими гаджетами и вы хотите научиться создавать софт под них с нуля или тестировать то, что сделали другие, — держите промокод Практикума на любой платный курс: KOD (можно просто на него нажать). Он даст скидку при покупке и позволит сэкономить на обучении.
Бесплатные курсы в Практикуме тоже есть — по всем специальностям и направлениям, начать можно в любой момент, карту привязывать не нужно, если что.
От текстового редактора до IDE: какие инструменты есть для мобильной разработки
Онлайн-редакторы
Самый простой способ полноценно программировать на телефоне — использовать онлайн-редактор кода. Да, это может показаться читерством, но в ИТ давно есть классное правило: «если это работает, то почему бы этим не пользоваться?».
Для такой разработки достаточно браузера — а он точно есть в каждом современном смартфоне (мы бы хотели, конечно, посмотреть на телефон, где его нет :-)
Таких редакторов много, вот навскидку:
- CodePen — идеален для фронтенд-разработки. Пишете HTML, CSS и JavaScript и сразу видите результат;
- JSFiddle — похож на CodePen, но с акцентом на JavaScript-эксперименты;
- GitHub Codespaces — полноценная среда разработки в облаке, доступная с любого устройства;
- Replit — поддерживает более пятидесяти языков программирования, от Python до C++, есть ИИ, но без VPN может не открываться.
Преимущество таких инструментов в том, что не нужно ничего устанавливать, всё работает сразу. Такое хорошо подходит для обучения и быстрых экспериментов.
Мобильные IDE — когда нужна серьёзная разработка
Если онлайн-редакторы кажутся вам каким-то несерьёзным инструментом, попробуйте полноценные среды разработки. Вот некоторые:
Работает локально на устройстве, можно найти софт почти под любой язык, подсветка синтаксиса, все дела. Самое то, если захотелось покодить в общественном транспорте или в очереди.
Termux — секретное оружие мобильного разработчика
Termux — это эмулятор терминала с пакетным менеджером, который устанавливает настоящие linux-пакеты. Работает только на Андроиде, потому что в айфонах политика безопасности не позволяет так вольно обращаться с установкой чего-то настолько системного.
Например, в Termux можно поставить Python и необходимые библиотеки:
pkg install python
pip install requests numpy pandas
Или Node.js для JavaScript-разработки:
pkg install nodejs
npm install express react
Можно даже поставить GCC для компиляции C/C++:
pkg install clang
Удалённый доступ (когда мощности телефона уже не хватает)
С одной стороны, это сложно назвать разработкой на телефоне — по сути, телефон выступает просто дополнительным экраном для компьютера и всё происходит уже там. Но по факту код мы пишем прямо с мобилки, поэтому с натяжкой, но это можно считать программированием на телефоне.
Что можно использовать для этого:
Языки программирования: что удобно, а что проблематично писать с телефона
Когда вы только начинаете программировать на смартфоне, кажется, что все языки одинаково неудобны. Но опыт показывает, что одни языки идеально адаптируются к мобильной среде, а после других хочется стать луддитом. Давайте разберёмся, почему так.
Фронтед-разработка — король мобильного кодинга
HTML, CSS и JavaScript — это три кита, на которых держится мобильная разработка. Штука в том, что можно написать что-то полноценное даже на телефоне и СРАЗУ же увидеть результат в браузере.
Вот код для наглядности:
<!-- Простой пример: создаём кнопку с анимацией -->
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title></title>
<style>
.cool-button {
padding: 15px 30px;
background: linear-gradient(45deg, ff6b6b, ee5a24);
border: none;
border-radius: 25px;
color: white;
font-size: 18px;
transition: transform 0.3s ease;
}
.cool-button:hover {
transform: scale(1.1);
}
</style>
</head>
<body>
<button class="cool-button">Нажми меня!</button>
<script>
document.querySelector('.cool-button').addEventListener('click', function() {
alert('Код работает прямо на телефоне!');
});
</script>
</body>
</html>
Можно написать его в любой мобильной или облачной IDE, сохранить себе и сразу же открыть в браузере, чтобы убедиться, что всё работает.
Почему фронтенд — это удобно:
- мгновенный результат, результат можно сразу посмотреть в браузере;
- никакой компиляции, потому что браузер сам выполняет код;
- можно создавать сложные SPA-приложения;
- отладка в реальном времени: Chrome DevTools есть и на телефоне.
Бэкенд и Python тоже без проблем
Python в Termux работает почти так же, как на десктопе, вообще никаких различий (главное, чтобы хватило места для библиотек и оперативки):
Устанавливаем Python в Termux — точно так же, как в Linux:
pkg install python
Пример: парсим данные с сайта ЦБ и получаем курс доллара на текущую дату:
import requests
from bs4 import BeautifulSoup
import pandas as pd
# Получаем курс доллара с ЦБ РФ
response = requests.get('https://www.cbr.ru/scripts/XML_daily.asp')
# используем встроенный парсер
soup = BeautifulSoup(response.content, 'html.parser')
# Находим нужную валюту по ID
valutes = soup.find_all('valute')
usd_rate = None
for valute in valutes:
if valute.get('id') == 'R01235': # ID доллара США
usd_rate = valute.find('value').text
break
if usd_rate:
print(f'Курс доллара: {usd_rate} руб.')
df = pd.DataFrame([{'валюта': 'USD', 'курс': usd_rate}])
else:
print('Не удалось найти курс доллара')
Код работает прямо на телефоне — точно так же, как полноценный десктопный Питон.
Что можно делать с Python на телефоне:
- Data Science — pandas, numpy, matplotlib;
- веб-скрапинг — beautifulsoup4, scrapy;
- автоматизация — скрипты для личных задач;
- API-разработка — Flask, FastAPI;
- машинное обучение — scikit-learn, tensorflow (упрощённые версии);
- что угодно — если для этого есть нужная библиотека или понимание, как это сделать.
Мобильная разработка на телефоне
Сразу оговоримся: этим можно заниматься в основном на android-устройствах, потому что для компиляции iOS-приложений нужен Мак, полноценная среда и иногда сертификат разработчика.
Но если вам нравится Андроид, вообще никаких проблем. Для начала можно сделать в AIDE простое приложение с кнопкой:
public class MainActivity extends AppCompatActivity {
private int clickCount = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
TextView textView = new TextView(this);
textView.setText("Количество нажатий: 0");
Button button = new Button(this);
button.setText("Нажми меня!");
button.setOnClickListener(v -> {
clickCount++;
textView.setText("Количество нажатий: " + clickCount);
});
layout.addView(textView);
layout.addView(button);
setContentView(layout);
}
}
Сложные языки — тут уже есть ограничения
Будем честны: работать с кодом, который напрямую должен взаимодействовать с аппаратной частью компьютера, на телефоне сложно. Можно, конечно, но надо понимать ограничения среды, в которой мы это делаем.
Например, простой код C++ компилируется без проблем в Termux:
include <iostream>
include <vector>
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5};
int sum = 0;
for(int num : numbers) {
sum += num;
}
std::cout << "Сумма: " << sum << std::endl;
return 0;
}
// Компилируем в Termux:
// g++ -o program main.cpp && ./program
❗️ Но если мы попробуем скомпилировать большой проект со множеством зависимостей или вычислительных ресурсов, телефон просто не справится.
С Си и .NET — ситуация сложнее. Официальной поддержки нет, но есть монопроекты и обходные пути.
Короче, если вам нужна ТАКАЯ разработка, проще взять с собой ноут. Ну и будем реалистами: полноценно работать даже с простыми указателями в C++ на смартфоне — та ещё затея, конечно.
Плюсы и минусы мобильной разработки
✅ Плюсы очевидны:
- Можно программировать где угодно — в транспорте, очередях, на природе.
- Мгновенный запуск и тестирование мобильных приложений.
- Отличный способ использовать любое свободное время с пользой (только нужно не забывать при этом про отдых, это тоже очень важно).
❌ Минусы не менее очевидны, если посмотреть на ситуацию трезво:
- Маленький экран — сложно работать с большими файлами, да и вообще смотреть в код с таким размером текста.
- Виртуальная клавиатура — медленнее набирать код.
- Ограниченная производительность для тяжёлых задач.
Что дальше
В следующей части поговорим про аппаратные ограничения, то, как вообще организовать процесс такой разработки у себя и кому это вообще может быть нужно. Подпишитесь, чтобы не пропустить продолжение.
Вам слово
Приходите к нам в соцсети поделиться своим мнением о статье и почитать, что пишут другие. А ещё там выходит дополнительный контент, которого нет на сайте — шпаргалки, опросы и разная дурка. В общем, вот тележка, вот ВК — велком!