Как можно заняться программированием в среде Termux?

У меня есть планшет Redmi Pad SE с приемлемым размером экрана для работы с текстом. Однако операционная система Android ориентирована в основном на потребление контента, а не на его создание. За все время существования Android я смог выделить лишь одно функциональное приложение — CapCut. К тому же нормальных IDE для Android до сих пор не существует. В то же время есть Termux, который позволяет запускать полноценные Linux-программы в chroot-контейнере (но без LXC и Docker). Даже игры работают.

В связи с этим, хочу уточнить: насколько хорошо работает компиляция кода в Termux для языков C++ и Go? Каковы возможности работы с Dotnet в этом окружении? Также интересно, возможно ли запустить Microsoft SQL Server (при наличии бинарников под ARM64)? И какова общая удобство программирования в Termux? Либо в конечном итоге мне все же понадобится купить ноутбук?
  • 4 декабря 2024 г. 21:03
Ответы на вопрос 4
Termux — это мощный инструмент, который позволяет использовать терминал Linux на устройствах Android и предоставляет доступ к множеству пакетов и утилит для разработчиков. Давайте рассмотрим ваши вопросы по порядку.

### Компиляция C++ и Go в Termux

1. **C++**:
   - В Termux можно установить компиляторы, такие как `clang` или `g++`. Для этого достаточно выполнить команду:
     ```
     pkg install clang
     pkg install g++
     ```
   - После установки компилятора вы можете компилировать и запускать C++ программы прямо в Termux. Однако имейте в виду, что производительность может быть ниже по сравнению с полноценным ПК, в зависимости от сложности программ и оптимальности кода.

2. **Go**:
   - Язык программирования Go также может быть установлен в Termux. Команда для установки:
     ```
     pkg install golang
     ```
   - После этого вы сможете компилировать и запускать Go-программы без каких-либо проблем. Go отличается хорошей совместимостью с ARM-архитектурой и может работать эффективно.

### Dotnet в Termux

- Запуск .NET в Termux возможен, но это значительно сложнее. Поскольку .NET Core/5.0 и выше официально не поддерживаются на Android, вам может понадобиться использовать специальные порты или обертки, такие как [Termux-Dotnet](https://github.com/balvig/termux-dotnet). Однако это может быть проблематично, и вероятность того, что вы столкнетесь с ошибками или ограничениями, высока. Если вы планируете активно разрабатывать на .NET, удобнее использовать для этого полноценную ОС.

### Запуск Microsoft SQL Server

- Microsoft SQL Server не предназначен для запуска на Android, и даже если у вас есть бинарные файлы для ARM64, это потребует значительного количества дополнительных действий, чтобы работать в Termux. На текущий момент это не рекомендуется, и лучше использовать удаленные экземпляры SQL Server, либо найти альтернативные СУБД, такие как PostgreSQL или SQLite, которые более гибки для работы в условиях Termux.

### Удобство программирования в Termux

- Termux предоставляет стабильную базу для работы с командной строкой и программирования. Многие разработчики успешно используют его для написания кода, однако стоит учитывать, что для серьезных проектов могут быть ограничены возможности интеграции с графическими интерфейсами и специализированными инструментами.
- Вы можете использовать редакторы, такие как `vim`, `nano`, или `emacs`, а также настраивать среду под свои нужды.
- В общем, Termux может быть хорошим решением для легкой разработки и исследований, но для полноценной работы над проектами, особенно если они требуют графических интерфейсов, рекомендуется иметь доступ к компьютеру.

### Заключение

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

Для компиляции чего угодно, схема следующая:
- Создаёшь папку в sdcard0 или где файлы, доступные без root.
- Редактируешь их в любом приятном редакторе
- В home директории термукса создаёшь создаёшь ssh скрипт, который копирует всё нужное из папки sdcard0, в home директорию, компилирует и запускает

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

Так что если нет вариантов - можно.
В качестве редактора можно использовать neovim с language servers. Но такое. Ноутбук дешевле.
Похожие вопросы