May 31, 2022

Хакер - iPad — это компьютер. Колонка главреда

https://t.me/hacker_frei

Андрей Письменный

Два месяца назад я ока­зал­ся без дес­кто­па и решил заменить его айпа­дом с кла­виату­рой. Сегод­ня я вкрат­це рас­ска­жу о сво­их прик­лючени­ях и о том, мож­но ли кодить на айпа­де (спой­лер: мож­но!). Если про­дук­ция Apple тебя раз­дра­жает, сме­ло про­ходи мимо. Или не про­ходи, если все же хочешь узнать о таком ред­ком явле­нии, как новая раз­новид­ность компь­юте­ров.

Каж­дый раз, как я начинаю рас­ска­зывать в «Хакере» о сво­их рабочих сетапах, это вызыва­ет у некото­рых читате­лей жес­ткое непони­мание: какого чер­та глав­ред такого жур­нала поль­зует­ся не обкле­енным кру­тыми нак­лей­ками ноутом 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, пос­тигла та же судь­ба.

Читайте ещё больше платных статей бесплатно: https://t.me/hacker_frei