Программируем на планшете: может ли iPad заменить разработчику 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-летней давности.
Анна Шишлякова, фулстек-разработчица