Каждый раз, как я начинаю рассказывать в «Хакере» о своих рабочих сетапах, это вызывает у некоторых читателей жесткое непонимание: какого черта главред такого журнала пользуется не обклеенным крутыми наклейками ноутом Lenovo с Kali или хотя бы Manjaro?! Причина проста — мои рабочие задачи лежат в основном в плоскости написания писем и работы с документами, а возможность поковыряться в командной строке — это приятный факультатив.
Весь прошлый год моей рабочей лошадкой был Mac Mini на M1 с внешним монитором. Но пару месяцев назад я совершил серьезную оплошность: случайно отправил монитор на склад в Санкт‑Петербурге, а сам уехал на дачу в Ростовскую область. Когда я стал разбирать приехавшие на грузовике коробки, обнаружился только системник. Можешь себе представить мой вопль ужаса и отчаяния!
Выл и заламывал руки я, впрочем, недолго. Меня к тому моменту уже посещала мысль временно отжать у супруги новенький iPad Pro 12.9, купленный для рисования, приобрести к нему Magic Keyboard и попробовать поработать как за ноутбуком. Вот и повод нашелся!
Поначалу ощущения от айпада с клавиатурой и мышью очень странные. Как будто ты при помощи грязного хака влез со своим курсором внутрь экрана. Но стоит немного привыкнуть, и понимаешь, что это какой‑то совершенно другой, новый и неизведанный компьютер.
Я опасался, что отсутствие традиционных окон будет преградой для продуктивной работы. Напрасно! Последние улучшения в iPad OS неплохо решают эту проблему. Наверху у каждого приложения — кнопка «три точки», клик по которой выводит меню переключения в режимы Split View и Slide Over: разделение пополам или плавающее окошко.
Эти фичи не просто хорошо работают, а делают жонглирование задачами иногда даже более удобным, чем в системе с перекрывающимися окнами. Некоторая скованность компенсируется тем, что больше не нужно искать окна глазами, регулировать их размеры и расположение.
Проблемы, впрочем, тоже встречаются. Пока что далеко не все программы хорошо адаптированы для клавиатуры и тачпада. И один из главных нарушителей — это Telegram. В силу каких‑то внутренних проблем он время от времени перестает реагировать на клики, сделанные курсором мыши, и глючит от поворота экрана.
В других программах тоже попадаются мелкие проблемки. В целом отличный почтовик Spark досаждает тем, что то и дело не хочет копировать текст по Cmd-C. Или, к примеру, прекрасный блокнот для заметок Bear в версии для iOS не поддерживает поиск по тексту: жмешь Cmd-F и удивляешься, что ничего не происходит. iA Writer, замечательный редактор Markdown, так и норовит упасть и потерять часть данных, если ты вдруг вздумал открыть еще один документ в другом окне.
Зато я по достоинству оценил мощь кнопки Share, которая есть почти на каждом экране каждого приложения для iOS. Данные легко передаются из программы в программу (или даже в свой скрипт) без всякой нужды в файлах или рабочем столе. Думаю, мне будет этого не хватать, когда я наконец заполучу свой десктоп обратно.
Как ты уже понял, жонглировать органайзерами, почтовиками и документами в iPad OS — не проблема. А что насчет хакерских делишек? И можно ли кодить?
Кодить можно! Причем не ограничиваясь Pythonista, Codea, Swift Playgrounds, Shortcuts и прочими родными для айпада методами. И даже портативные никсы вроде iSH и a-Shell — вовсе не предел мечтаний.
Как вариант, можно использовать Raspberry Pi или удаленный сервер по SSH и установить на них все, что душа пожелает, включая Vim или Emacs, а также полный набор хактулз.
info
Пользователям Vim важно знать, что у Magic Keyboard нет кнопки Escape, как и всего верхнего ряда F-клавиш. Но положение не безвыходное: можно переназначить Escape на Caps Lock или на кнопку «глобус». У меня, впрочем, на капслоке переключение раскладки, а на «глобусе» — выбор эмодзи. Нужды в эскейпе в самой iPad OS я пока не встречал.
Еще я вспомнил, что существуют облачные IDE, и решил попробовать repl.it и Glitch. Оба варианта вполне рабочие, особенно если ты занимаешься бэкендами. Оба дают доступ к множеству языков и фреймворков, позволяют ставить модули и дают доступ к командной строке. Увы, оба подолгу запускают проекты из‑за того, что постоянно норовят погасить твой контейнер и при следующем запуске собирают его заново.
И тут нашлось решение еще круче — это VS Code! Да‑да, тот самый VS Code, который сейчас стал программистским стандартом де‑факто. Не урезанный и с полной поддержкой расширений! Как такое возможно в iOS? Дело в том, что VS Code — это, по сути, веб‑приложение, упакованное в Chromium. Ничто не мешает установить его на свой сервер и открыть в браузере.
Такая версия VS Code уже существует. Она называется code-server и ставится буквально одной командой. После этого ты открываешь страницу и работаешь с самым обычным VS Code. Никаких проблем и хитростей — разве что нужно обязательно настроить HTTPS.
Здесь доступен полноценный терминал, причем он продолжает выполнять команды, даже если закрыть страницу. Интерфейс отзывчивый, поскольку целиком загружается в браузер, а между клиентом и сервером пересылаются только необходимые данные. Для комфортной работы понадобится стабильное соединение, но необязательно быстрое.
Не исключаю, что я бы держал code-server на своей VPS, даже если бы не пытался выживать с айпадом подобно Робинзону Крузо на необитаемом острове. Подкупает легкость, с которой можно открыть свой проект с любого компьютера и кодить или править конфиги прямо на сервере. Хотя нормальный способ в таком случае — это все же VS Code Server.
www
- Сoder.com — энтерпрайз‑версия code-server, созданная его разработчиками.
- VSCode.dev — браузерная версия VS Code, развернутая командой разработчиков из Microsoft. Работает только в деморежиме.
- VS Code Server — официальный компонент VS Code для удаленной работы с кодом (в этом варианте VS Code выступает клиентом).
Не запутайся!
Ну и напоследок посоветую софт, который делает всякое гиковство на айпаде приятнее и веселее: терминал Blink (его стоит поставить уже только ради появления поддержки SFTP в Files), расширение Web Inspector для Safari, редактор Runestone и инструмент Jayson — для разбора больших файлов в JSON.
Примечание. На май 2022 года упомянутые в тексте приложения Spark, Codea и a-Shell недоступны в российском App Store. О причинах ты можешь догадаться сам или узнать у разработчиков. Популярнейшее приложение Documents, которым я открываю архивы 7zip и RAR, постигла та же судьба.