PyLab: учим Python и пишем код прямо на смартфоне

Python часто советуют как первый язык программирования: его синтаксис читается почти как обычный текст, а применять язык можно везде — от школьных задач до анализа данных и машинного зрения. Но для практики обычно нужен компьютер, и это тормозит многих новичков. PyLab переносит и обучение, и разработку на Android. В одном приложении собраны интерактивные курсы для тех, кто начинает с нуля, и полноценная среда разработки со встроенным Python 3.10.13 на Android и 3.11.3 на iOS. Рассказываем, как устроены уроки, что умеет редактор кода и как создать первый проект.

Что такое PyLab

PyLab — приложение для программирования и изучения языка программирования Python на вашем смартфоне или планшете. Уже сейчас приложение доступно для Android и iOS в категориях “Полезные инструменты” и “Образование”.

Обложка PyLab

Обложка PyLab

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

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

Курсы: Python с нуля в игровом формате

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

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

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

Каждый урок построен по схеме «прочитал — попробовал — понял». Сначала короткая теория, без длинных лекций. Затем практическое задание: вы пишете код прямо в уроке и сразу получаете результат проверки. Уроки сопровождают игровые персонажи. Они объясняют новые понятия, подсказывают на каждом шаге и делают обучение похожим на прохождение игры, а не на чтение учебника. Такой формат особенно удобен школьникам и тем, кому трудно заставить себя сесть за сухую теорию. Задания бывают разными: где-то нужно написать код, а где-то — соединить пары. Например, сопоставить недопустимое имя переменной вроде 2fast или my-name с причиной, по которой Python его не примет. Вверху экрана видно, сколько заданий осталось до конца урока, а теорию можно открыть в любой момент кнопкой с книгой. Чтобы занятия вошли в привычку, в PyLab есть игровые механики. За выполненные задания начисляются очки опыта XP, а счётчик серии показывает, сколько дней подряд вы занимаетесь. Три сердца в уроке — запас права на ошибку, поэтому задания стоит решать вдумчиво, а не наугад.

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

Об ошибках и их усваивании

В программировании ошибка — нормальная часть процесса, важно понимать её причину. Поэтому в курсах есть пояснения: если решение не прошло проверку, приложение объясняет, что пошло не так. А при верном ответе вы получаете дополнительный комментарий, который закрепляет тему. Например, если в задании нужно вывести две строки и решение не прошло проверку, PyLab подскажет, что два вызова print() и так дают две строки, а добавлять перенос вручную не нужно.

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

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

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

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

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

Изначально PyLab задумывался именно как мобильный редактор Python-кода. Мне хотелось создать инструмент, который позволял бы не просто запускать готовые скрипты, а полноценно писать и тестировать собственный код прямо на смартфоне, без необходимости постоянно обращаться к компьютеру.

PyLab редактор к

PyLab редактор к

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

Рабочий режим PyLab подходит не только для учебных упражнений, но и для небольших реальных проектов. Сейчас в редакторе доступны:

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

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

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

  • Поддержка matplotlib — графики выводятся прямо в консоли, включая динамическую отрисовку и анимацию. Эта возможность появилась в версии 4.3.3.

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

Отдельное внимание уделено поддержке сторонних библиотек. Мне хотелось, чтобы возможности редактора не ограничивались стандартными примерами вроде print(“Hello, World!”), а позволяли экспериментировать с разными направлениями Python-разработки.

Среди предустановленных библиотек доступны requests и aiohttp для работы с сетью, numpy и pandas для вычислений и анализа данных, beautifulsoup4 для разбора веб-страниц, pillow для обработки изображений, opencv-python для компьютерного зрения, а также cryptography, PyYAML, python-dateutil и другие.

Благодаря этому в PyLab можно не только изучать основы языка, но и писать небольшие утилиты, работать с данными, отправлять HTTP-запросы, обрабатывать изображения и экспериментировать с различными библиотеками.

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

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

Итоги и планы на будущее

PyLab начинался как небольшой проект с простой идеей — дать возможность писать и запускать Python-код прямо на смартфоне. Со временем он вырос в приложение, которое объединяет редактор кода и интерактивные курсы для начинающих.

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

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

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

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

Поэтому, если вам было бы интересно почитать отдельную статью о внутренней кухне PyLab, технических решениях, ошибках, продвижении и личном опыте разработки — обязательно напишите об этом в комментариях. Мне действительно хочется понять, кому это интересно и о чём стоило бы рассказать подробнее.

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

Ссылки на проект:

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

Автор: c3n9

Источник

Оставить комментарий