AWS Nomads № 5: Теперь можно создавать сложные веб-сайты и приложения с вашего IPad.

Впервые у меня была мечта использовать планшет в качестве основного компьютера где-то в 2002 году, когда начали появляться некоторые из первых ноутбуков с сенсорными экранами, открывающимися на 360 °. Но они были дорогими, громоздкими, на базе Windows; ни хороших ноутбуков, ни хороших планшетов. И с тех пор так и было.

Последние пять или шесть лет я использовал свой IPad для множества творческих и административных задач, но до сих пор не было возможности (а тем более привлекательно) использовать его для разработки программного обеспечения.

Решение в этом эссе посвящено сетевым решениям на основе браузера. Есть несколько попыток разработки вне сети и встроенных IDE для iPad, но в той сфере, которую я выполняю, эти решения по-прежнему неудобны и уступают описываемой мной облачной разработке.

Экосистема AWS делает это не только возможным, но даже желательным.

Но сначала…

ПочемуПад?

Когда вы путешествуете - легкий, меньший вес, меньший объем и меньшее количество устройств - все это обеспечивает большую гибкость. Следующие сценарии случаются со мной регулярно, и, возможно, один из них находит отклик у вас.

  1. По некоторым параметрам iPad лучше ноутбука, поэтому мне нужно взять его с собой, и я бы не стал брать с собой и то, и другое.
  2. Я много работаю на публике, и почему-то iPad кажется менее неприятным, чем ноутбук.
  3. Я использую iPad для некоторых задач так регулярно, что, когда я возвращаюсь к ноутбуку, интерфейс путает мою голову. Сколько раз мне нужно тыкать в экран, прежде чем я вспомню, что он не работает?

Вот уже несколько лет я большую часть времени просматриваю веб-страницы, читаю и развлекаюсь на моем IPad. Я пишу на своем iPad (но не статьи на Medium, приложение Medium - полная чушь для iOS. Ты меня слышишь, Medium ???) Когда дело доходит до цифрового искусства, iPad плюс карандаш непревзойден. Другие вещи, такие как разработка программного обеспечения и подкастинг, на IPad не работали.

Для некоторых категорий разработки программного обеспечения это меняется, но есть одно очень важное исключение: разработка мобильных приложений. IPad нельзя использовать для создания приложений для iPad или iPhone. (Я не исследовал Android, но мои ожидания отрицательные.)

Однако для веб-сайтов и динамических веб-приложений - да. А также для серверных компонентов мобильного приложения.

А вот как.

IDE: Cloud9

Если вы, как и большинство разработчиков, очень разборчивы в своих инструментах, возможно, вам понравится Cloud9, а может и нет. Каким бы ни был ваш нынешний фаворит, Cloud9, скорее всего, немного проиграет. Но это не дрянной гражданин второго сорта. Для приложения на основе браузера оно очень плавное, отзывчивое и сложное. Более того, при работе со средой AWS она имеет элегантную интеграцию для написания кода, для которого другие консольные интерфейсы AWS не обеспечивают большого опыта, например, для создания лямбда-выражений.

Он также имеет отлично функциональную оболочку bash, поэтому, если вы парень vim или emacs, вы потенциально можете полностью пропустить Cloud9 и просто использовать терминал.

Ниже приведены несколько скриншотов.

Конфигурация по умолчанию:

Вот темная тема:

Вы не ограничены нижней полосой для терминала:

Это больше, чем простой редактор кода / IDE, даже если он не так радует вас, как Sublime, Atom, IntelliJ, Eclipse, RubyMine и т. Д. И т. Д. И т. Д. Однако интеграции с AWS довольно приятны.

Коробка разработчика: EC2

Cloud9 не редактирует код на вашем iPad. Он редактирует код в экземпляре EC2 Linux.

Хорошо: весь ваш код находится в облаке. Бросьте свой iPad в бассейн, и вы потеряете ровно 1 планшет. Нет кода.

Плохо: в варианте по умолчанию (и наименее затратном) этот экземпляр EC2 сворачивается и убирается, когда он не используется. Это означает, что ваша первая зарядка утром займет минуту или две. Это также означает, что плохое сетевое соединение приводит к еще большему разочарованию. Это также означает, что отсутствие сетевого подключения означает отсутствие опыта разработки.

Инструменты разработчика в браузере

Одна удивительная проблема заключается в том, что стандартные браузеры для iPad не предоставляют функциональные возможности инструментов разработчика:

Safari предлагает безумную и глупую интеграцию, требующую использования портативного компьютера для доступа к инструментам отладки для подключенного iPad. Технически мы можем поместить это в столбец «Возможные», но это неприемлемый опыт разработки. Можно просто использовать ноутбук. Утверждается, что такой же подход работает для Firefox.

Chrome предоставляет вам ограниченный доступ к журналам JavaScript (для всех вкладок), добавляя вкладку с chrome://inspect в качестве URL-адреса. Это не помогает при осмотре dom.

Однако есть еще один вариант браузера: Проверить. 6,99 долларов в App Store. Это дает вам все ожидаемые в браузере инструменты разработчика: проверка DOM, модификация CSS, консоль JavaScript, наблюдение за сетевым трафиком. Если вы собираетесь заниматься какой-либо веб-разработкой на iPad, эти деньги потрачены не зря… по крайней мере, до тех пор, пока остальные браузеры не догонят. (И почему они этого не сделали - для меня острая загадка.)

F.A.Q.

1. Что делать, если я не использую / не хочу использовать AWS?

Очевидно, что это решение очень привязано к разработке AWS. Для некоторых других видов веб-разработки браузер Inspect по-прежнему будет полезным вложением. Некоторые виды веб-разработки не требуют строгой среды разработки программного обеспечения: например, wordpress. Вы можете с легкостью редактировать изображения на своем iPad, получить доступ к файловой системе iPad для загрузки изображений и файлов и т. Д., А также настроить свой CSS с помощью Inspect.

2 - Есть ли лучшее терминальное приложение, чем терминал Cloud9?

Возможно, вы используете подход, отличный от моего подхода к экосистеме AWS, или, может быть, вам просто нужен терминал получше. Честно говоря, я очень впечатлен терминалом Cloud9 и в настоящее время использую его для SSH с моего экземпляра EC2 на любые другие хосты, которыми я могу управлять.

Тем не менее, некоторые люди в восторге от Blink - за исключением того, что он стоит 19,99 доллара! Я одобряю платить разработчикам за их тяжелую работу, но это немного круто, учитывая, что Термиус отлично справляется со своей работой. Существует множество вариантов, поэтому не стесняйтесь комментировать здесь, если есть другие, которые вам больше нравятся.

3 - Что делать, если я не могу работать по сети?

У вас плохой сигнал Wi-Fi в пляжном баре в Белизе? Вы подключены через ненадежное интернет-кафе в Андах? Сеть у вас просто не работает? Cloud9 - это не ответ.

Есть еще одна модель, которую следует рассмотреть.

Существует множество редакторов кода, которые получают достойные оценки и работают с локальными файлами, которые вы можете скопировать на S3, на удаленный сервер или на github:

  • Редактор кода Кодера (бесплатно)
  • Kodex (бесплатно)
  • Редактор кода Textastic (9,99 $)
  • GoCoEdit (8,99 долларов США)

И одно из развивающихся достижений - это Python для iPad. Я сам не разбирался в этом, но очевидно, что можно запустить и протестировать свой код Python на iPad и разработать с помощью очень рекомендуемого приложения Pythonista.

Конечно ... если вы разрабатываете локально, вам нужно будет найти метод, который не сводил бы вас с ума из-за синхронизации вашего кода, где бы он ни был.