Журнал / польза

Программируем на планшете: может ли iPad заменить разработчику MacBook

Эволюция планшетов Apple прошла большой путь от «фоторамки» до мощного рабочего инструмента, которым пользуются профессионалы в различных отраслях. Но может ли iPad в 2023 году стать заменой Mac и MacBook для разработчика? Разбираемся в этом материале

Несколько лет назад Apple решила создать новую ОС для своих планшетов, назвав её iPadOS. По сравнению с исходной iOS нового там было немного — эволюционная адаптация интерфейса и функций для устройств с большими экранами.

С 2019 года Apple активно развивает операционную систему для iPad, добавляя в каждую версию нововведения. Например, появилась поддержка внешних контроллеров: ранее iPad с мышью не работал.

В актуальной iPadOS 16 немало фишек, которые приближают её по функциональности к настольной ОС Apple. Например, планшеты на свежих процессорах получили расширенную многозадачность: есть возможность отображения до четырёх приложений в настраиваемых окнах, можно переключаться между сценами с разными наборами софта. Даже добавили поддержку подключения внешних дисплеев.

Параллельно происходило сближение ноутбучного и планшетного «железа» Apple. Например, даже среднебюджетный iPad Air 2022 года основан на чипе Apple M1, ARM-платформе, которая отлично зарекомендовала себя в линейке MacBook 2020–2021 годов.

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

Почему трудно работать на планшете?

В линейке современных iPad есть модели с диагональю экрана от 8,3 до 12,9 дюйма. Но работать с кодом на дисплее до 10 дюймов трудно: без масштабирования приходится всматриваться, напрягая глаза, а с приближением строк в окне становится меньше.

Планшет заточен под сенсорное управление. Писать код с экранной клавиатуры — специфическое удовольствие, ещё и рабочий экран уменьшается. Значит, неизбежно нужно подключать к iPad клавиатуру. Подключили? Теперь совершаем те же действия с мышкой: скроллить строки кода пальцем по экрану вам понравится ещё меньше, чем печатать.

Предположим, вы решили эти проблемы или привыкли к ним. Можно ли писать код исключительно на iPad? Не тут-то было: для iPadOS, в отличие от macOS, недостаточно нативного софта для работы. Например, Xcode, в котором пишутся приложения на Swift, имеет только десктопную версию. Можно найти браузерные решения, но скорость их работы будет ниже. Расскажем о них подробнее.

Уезжая на новогодние каникулы в тропическую страну, я брала с собой iPad с Magic Keyboard. Над настоящими приложениями я работать не собиралась — хотела просто попрограммировать генеративные скетчи на p5: простые html- и js-файлы, без сервера и сборки. Это получилось сделать, но я пожалела, что не взяла ноутбук. Пришлось разбираться с простыми вещами: как локально открыть проект, как посмотреть ошибки в клиентском коде. «Думать руками», не спотыкаться об инструмент и забыть об окружении на iPad нельзя.

Анна Шишлякова, фулстек-разработчица

Если всё-таки работаю на iPad, какие расширения мне помогут?

Для разработки на платформе iOS доступно приложение Pythonista, которое представляет собой компилятор для среды Python. Пишут, что есть всё нужное, как в десктопных редакторах: от написания кода до терминала веб-сервисов. Но программа так и осталась своеобразной песочницей: экспортировать результаты в эпловский Xcode не получится, а само приложение давно не получало обновлений.

Интерпретато­ры Python могут пригодиться разработчику в мелких прикладных целях: что-то расшифровать, произвести математические вычисления или сгенерировать последовательность кода. Например, софт под названием Pyto, использующий Python 3.10, получил командную строку, умеет запускать фоновые задачи и работать с библиотекой фреймворков. Правда, программа отличается крайне нестабильной работой, частыми вылетами и крашами.

В GitHub Codespaces можно запустить сервер, но нельзя открыть расшаренный с тобой репозиторий, только собственный. Открыть проект из гитхаба в офлайн-приложениях Textastic и Koder нетривиально. Понадобится дополнительно установить клиент для гитхаба Working Copy.

Из способов отладки кода в браузере я нашла только встроенный браузер с консолью ошибок у Textastic — для p5-скетчей он сгодился.

Анна Шишлякова, фулстек-разработчица

Более функциональный вариант, доступный для iPad и не только, — Visual Studio Code от Microsoft. Его веб-версия адаптирована под iPadOS, программу используют для написания и редактирования кода для платформ Windows, Linux и macOS.

Чтобы получить доступ к уже существующим проектам, нужно подключить свой репозиторий. Можно создавать файлы с нуля — они синхронизируются и появятся на компьютере, а также сохранятся в памяти планшета: iPad давно имеет свой файловый менеджер.

У Visual Studio Code есть недостатки. Например, возникает проблема при скроллинге строчек кода мышью: на iPad сервис предпочитает листание пальцем по экрану. Ещё без ручного сохранения при обновлении страницы правки файла не сохраняются. Это приводит к крайне неприятным последствиям: вы можете потерять код, если внезапно прервётся интернет-соединение.

Есть нюанс, о котором стоит знать разработчикам из России: веб-версия Visual Studio Code, как и многие продукты от Microsoft, не открывается в браузере без VPN-соединения.

В браузерном VS Code можно программировать, но вслепую. Нельзя запустить сервер или открыть html-страницу из проекта в браузере. Ещё нет code intelligence: автоподстановки, автоимпортов, подсветки неиспользуемых или необъявленных переменных. В контекстном меню есть переходы к объявлению или определению функции, но они не работают — в том числе в TypeScript.

Если интернет не слишком хороший, программировать в браузерном Visual Studio Code или в Codespaces тягостно. Офлайн-приложения для кода базовые и напоминают блокноты с подсветкой 20-летней давности.

Анна Шишлякова, фулстек-разработчица