vak: (Default)
[personal profile] vak
Я ведь почему про симуляцию маковских бинарников спрашивал. Есть у меня крамольная мысль. Не уверен что выйдет, но почему бы не подумать в эту сторону. Идея создать на айпаде юниксную среду, удобную для программиста.

Я всегда беру в путешествия айпад. Как бы главное средство выхода в интернет. Телефон тоже при себе, но он для голоса и как фотокамера. А для серьёзного чтения и просмотра видео айпад самое то. Иногда беру с собой лаптоп, но он редко пригождается. И возникла у меня мысль: а нельзя ли и для программизма этот айпад приспособить. Если вдруг какую софтину в новостях увижу - сразу скачать её исходники, собрать, потыркаться. На андроиде есть похожая тулза Termux. Практически то, что надо. Но только на айпаде такого не бывает.

Айпад у меня с клавиатуркой, родной, от Apple, причём даже с русской раскладкой. Называется Smart Keyboard for iPad. Сейчас такую резиновенькую уже не выпускают, заменили на новую модель, пластмассовую. Зато появилась украинская раскладка. В следующий раз куплю украинскую.



Я стал искать, может кто уже такое наваял. Куча всяких SSH терминалов, но ни одной локальной командной строки. Как я понимаю, Apple ведёт жёсткую политику и не разрешает ничего подобного в своём магазине приложений. Но вот набрёл на iSH, стал играться - очень близко к нужному. Выглядит как вариант Линукса с командной строкой. Как же автор смог обойти ограничения, установленные Эпплом? Оказалось - чувак скомбинировал подход типа Wine с JIT-компилятором. То есть написал с нуля реализацию ядра, выполняющего линуксные системные вызовы, но бинарники при этом не родные ARM, а совсем даже i686.

Но всё это работает! Сделано на базе Alpine Linux. Там своя libc и своя система пакетов. Притормаживает местами из-за JIT-компиляции, но выглядит гораздо лучше любых альтернатив. На фотке можете видеть Bash Commander, скомпилированный в среде iSH. Никаких специальных правок не потребовалось.

А дальше мысль: можно ли повторить то же самое, но без JIT-компиляции? Интерпретировать родные маковские бинарники, перехватывая и выполняя системные вызовы. Или у Apple там всё жёстко запрещено, не стоит даже пытаться?

Date: 2023-11-11 03:00 (UTC)
ircicq: (Default)
From: [personal profile] ircicq
Если этот подход распространится, Apple запретит эмуляторы как класс. С них станется
Edited Date: 2023-11-11 03:00 (UTC)

Date: 2023-11-11 06:37 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi

Ах вот оно что. Я именно по таким причинам и не смотрел в сторону айпадов. Хм. И можно там jdk гонять? Rust компилировать и гонять? Хм. Надо будет побаловаться на айпаде жены.

Хотя... мне все равно комп приходится с собой возить.

Date: 2023-11-11 08:33 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi

Ага, логично.

А что его, компа, упаковывать? У меня в рюкзачке (под кресло) два помещаются (рабочий и личный). Нормально.

Date: 2023-11-11 10:01 (UTC)
From: [personal profile] ivanrubilo
Тоже юзал iSH, всегда думал что это qemu под капотом 🤔
Думаю без jailbreak врядли прокатит, с jailbreak там есть даже clang нативно под Дарвин, но всё равно как-то не так удобно имхо (мне без VS Code во всяком случае).
В результате так и таскаю ноут (старинный, но зато легче MBA).
Альтернативно можно заменить айпед на сёрфейс - там есть хоть даже полная визжал студия, но с другой стороны его как айпед хреново юзать - винда как тач интерфейс - это просто мрак и ужос.

Date: 2023-11-11 13:00 (UTC)
brumka: (Default)
From: [personal profile] brumka
может, проще использовать андроид?

Date: 2023-11-11 13:26 (UTC)
fenikso: (Default)
From: [personal profile] fenikso
А Ваше серьезное чтение - PDFs and specs, или другие форматы? Есть ли какие-то очевидные недостатки которые стоит иметь в виду? Я думаю себе взять как читалку (не беллетристики, скорее пдф-ок), но не уверен про то какой лучше подойдет - air vs. pro, 11 дюймов vs. 12.9.