ч# PyLab: как я делаю Python-IDE и курсы для смартфона

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

Так появился PyLab. Это моё приложение, в котором можно и учить Python с нуля, и просто писать код прямо на телефоне. Внутри уже встроен интерпретатор: на Android это Python 3.10.13, на iOS 3.11.3. В этой статье расскажу, что в нём есть, как устроены уроки и редактор, и немного о том, как проект дошёл до текущего состояния.

Что это вообще такое

PyLab есть в RuStore и в App Store, лежит в категориях «Полезные инструменты» и «Образование».

Обложка PyLab
Обложка PyLab

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

Курсы

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

Редактор кода PyLab
Редактор кода PyLab

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

Задания бывают разные. Где-то надо написать код, где-то соединить пары. Например, есть задание, где нужно сопоставить кривые имена переменных вроде 2fast или my-name с причиной, почему Python их не примет. Сверху видно, сколько заданий осталось до конца урока, а теорию можно в любой момент открыть кнопкой с книжкой.

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

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

Про ошибки

Ошибаться в программировании нормально, гораздо важнее понять, почему ошибся. Поэтому к заданиям я писал пояснения. Если решение не прошло, приложение объясняет, в чём дело. Например, в задании, где нужно вывести две строки, многие добавляли \n вручную, и PyLab подсказывает, что два вызова print() и так дают две строки. Если ответ верный, тоже показывается небольшой комментарий, чтобы тема закрепилась.

Отдельно скажу про мои собственные ошибки. Честно, поначалу некоторые задания пройти было вообще невозможно :) Спасибо всем, кто писал мне на почту. Благодаря этим письмам я выловил кучу багов, от мелочей до функций, которые просто не работали.

PyLab баннер в кино
PyLab баннер в кино

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

Редактор, с которого всё началось

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

PyLab редактор к
PyLab редактор к

Что в нём сейчас есть:

  • подсветка синтаксиса;

  • автодополнение, без него на сенсорной клавиатуре писать совсем грустно;

  • консоль, куда выводится результат и ошибки;

  • matplotlib с выводом графиков прямо в консоль, включая анимацию (появилось в версии 4.3.3);

  • управление курсором кнопками громкости. Мелочь, но попасть пальцем между двумя символами на телефоне то ещё удовольствие, а так курсор двигается ровно на один символ.

Мне хотелось, чтобы в редакторе можно было делать что-то кроме print("Hello, World!"), поэтому я встроил библиотеки: requests и aiohttp для сети, numpy и pandas для данных, beautifulsoup4 для парсинга, pillow для картинок, opencv-python, cryptography, PyYAML, python-dateutil и ещё несколько. С ними уже можно писать небольшие утилиты, дёргать API, ковырять данные или обрабатывать картинки.

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

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

Что дальше

PyLab начинался как маленький пет-проект с одной идеей: запускать Python на телефоне. Сейчас это редактор плюс курсы, и я до сих пор этим проектом занимаюсь.

PyLab осенний баннер
PyLab осенний баннер

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

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

Ну и буду рад, если попробуете PyLab и напишете, что понравилось, а что нет.

Ссылки:

Спасибо, что дочитали!

Комментарии (5)


  1. kameee
    20.10.2026 17:39

    Интересно будет попробовать!


    1. c3n9 Автор
      20.10.2026 17:39

      Спасибо!


  1. softi
    20.10.2026 17:39

    Я вас очень прошу: не надо программировать на смартфоне! У меня ребенок так программировал в консоли на питоне как раз. Это боль для глаз. Я запрещал. Есть компьютер, есть ноут в доме - нет, он делал это на телефоне, портя глаза. Еле-еле мы эту эпопею закончили.


    1. c3n9 Автор
      20.10.2026 17:39

      Согласен, часами сидеть за кодом с телефона точно не стоит, и компьютер я заменять не предлагаю. PyLab скорее для того, чтобы пройти урок или что-то проверить, когда ноутбука нет под рукой. А для долгой работы лучше планшет с клавиатурой или всё-таки компьютер. Но то, что ребёнку настолько интересно программирование, по-моему, здорово. Пусть растёт большим гением!


  1. Octagon77
    20.10.2026 17:39

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

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

    Почему работает раз в 15 медленнее чем Termux - просто любопытно.