Чи можна займатися розробкою на iPad, SavePearlHarbor

Ще одна копія хабора

Головне меню

Навігація за записами

Чи можна розробляти на iPad?

Програмування - процес творчий і часто бажання написати шматок коду або миттєво виправити помилку стає просто нестерпним. Іноді написання коду вимагають зовнішні обставини, як критична помилка в коді, яка валить проект. Для співробітників, які займають керівні позиції в команді, потрібна можливість провести code review (наприклад, на нудній нараді, яка не відноситься до їхньої виробничої діяльності і куди їх покликали для створення видимості важливості проблеми).

Добре коли в межах досяжності є стаціонарний комп'ютер або ноутбук, на якому розгорнуте звичне середовище розробки. Але що робити, якщо ви знаходитесь за межами робочого місця? Тягати з собою постійно ноутбук? Але по-перше великий 13-15 дюймовий ноутбук не скрізь розгорнеш (наприклад громадський транспорт), а по-друге тягати його постійно з собою — ще те заняття. Можна звичайно купити 11 дюймовий MacBook Air (наприклад на вторинному ринку де його ціна більш-менш адекватна) або його непідйомно дорогого 12-дюймового побратима, але все одно він буде не настільки компактний і не так часто використовуємо, щоб виправдати покупку.

займатися

Якщо вас зацікавила тема читаємо далі (обережно, велика кількість картинок).

Умовно, є три напрямки, за способом взаємодії з кодом:

Кожен із цих способів має свої переваги та недоліки, які ми розглянемо нижче.

Використання текстового терміналу

Як термінал можна або використовувати наворочений vSSH, в якому можна налаштувати взагалі все, або більш хіпстерський Prompt. У Prompt погано те, що має частину екранувіддана під різні допоміжні елементи, що зменшує робочу область, зате приємніша кольорова гама і різні «фішечки».

Prompt:

займатися

Налаштування vSSH

займатися

Налаштований VIM має автокомплит як за ключовими словами

розробкою

так і за проектом загалом (назви функцій у класах)

розробкою

а також навігація за проектом

розробкою

Prompt - 7.99 $ vSSH - 279 руб.

Нативні програми iOS

- SFTP - WebDAV - iCloud - Dropbox - вбудований web-сервер - синхронізація через iTunes - інтеграція через GitHub / Bitbucket - інтеграція з Amazon S3, DreamObjects

Почнемо з Coda (колишній DietCoda від компанії Panic)

Загальний вигляд

розробкою

для створення повного середовища розробки «все в одному» є можливість створити 4 типи вікна

займатися

Мається на увазі, що ви можете робити повний цикл розробки не виходячи з програми.

Вікно вбудованого терміналу

можна

Є автокомплит за словником, але немає за проектом загалом. Тобто, наприклад, у PHP після введення в класі конструкції $this-> нічого не з'явиться.

розробкою

Вбудований браузер. У правому верхньому куті піктограма дзвінка Playground. Ніякого аналога FireBug немає, так що налагоджувати JavaScript потрібно буде «в сліпу».

розробкою

Налаштування файлу

займатися

Спрощений аналог LiveTemplates

розробкою

Пошук

Загалом я сказав би що це маркетинговий продукт. Є багато wow-фішок на кшталт того ж Playground, які при розробці особливо не допомагають.

Коштує 599 рублів в українському AppStore.

Зверніть увагу на верхній ряд клавіш з кнопками, в яких посередині стоїть один символ і ще чотири по краях. Це геніальний винахід. Якщо ви користуєтесь iOS - ви знаєте, що длядоступу до символів $, _ і т.д. необхідно перемикатися в інший екран клавіатури. Це дуже ускладнює набір і уповільнює процес введення.

Як працює цей ряд спеціалізованих клавіш: ви тикаєте в кнопку - відбувається введення символу по центру. Якщо ви «тикаєте» в центр і зміщуєте палець у бік одного з країв кнопки, відбувається введення символу з відповідного кута. Повірте – це дуже зручно.

можна

Є автокомпліт за словником, але немає автокомпліту за проектом.

можна

Є навігація за функціями у класі

можна

Є пошук

розробкою

Також є інтеграція з програмою Working Copy (про неї нижче), яка дозволяє працювати з git-репозиторіями, а також із GitHub та Bitbucket.

Вибираєте як джерело Working Copy

займатися

Потім потрібний репозиторій та файл

розробкою

Після закінчення роботи файл можна буде закомітити за допомогою Working Copy у віддалений репозиторій.

Коштує 479 рублів в українському AppStore.

Working Copy

Додаємо репозиторій

розробкою

Вікно роботи з репозиторієм

можна

Перегляд файлу

розробкою

Вартість – безкоштовно, але для повноцінної роботи необхідно розблокувати функції.

розробкою

Вікно роботи з файлами

займатися

Є пошук як за словником

можна

так і за функціями у класі. Підкреслю, що пошук йде тільки по поточному файлу, а не по всьому проекту, що сильно звужує сфери застосування та корисність.

можна

Пошук

займатися

Існує спеціальний командний режим. Оскільки, як я говорив вище, нормальні гарячі клавіші в iOS не реалізовані (або погано реалізовані) — тут використовується наступний хак: при натисканні на кнопку CMD з'являється вікно введення, куди можна ввести поєднання клавіш, що реалізують те чи іншедія. Самі поєднання дуже нагадують поєднання клавіш із VIM.

можна

У вбудованому броузері можна підключити FireBug Lite.

Коштує 349 рублів в українському AppStore.

Використання віддаленого доступу до стаціонарного комп'ютера/ноутбука.

Я пробував TeamViewer і якийсь із VNC клієнтів із прокидом VPN у домашню мережу. Загалом мені здалося, що вони не надто враховують реалі того, що робота йде під iPad і, як наслідок, зручність роботи залишає бажати кращого.

PHPStorm, запущений на ноутбуці

можна

Лаунчер додатків

займатися

Google Chrome з відкритою консоллю

можна

В цілому, можна сказати, що це робочий варіант, за умови, що ви сидите на швидкому інтернет-каналі. З плюсів – повне робоче оточення на iPad.

Висновок

iPad можна використовувати для повноцінної розробки. Я використовую зовнішню клавіатуру, якщо є можливість її кудись поставити і екранну клавіатуру, якщо треба зробити щось на бігу. Екранна клавіатура не збільшує габарити пристрою і дозволяє використовувати його на ходу, але закриває половину маленького екрану. Крім того, набір тексту з великою кількістю спецсимволів, розташованих на різних екранах клавіатури, робить введення тексту повільним. Зовнішня клавіатура вимагає розміщення, проте залишає вільним екран і дозволяє набирати зі швидкістю настільного комп'ютера.

розробкою
займатися

Якщо ви розробляєте тільки backend-додаток, який не вимагає тестування в броузері, я б рекомендував зв'язку SSH-клієнт + VIM + tmux на сервері.