Я трудоголик.

Я не говорю это легкомысленно. Мне невероятно тяжело и тяжело сделать перерыв в разработке моего приложения, особенно когда так много дел.

Поэтому, когда я узнал о 10-дневной поездке в Европу с моими родителями и девушкой, я очень нервничал из-за того, что жертвовал своим драгоценным рабочим временем.

Это должно было быть моей первой реакцией на каникулы в Европе? Наверное, нет.

Но я решил для себя, что я все еще могу выполнить некоторую работу всякий раз, когда будет свободный момент или после того, как все засыпают, так что я все равно смогу добиться некоторого прогресса. Это был беспроигрышный вариант! Я все еще мог присутствовать и наслаждаться нашими прогулками по Италии и Франции, и я все еще мог кое-что сделать.

Но возникла новая сложность.

Утром перед вылетом я обнаружил, что не смогу взять с собой ноутбук. Теперь у нас проблема.

Я знал, что мне нужно адаптироваться.

И вы, наверное, догадались, что я решил попробовать, исходя из названия.

Правильно, единственный способ, которым я мог бы работать над любым кодом, - это найти относительно эффективный способ кодирования на моем iPhone.

Вот как я это сделал.

Выполнение настройки

Несколько поисковых запросов в Google и App Store смешались с небольшим количеством проб и ошибок позже, и мне удалось собрать все свои настройки буквально за несколько часов до полета!

Первым и самым важным приложением, которое мне было нужно, был клиент Github, который позволял мне делать следующие вещи:

  1. Доступ к частному репозиторию Github моего приложения.
  2. Добавляйте и редактируйте любые текстовые файлы на нем.
  3. Вытягивайте, толкайте и фиксируйте любые изменения, которые я в него вношу.

Я нашел множество приложений, которые позволяли вам просматривать ваши проекты, но лишь некоторые из них поддерживали редактирование. Поэкспериментировав с несколькими вариантами, я решил использовать рабочую копию.

Он отвечал всем моим требованиям, имел привлекательный интерфейс, имел 157 оценок со средней оценкой 4,8 звезды, и я даже мог попробовать его бесплатно! Мне так понравилось, что я почувствовал, что стоит заплатить за профессиональные функции.

И чтобы все стало лучше, разработчик по-прежнему очень активен и регулярно выпускает обновления!

Спасибо за фантастический мобильный клиент Github, Андерс Борум. Вы заслужили золотую медаль!

Ссылка на магазин приложений: https://itunes.apple.com/us/app/working-copy/id896694807?mt=8

Единственной отсутствующей частью моей мобильной настройки была настраиваемая клавиатура, чтобы набирать код как можно быстрее.

Физические клавиатуры для смартфонов отсутствовали, потому что у нас не было времени остановиться и купить ее, поэтому единственным вариантом было загрузить пользовательскую клавиатуру iOS.

Хотя я часто скачиваю и пробую новые интересные приложения, я не изучал много настраиваемых клавиатур. Я никогда не чувствовал необходимости выходить за рамки GBoard от Google (который является лучшим).

Я опробовал несколько клавиатур для разработчиков и решил, что CodeKey Pro подходит для этой работы.

Для меня это было самое приятное ощущение с минимальным количеством случайных нажатий на клавиатуру. Он также предоставляет настраиваемые ярлыки в зависимости от выбранного вами языка. В моем случае я использовал Javascript, поскольку мое приложение построено на React Native.

Спасибо за вишенку на моей настройке мобильной разработки, Абхинав Димри!

Ссылка в App Store: https://itunes.apple.com/us/app/codekey-pro-custom-keyboard-designed-for-programmers/id1054647516?mt=8

И бум, я был готов писать код на ходу!

Бонусный совет: хотя и не обязателен, но во время поездки вам часто приходилось приносить с собой внешний аккумулятор.

Но Армин! Как вы тестировали свой код? »

Я этого не сделал. Это далеко не лучшая практика, но я был в ситуации, когда все, что я мог сделать, это написать свой код, тщательно проверить опечатки и позаботиться об отладке, когда я вернусь.

Возможно, есть способ запустить приложение с помощью мобильного приложения Expo (я не использую Expo, поэтому не знаю), но моя среда React Native настроена с помощью Xcode и Android Studio. Так что у меня не было времени на переход на Expo.

ОБНОВЛЕНИЕ (22.03.18): Андрес Борум недавно добавил функцию SSH в рабочую копию, что позволяет запускать приложение на вашем компьютере удаленно. Так что теперь можно тестировать на ходу!

К счастью (и удивительно), когда я вернулся, было всего несколько ошибок компиляции, которые было относительно легко исправить!

Так как же вы использовали эту установку исключительно в течение 10 дней?

Плюсы

  1. Легкий. С моей средой разработки гораздо легче ходить, чем носить сумку для ноутбука на плече. Также было намного легче бежать, когда мы чуть не опоздали на поезд.
  2. Coding Anywhere. Мне было легко выполнять некоторую работу в тех местах, где я никогда не смог бы вытащить свой ноутбук. Особенно во время наших долгих поездок на Uber и ожидания в очередях.
  3. Отдых для пальцев. Я думаю, что растяжение пальцев - это то, к чему могут относиться многие разработчики. Во время длительных сеансов программирования у меня часто болят пальцы, и я делал много упражнений для рук, чтобы избежать ужасного запястного канала. Что было хорошо в программировании исключительно на моем телефоне, так это то, что мне нужно было печатать только большими пальцами, что дало остальным моим пальцам очень приятный отдых.
  4. Жесты. Идея использования цифровой клавиатуры поначалу не привлекала, но CodeKey Pro предоставил множество полезных жестов для сенсорного экрана, которые после небольшого обучения сделали кодирование почти таким же быстрым, как с клавиатурой моего MacBook. .

Минусы

  1. Крошечный текст. Просмотр файла javascript с строками кода на крошечном дисплее смартфона - это не то, что я бы назвал приятным для глаз. Со временем я к этому привык, но не скучаю.
  2. Опечатки. Да, легко нажать не ту клавишу, если вы физически не чувствуете клавиатуру. Если вы набираете много кода на смартфоне, вы неизбежно оставите несколько опечаток, сколько бы вы ни перепроверили.
  3. Другие ограничения. Были времена, когда мне приходилось откладывать работу над некоторыми частями моего приложения, потому что они включали установку нового пакета npm или тестирование определенной библиотеки. Вместо этого у меня было много других дел, но я не мог просто работать над всем, что хотел.

Заключительные мысли

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

Благодаря этой системе я смог выполнить большую часть работы, а не совсем ничего, и я благодарен за это. И мне еще нужен настоящий отпуск! Мне не нужно было выделять дополнительное время на работу или жертвовать своим сном, потому что я мог заполнить существующее время простоя продуктивностью.

Я могу представить, как вернусь к этой настройке смартфона, если меня поразит вдохновение или я захочу что-то быстро реализовать во время прогулки между классами в кампусе, езды в метро или даже сидя в туалете.

Я считаю, что следует ценить тот факт, что мы живем в то время, когда разработчик может выполнять большую часть своей работы со своего смартфона. Приятно думать о том, как в ближайшем будущем разработчики будут создавать еще более удобные возможности разработки на ходу, которые будут более интуитивно понятными и, возможно, даже способны компилировать, запускать и отлаживать!

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