Программирование — процесс творческий и часто желание написать кусок кода или сиюминутно исправить ошибку становится просто невыносимым. Иногда написания кода требуют внешние обстоятельства, как то критичная ошибка в коде, которая валит проект. Для сотрудников, занимающих руководящие позиции в команде, нужна возможность провести code review и поправить проблемные участки кода.
Хорошо когда в пределах досягаемости есть стационарный компьютер или ноутбук на котором развернута привычная среда разработки. Но что делать если вы находитесь за пределами рабочего места? Таскать с собой постоянно ноутбук? Но во первых большой 13-15 дюймовый ноутбук не везде развернешь (например общественный транспорт), а во вторых таскать его постоянно с собой — еще то занятие. Можно конечно купить 11 дюймовый MacBook Air (или его аналог), но все равно он будет не настолько компактен и не так часто используем, чтобы оправдать покупку.
Чтож, обратим свой взор на устройства, которые сейчас практически всегда с нами — это телефон и планшет. Телефон — это конечно вариант экстремальный, хотя сейчас, с появлением 6 — 6,5 дюймовых моделей, грань между телефоном и планшетом стирается. У меня есть опыт успешного восстановления удаленного сервера по ssh с телефона iPhone 4s с 3.5 дюймовым экраном. Но мы все таки говорим о процессе полноценной работы с кодом, поэтому, на мой взгляд, минимальным является планшет с диагональю от 7 дюймов, экран которого вмещает сопоставимое с экраном большого компьютера, информации. Я покажу на примере iPad Mini возможные варианты его использования для решения повседневных задач разработчика.
![](https://habrastorage.org/r/w1560/files/3d8/0b6/288/3d80b62889244ca596749b55d2767d8b.png)
Если вас заинтересовала тема — читаем дальше (осторожно, большое количество картинок).
Условно, есть три направления, по способу взаимодействия с кодом:
— использование текстового терминала, удаленного SSH-соединения и консольного редактора типа Vim, настроенного на сервере. Яркие представители — это Prompt (от известной компании Panic) и vSSH
— использование нативных iOS приложений-текстовых редакторов: Textastic, Coda, GoCoEdit
— использование средств удаленного доступа на основную машину: RDP, VNC, TeamViewer, Parallels Access
Каждый из этих способов имеет свои достоинства и недостатки, которые мы рассмотрим ниже.
Предположим, у вас есть удаленный сервер и на нем настроен Vim. Vim по своей природе предполагает работу только с клавиатурой, поэтому идеально ложится на паттерн использования внешней клавиатуры. Про гибкость настройки Vim можно найти тысячи статей в интернете — скажу лишь, что немного допиленный Vim по удобству не уступает редакторам от JetBrains, продуктами которой я так же активно пользуюсь. Если Вы разрабатываете только backend приложения и тестирование результатов можете проводить из консоли — я советую остановиться на этом варианте (еще желательно настроить Tmux).
В качестве терминала можно либо использовать навороченный vSSH, в котором можно настроить вообще все, либо более хипстерский Prompt. У Prompt плохо то, что у него часть экрана отдана под разные вспомогательные элементы, что уменьшает рабочую область, зато более приятная цветовая гамма и разные «фишечки».
Prompt:
![](https://habrastorage.org/r/w1560/files/963/196/ad2/963196ad2968473ca9711ad316e49dc7.png)
Настройки vSSH
![](https://habrastorage.org/r/w1560/files/d36/cce/6f9/d36cce6f927147a08982b1a6d709ff46.png)
У настроенного VIM есть автокомплит как по ключевым словам
![](https://habrastorage.org/r/w1560/files/87e/dc6/955/87edc695504643b2890464c7ad31df0d.png)
так и по проекту в целом (названия функций в классах)
![](https://habrastorage.org/r/w1560/files/ac1/32e/82f/ac132e82f2ed4635a1197b33fa6a1add.png)
а также навигация по проекту
![](https://habrastorage.org/r/w1560/files/353/2f1/d31/3532f1d313504c8299a4e209959a001b.png)
Prompt — 7.99$
vSSH — 279 руб.
Если суммировать способы работы с файлами (зависит от редактора):
— SFTP
— WebDAV
— iCloud
— Dropbox
— встроенный web-сервер
— синхронизация через iTunes
— интеграция через GitHub / Bitbucket
— интеграция с Amazon S3, DreamObjects
Все редакторы позволяют работать с несколькими одновременно открытыми файлами.
У всех редакторов очень ограничена поддержка горячих клавиш при работе с клавиатурой. В интервью создатель GoCoEdit говорил что сама Apple сильно ограничивает разработчиков в этих вопросах. Т.е. забудьте о биндингах на каждое действие — в лучшем случае это Cmd-C / Cmd-V
Ни у одного редактора нет встроенной поддержки git, но есть возможность интеграции со сторонними приложениями, реализующими эту функциональность.
Начнем с Coda (бывший DietCoda от компании Panic)
Общий вид
![](https://habrastorage.org/r/w1560/files/6b8/088/945/6b8088945c8c482e8ebfaff8b65a9d35.png)
для создания полной среды разработки «все в одном» — есть возможность создать 4 типа окна
![](https://habrastorage.org/r/w1560/files/6b2/8c6/536/6b28c653663e4bf9a8c5af71cea8cd61.png)
Document — любой файл с кодом (PHP, Python, JavaScript)
Preview — встроенный броузер с возможностью вызова playground c привязкой к странице
Terminal — окно терминала — это полноценный Prompt 2, интегрированный в редактор.
Playground — некое подобие среды тестирования для JavaScript. Из ближайших аналогов — это упрощенный JsFiddle. Зачем он ужен — честно говоря так и не понял.
Подразумевается что вы можете делать полный цикл разработки не выходя из приложения.
Окно встроенного терминала
![](https://habrastorage.org/r/w1560/files/6e8/0e1/4c2/6e80e14c23fc41208ba7411ee26a69ef.png)
Есть автокомплит по словарю, но нет по проекту в целом. То есть например в PHP после ввода в классе конструкции $this-> ничего не появится.
![](https://habrastorage.org/r/w1560/files/b8a/69c/367/b8a69c3672ff486cb24eee92891c0d59.png)
Встроенный броузер. В правом верхнем углу иконка вызова Playground.
Никакого аналога FireBug нет, так что отлаживать javascript нужно будет «в слепую».
![](https://habrastorage.org/r/w1560/files/7de/2d9/839/7de2d983996640f9a7b9171adce5d65d.png)
Настройки конкретного файла
![](https://habrastorage.org/r/w1560/files/ddc/c96/0eb/ddcc960eb0cc4f158c37c0ab49334e64.png)
Упрощенный аналог LiveTemplates
![](https://habrastorage.org/r/w1560/files/071/7be/5ad/0717be5adf6b4660abb3ec501eac2c65.png)
Поиск
![](https://habrastorage.org/r/w1560/files/534/a4d/8b4/534a4d8b45d943398662bda85d334a23.png)
В целом я бы сказал что это маркетинговый продукт. Есть много wow-фишек вроде того же Playground, которые при разработке особо не помогают.
Стоит 599 рублей в российском AppStore.
Редактор Textastic. Серьезный редактор, в котором хорошо продуман процесс разработки.
Общий вид редактора.
Обратите внимание на верхний ряд клавиш с кнопками, в которых по середине стоит один символ и еще 4 по краям. Это гениальное изобретение. Если вы пользуетесь iOS — вы знаете, что для доступа к символам $, _ и т.д. необходимо переключаться в другой «экран» клавиатуры. Это очень сильно осложняет набор и замедляет процесс ввода.
Как работают этот ряд специализированных клавиш: вы «тыкаете» в кнопку — происходит ввод символа по центру. Если вы «тыкаете» в центр и смещаете палец в сторону одного из краев кнопки — происходит ввод символа из соответствующего угла. Поверьте — это очень удобно.
![](https://habrastorage.org/r/w1560/files/9fd/f99/38e/9fdf9938e2d845058fdc49a2c6c2c402.png)
Можно настроить вид редактора в широких пределах
![](https://habrastorage.org/r/w1560/files/1b2/45d/db2/1b245ddb22064a8ca317caebc6c83ad6.png)
Есть автокомплит по словарю, но нет автокомплита по проекту.
![](https://habrastorage.org/r/w1560/files/f68/3c2/960/f683c29601b14d6488db3b865b09edad.png)
Есть навигация по функциям в классе
![](https://habrastorage.org/r/w1560/files/0ce/43f/9ef/0ce43f9ef0cc4a869ac3f53a1452d38f.png)
Есть поиск
![](https://habrastorage.org/r/w1560/files/e0a/436/237/e0a4362372134f71a033b6f5a9e81770.png)
Также есть интеграция с программой Working Copy (о ней ниже), которая позволяет работать с git-репозиториями, а также с GitHub и Bitbucket.
Выбираете в качестве источника Working Copy
![](https://habrastorage.org/r/w1560/files/bde/55a/2bf/bde55a2bf70a48dc9c69e56e3d5274cb.png)
Затем нужный репозиторий и файл
![](https://habrastorage.org/r/w1560/files/36d/3a5/266/36d3a5266ecf42a381d73e1721cf56fa.png)
После окончания работы файл можно будет закомитить с помощью Working Copy в удаленный репозиторий.
Стоит 479 рублей в российском AppStore.
Программа Working Copy не является редактором в классическом смысле. Это скорее полноценный клиент по работе с git-репозиториями. Аналоги:iOctocat, Git2Go
Все эти приложения позволяют подключать как самостоятельные git-репозитории, так и интегрироваться с GitHub и BitBucket. Поддерживают ветки, просмотр коммитов, diff-ов и т.д. Как правило все эти программы имеют бесплатную функциональность на работу с репозиториями в режиме просмотра. Если вы хотите комитить свои изменения — придется выложить от 7 до 10 долларов.
Добавляем репозиторий
![](https://habrastorage.org/r/w1560/files/7ac/a18/d55/7aca18d556db4e23aa33027de43025c2.png)
Окно работы с репозиторием
![](https://habrastorage.org/r/w1560/files/aa2/24c/25b/aa224c25b6244c7a853476e4d3425966.png)
Просмотр файла
![](https://habrastorage.org/r/w1560/files/e71/367/9ed/e713679ed91f47118c6fd5f070d7734d.png)
Как я писал выше — есть полноценная интеграция с редактором Textastic.
Стоимость — бесплатно, но для полноценной работы необходимо разблокировать функции.
Видно, что редактор GoCoEdit писал программист для программистов. Дизайн приложения довольно своеобразный, зато есть ряд фич, отсутствующих в других редакторах.
Общий вид редактора. Обратите внимание на дополнительную строку с символами в верхней части клавиатуры. Принцип работы как у Textastic, описанного выше. Отличие в том, что если у Textastic кнопка пятипозиционная, то здесь только трех: центр, право, лево.
![](https://habrastorage.org/r/w1560/files/8a4/516/81a/8a451681a7fe4ee9bed95ee513f4d36a.png)
Окно работы с файлами
![](https://habrastorage.org/r/w1560/files/c2b/3d0/5c5/c2b3d05c51ba4c4ca221f3ff9893c93a.png)
Есть поиск как по словарю
![](https://habrastorage.org/r/w1560/files/5c8/e6d/3fb/5c8e6d3fb2f3448599f6a063316ef6d2.png)
так и по функциям в классе. Подчеркну, что поиск идет только по текущему файлу, а не по всему проекту, что сильно сужает области применения и полезность.
![](https://habrastorage.org/r/w1560/files/980/094/4df/9800944df5eb49b78e33a1a2d00d9de8.png)
Поиск
![](https://habrastorage.org/r/w1560/files/2e2/484/e51/2e2484e512294ff9ac25d3f555324b23.png)
Есть специальный командный режим. Поскольку, как я говорил выше, нормальные горячие клавиши в iOS не реализуемы (или плохо реализуемы) — здесь используется следующий хак: при нажатии на кнопку CMD появляется окно ввода, куда можно ввести сочетания клавиш, реализующих то или иное действие. Сами сочетания очень напоминают сочетания клавиш из VIM.
![](https://habrastorage.org/r/w1560/files/cf4/393/311/cf4393311e03444da83221aa89154979.png)
Во встроенном броузере есть возможность подключить FireBug Lite.
Стоит 349 рублей в российском AppStore.
Я пробовал TeamViewer и какой-то из VNC клиентов с пробросом VPN в домашнюю сеть. В целом мне показалось, что они не особо учитывают реали того, что работа идет под iPad и, как следствие, удобство работы оставляет желать лучшего.
Когда несколько лет назад вышел Parallels Access — у меня оказалась в руках бесплатная годовая лицензия, которая шла в комплекте с Parallels Desktop. Из того что я пробовал — это наиболее вменяемый продукт, но который тоже не лишен недостатков. Самый большой недостаток — это переодические сообщения «Slow internet connection» и «залипания» интерфейса, хотя и iPad и ноутбук находятся в сети 70 Мбит/с. К счастью происходит это не так часто и с этим можно жить. Сейчас годовая подписка стоит 649 руб / год.
PHPStorm, запущенный на ноутбуке
![](https://habrastorage.org/r/w1560/files/d3a/cce/455/d3acce455cf347809939d180ca605190.png)
Лаунчер приложений
![](https://habrastorage.org/r/w1560/files/482/b25/f45/482b25f4531343c19509658442efc13e.png)
Google Chrome с открытой консолью
![](https://habrastorage.org/r/w1560/files/af5/623/7bd/af56237bde9546e3ab51dfec70f10358.png)
В целом, можно сказать что это рабочий вариант, при условии что вы сидите на быстром интернет-канале. Из плюсов — полное рабочее окружение на iPad.
iPad можно использовать для полноценной разработки. Я использую внешнюю клавиатуру, если есть возможность ее куда-то поставить и экранную клавиатуру если надо сделать что-то на бегу. Экранная клавиатура не увеличивает габариты устройства и позволяет использовать его на ходу, но закрывает половину и так маленького экрана. Кроме того — набор текста с большим количества спецсимволов, расположенных на разных «экранах» клавиатуры, делает ввод текста медленным. Внешняя клавиатура требует размещения, зато оставляет свободным экран и позволяет набирать со скоростью настольного компьютера.
![](https://habrastorage.org/r/w1560/files/a1a/ebe/dbd/a1aebedbd2a74dc7af86fe79108ffa87.png)
![](https://habrastorage.org/r/w1560/files/4e8/905/2c1/4e89052c19fa4ccc933b5648070b7c99.png)
Если вы разрабатываете только backend-приложение, не требующее тестирования в броузере — я бы рекомендовал связку SSH-клиент + VIM + tmux на сервере.
Если вы разрабатываете что-то на frontend и у вас достаточный интернет-канал — рекомендую связку Parallels Access + редактор + полноценный Google Chrome с консолью.
Нативные редакторы находятся в довольно зачаточном состоянии. До прихода серьезных игроков на этот рынок и шагов со стороны Apple по более продвинутому использованию внешней клавиатуры — это не более чем резервный вариант на случай если у вас нет интернета. Все редакторы заточены на работу с одним файлов, а не проектом целиком. Надеюсь, что с появлением iPad Pro ситуация улучшится и мы получим полноценные редакторы. Если совсем фантазировать — хотелось чтобы Apple разрешила подключать MagicPad и показывать курсор на экране, чтобы не приходилось постоянно «тыкать» в экран.
Хорошо когда в пределах досягаемости есть стационарный компьютер или ноутбук на котором развернута привычная среда разработки. Но что делать если вы находитесь за пределами рабочего места? Таскать с собой постоянно ноутбук? Но во первых большой 13-15 дюймовый ноутбук не везде развернешь (например общественный транспорт), а во вторых таскать его постоянно с собой — еще то занятие. Можно конечно купить 11 дюймовый MacBook Air (или его аналог), но все равно он будет не настолько компактен и не так часто используем, чтобы оправдать покупку.
Чтож, обратим свой взор на устройства, которые сейчас практически всегда с нами — это телефон и планшет. Телефон — это конечно вариант экстремальный, хотя сейчас, с появлением 6 — 6,5 дюймовых моделей, грань между телефоном и планшетом стирается. У меня есть опыт успешного восстановления удаленного сервера по ssh с телефона iPhone 4s с 3.5 дюймовым экраном. Но мы все таки говорим о процессе полноценной работы с кодом, поэтому, на мой взгляд, минимальным является планшет с диагональю от 7 дюймов, экран которого вмещает сопоставимое с экраном большого компьютера, информации. Я покажу на примере iPad Mini возможные варианты его использования для решения повседневных задач разработчика.
![](https://habrastorage.org/files/3d8/0b6/288/3d80b62889244ca596749b55d2767d8b.png)
Если вас заинтересовала тема — читаем дальше (осторожно, большое количество картинок).
Условно, есть три направления, по способу взаимодействия с кодом:
— использование текстового терминала, удаленного SSH-соединения и консольного редактора типа Vim, настроенного на сервере. Яркие представители — это Prompt (от известной компании Panic) и vSSH
— использование нативных iOS приложений-текстовых редакторов: Textastic, Coda, GoCoEdit
— использование средств удаленного доступа на основную машину: RDP, VNC, TeamViewer, Parallels Access
Каждый из этих способов имеет свои достоинства и недостатки, которые мы рассмотрим ниже.
Использование текстового терминала
Предположим, у вас есть удаленный сервер и на нем настроен Vim. Vim по своей природе предполагает работу только с клавиатурой, поэтому идеально ложится на паттерн использования внешней клавиатуры. Про гибкость настройки Vim можно найти тысячи статей в интернете — скажу лишь, что немного допиленный Vim по удобству не уступает редакторам от JetBrains, продуктами которой я так же активно пользуюсь. Если Вы разрабатываете только backend приложения и тестирование результатов можете проводить из консоли — я советую остановиться на этом варианте (еще желательно настроить Tmux).
В качестве терминала можно либо использовать навороченный vSSH, в котором можно настроить вообще все, либо более хипстерский Prompt. У Prompt плохо то, что у него часть экрана отдана под разные вспомогательные элементы, что уменьшает рабочую область, зато более приятная цветовая гамма и разные «фишечки».
Prompt:
![](https://habrastorage.org/files/963/196/ad2/963196ad2968473ca9711ad316e49dc7.png)
Настройки vSSH
![](https://habrastorage.org/files/d36/cce/6f9/d36cce6f927147a08982b1a6d709ff46.png)
У настроенного VIM есть автокомплит как по ключевым словам
![](https://habrastorage.org/files/87e/dc6/955/87edc695504643b2890464c7ad31df0d.png)
так и по проекту в целом (названия функций в классах)
![](https://habrastorage.org/files/ac1/32e/82f/ac132e82f2ed4635a1197b33fa6a1add.png)
а также навигация по проекту
![](https://habrastorage.org/files/353/2f1/d31/3532f1d313504c8299a4e209959a001b.png)
Prompt — 7.99$
vSSH — 279 руб.
Нативные iOS приложения
Если суммировать способы работы с файлами (зависит от редактора):
— SFTP
— WebDAV
— iCloud
— Dropbox
— встроенный web-сервер
— синхронизация через iTunes
— интеграция через GitHub / Bitbucket
— интеграция с Amazon S3, DreamObjects
Все редакторы позволяют работать с несколькими одновременно открытыми файлами.
У всех редакторов очень ограничена поддержка горячих клавиш при работе с клавиатурой. В интервью создатель GoCoEdit говорил что сама Apple сильно ограничивает разработчиков в этих вопросах. Т.е. забудьте о биндингах на каждое действие — в лучшем случае это Cmd-C / Cmd-V
Ни у одного редактора нет встроенной поддержки git, но есть возможность интеграции со сторонними приложениями, реализующими эту функциональность.
Coda
Начнем с Coda (бывший DietCoda от компании Panic)
Общий вид
![](https://habrastorage.org/files/6b8/088/945/6b8088945c8c482e8ebfaff8b65a9d35.png)
для создания полной среды разработки «все в одном» — есть возможность создать 4 типа окна
![](https://habrastorage.org/files/6b2/8c6/536/6b28c653663e4bf9a8c5af71cea8cd61.png)
Document — любой файл с кодом (PHP, Python, JavaScript)
Preview — встроенный броузер с возможностью вызова playground c привязкой к странице
Terminal — окно терминала — это полноценный Prompt 2, интегрированный в редактор.
Playground — некое подобие среды тестирования для JavaScript. Из ближайших аналогов — это упрощенный JsFiddle. Зачем он ужен — честно говоря так и не понял.
Подразумевается что вы можете делать полный цикл разработки не выходя из приложения.
Окно встроенного терминала
![](https://habrastorage.org/files/6e8/0e1/4c2/6e80e14c23fc41208ba7411ee26a69ef.png)
Есть автокомплит по словарю, но нет по проекту в целом. То есть например в PHP после ввода в классе конструкции $this-> ничего не появится.
![](https://habrastorage.org/files/b8a/69c/367/b8a69c3672ff486cb24eee92891c0d59.png)
Встроенный броузер. В правом верхнем углу иконка вызова Playground.
Никакого аналога FireBug нет, так что отлаживать javascript нужно будет «в слепую».
![](https://habrastorage.org/files/7de/2d9/839/7de2d983996640f9a7b9171adce5d65d.png)
Настройки конкретного файла
![](https://habrastorage.org/files/ddc/c96/0eb/ddcc960eb0cc4f158c37c0ab49334e64.png)
Упрощенный аналог LiveTemplates
![](https://habrastorage.org/files/071/7be/5ad/0717be5adf6b4660abb3ec501eac2c65.png)
Поиск
![](https://habrastorage.org/files/534/a4d/8b4/534a4d8b45d943398662bda85d334a23.png)
В целом я бы сказал что это маркетинговый продукт. Есть много wow-фишек вроде того же Playground, которые при разработке особо не помогают.
Стоит 599 рублей в российском AppStore.
Textastic
Редактор Textastic. Серьезный редактор, в котором хорошо продуман процесс разработки.
Общий вид редактора.
Обратите внимание на верхний ряд клавиш с кнопками, в которых по середине стоит один символ и еще 4 по краям. Это гениальное изобретение. Если вы пользуетесь iOS — вы знаете, что для доступа к символам $, _ и т.д. необходимо переключаться в другой «экран» клавиатуры. Это очень сильно осложняет набор и замедляет процесс ввода.
Как работают этот ряд специализированных клавиш: вы «тыкаете» в кнопку — происходит ввод символа по центру. Если вы «тыкаете» в центр и смещаете палец в сторону одного из краев кнопки — происходит ввод символа из соответствующего угла. Поверьте — это очень удобно.
![](https://habrastorage.org/files/9fd/f99/38e/9fdf9938e2d845058fdc49a2c6c2c402.png)
Можно настроить вид редактора в широких пределах
![](https://habrastorage.org/files/1b2/45d/db2/1b245ddb22064a8ca317caebc6c83ad6.png)
Есть автокомплит по словарю, но нет автокомплита по проекту.
![](https://habrastorage.org/files/f68/3c2/960/f683c29601b14d6488db3b865b09edad.png)
Есть навигация по функциям в классе
![](https://habrastorage.org/files/0ce/43f/9ef/0ce43f9ef0cc4a869ac3f53a1452d38f.png)
Есть поиск
![](https://habrastorage.org/files/e0a/436/237/e0a4362372134f71a033b6f5a9e81770.png)
Также есть интеграция с программой Working Copy (о ней ниже), которая позволяет работать с git-репозиториями, а также с GitHub и Bitbucket.
Выбираете в качестве источника Working Copy
![](https://habrastorage.org/files/bde/55a/2bf/bde55a2bf70a48dc9c69e56e3d5274cb.png)
Затем нужный репозиторий и файл
![](https://habrastorage.org/files/36d/3a5/266/36d3a5266ecf42a381d73e1721cf56fa.png)
После окончания работы файл можно будет закомитить с помощью Working Copy в удаленный репозиторий.
Стоит 479 рублей в российском AppStore.
Working Copy
Программа Working Copy не является редактором в классическом смысле. Это скорее полноценный клиент по работе с git-репозиториями. Аналоги:iOctocat, Git2Go
Все эти приложения позволяют подключать как самостоятельные git-репозитории, так и интегрироваться с GitHub и BitBucket. Поддерживают ветки, просмотр коммитов, diff-ов и т.д. Как правило все эти программы имеют бесплатную функциональность на работу с репозиториями в режиме просмотра. Если вы хотите комитить свои изменения — придется выложить от 7 до 10 долларов.
Добавляем репозиторий
![](https://habrastorage.org/files/7ac/a18/d55/7aca18d556db4e23aa33027de43025c2.png)
Окно работы с репозиторием
![](https://habrastorage.org/files/aa2/24c/25b/aa224c25b6244c7a853476e4d3425966.png)
Просмотр файла
![](https://habrastorage.org/files/e71/367/9ed/e713679ed91f47118c6fd5f070d7734d.png)
Как я писал выше — есть полноценная интеграция с редактором Textastic.
Стоимость — бесплатно, но для полноценной работы необходимо разблокировать функции.
GoCoEdit
Видно, что редактор GoCoEdit писал программист для программистов. Дизайн приложения довольно своеобразный, зато есть ряд фич, отсутствующих в других редакторах.
Общий вид редактора. Обратите внимание на дополнительную строку с символами в верхней части клавиатуры. Принцип работы как у Textastic, описанного выше. Отличие в том, что если у Textastic кнопка пятипозиционная, то здесь только трех: центр, право, лево.
![](https://habrastorage.org/files/8a4/516/81a/8a451681a7fe4ee9bed95ee513f4d36a.png)
Окно работы с файлами
![](https://habrastorage.org/files/c2b/3d0/5c5/c2b3d05c51ba4c4ca221f3ff9893c93a.png)
Есть поиск как по словарю
![](https://habrastorage.org/files/5c8/e6d/3fb/5c8e6d3fb2f3448599f6a063316ef6d2.png)
так и по функциям в классе. Подчеркну, что поиск идет только по текущему файлу, а не по всему проекту, что сильно сужает области применения и полезность.
![](https://habrastorage.org/files/980/094/4df/9800944df5eb49b78e33a1a2d00d9de8.png)
Поиск
![](https://habrastorage.org/files/2e2/484/e51/2e2484e512294ff9ac25d3f555324b23.png)
Есть специальный командный режим. Поскольку, как я говорил выше, нормальные горячие клавиши в iOS не реализуемы (или плохо реализуемы) — здесь используется следующий хак: при нажатии на кнопку CMD появляется окно ввода, куда можно ввести сочетания клавиш, реализующих то или иное действие. Сами сочетания очень напоминают сочетания клавиш из VIM.
![](https://habrastorage.org/files/cf4/393/311/cf4393311e03444da83221aa89154979.png)
Во встроенном броузере есть возможность подключить FireBug Lite.
Стоит 349 рублей в российском AppStore.
Использование удаленного доступа к стационарному компьютеру / ноутбуку.
Я пробовал TeamViewer и какой-то из VNC клиентов с пробросом VPN в домашнюю сеть. В целом мне показалось, что они не особо учитывают реали того, что работа идет под iPad и, как следствие, удобство работы оставляет желать лучшего.
Когда несколько лет назад вышел Parallels Access — у меня оказалась в руках бесплатная годовая лицензия, которая шла в комплекте с Parallels Desktop. Из того что я пробовал — это наиболее вменяемый продукт, но который тоже не лишен недостатков. Самый большой недостаток — это переодические сообщения «Slow internet connection» и «залипания» интерфейса, хотя и iPad и ноутбук находятся в сети 70 Мбит/с. К счастью происходит это не так часто и с этим можно жить. Сейчас годовая подписка стоит 649 руб / год.
PHPStorm, запущенный на ноутбуке
![](https://habrastorage.org/files/d3a/cce/455/d3acce455cf347809939d180ca605190.png)
Лаунчер приложений
![](https://habrastorage.org/files/482/b25/f45/482b25f4531343c19509658442efc13e.png)
Google Chrome с открытой консолью
![](https://habrastorage.org/files/af5/623/7bd/af56237bde9546e3ab51dfec70f10358.png)
В целом, можно сказать что это рабочий вариант, при условии что вы сидите на быстром интернет-канале. Из плюсов — полное рабочее окружение на iPad.
Заключение
iPad можно использовать для полноценной разработки. Я использую внешнюю клавиатуру, если есть возможность ее куда-то поставить и экранную клавиатуру если надо сделать что-то на бегу. Экранная клавиатура не увеличивает габариты устройства и позволяет использовать его на ходу, но закрывает половину и так маленького экрана. Кроме того — набор текста с большим количества спецсимволов, расположенных на разных «экранах» клавиатуры, делает ввод текста медленным. Внешняя клавиатура требует размещения, зато оставляет свободным экран и позволяет набирать со скоростью настольного компьютера.
![](https://habrastorage.org/files/a1a/ebe/dbd/a1aebedbd2a74dc7af86fe79108ffa87.png)
![](https://habrastorage.org/files/4e8/905/2c1/4e89052c19fa4ccc933b5648070b7c99.png)
Если вы разрабатываете только backend-приложение, не требующее тестирования в броузере — я бы рекомендовал связку SSH-клиент + VIM + tmux на сервере.
Если вы разрабатываете что-то на frontend и у вас достаточный интернет-канал — рекомендую связку Parallels Access + редактор + полноценный Google Chrome с консолью.
Нативные редакторы находятся в довольно зачаточном состоянии. До прихода серьезных игроков на этот рынок и шагов со стороны Apple по более продвинутому использованию внешней клавиатуры — это не более чем резервный вариант на случай если у вас нет интернета. Все редакторы заточены на работу с одним файлов, а не проектом целиком. Надеюсь, что с появлением iPad Pro ситуация улучшится и мы получим полноценные редакторы. Если совсем фантазировать — хотелось чтобы Apple разрешила подключать MagicPad и показывать курсор на экране, чтобы не приходилось постоянно «тыкать» в экран.