Мой опыт разработки с использованием андроид устройства

Как же люди любят упрощать сложное и усложнять простое, ну или как провести свои выходные без пользы.

Как все начиналось...

А начиналось все как обычно с разматывания губы на тему вот сейчас как перейду с ПК на планшет, да как все заиграет.

Раньше (недели две назад) я постоянно задумывался почему так мало слышно о разработке пусть даже front-end'a на мобильных устройствах (нет, не под мобильные, а именно с мобильных устройств).

И думал я, что может только у меня такая потребность возникла. Что только я мучаюсь с подготовкой к работе. Ведь, чтобы развернуть бурную рабочую деятельность, мне нужно сперва сварить кофе, уложить всех спать, выгнать кота. А с мобильным устройством все проще. И уж если куплю планшет, да его настрою, будет у меня и мобильность, и скорость, да и лёгкость в движениях появится=)

И вот «летящей походкой я вышел за ...», то есть за планшетом, и вернулся со средним, ну ладно, бюджетным «китайцем».

Решил, что рута я сбивать не буду, дефолтную систему сносить не буду, а то вдруг не просто так люди на ПК до сих пор работают.

Ах, этот дивный новый мир...

Признаться, за время работы на ПК я уже успел пристреляться. И имею представление, что сначала нужно настроить среду разработки, так сказать, разложить инструменты.

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

  • Войти в аккаунт (почта, браузер, GitHub)

  • настроить редактор кода

  • настроить хотя бы подобие IDE

  • опробовать

Как вы понимаете с первым пунктом ничего сложного, хотя и в этом случае пришлось немного потыкаться. Приложения GitHub предоставленные в плеймаркете(то что попалось мне из 5 установленных, в том числе и сам GitHub). Позволяют, максимум, посмотреть историю, комментарии (смотреть и отвечать), но создавать и изменять контент и запросы не могут. Так что нельзя назвать это полноценной заменой для андроида.

В итоге на первых порах, достаточно браузерной версии гит, вот только если хочешь добавить или изменить папку, то быстро сделать это не получится, нужно выгружать, менять и загружать папки обратно (создаёшь папку с файлом, прописывая путь, а затем все файлы в папку загружаешь через appload file). Как вы понимаете это не удобно если нужно перенести проект на GitHub через планшет.

С редакторами немного проще. Почти каждое третье справляется с элементарными нуждами, да ещё имеет возможность просмотра результата фронт-енда в браузере. Однако не все из них отображают сайт корректно (как и когда просто открытая через проводник страница не подгружает css и js файлы, а просто выводит голый скелет сайта) ещё меньше из них имеет возможность перейти по внутренней ссылке сайта, в случае многостраничного сайта.

В итоге из порядка 15 я нашел около 3 которые мне подходят. Однако в дальнейшем я решил использовать в качестве быстрого редактора Acode, хотя он больше похож на ide чем на простой редактор.

Двигаемся дальше. Что же мне нужно от IDE.

  • Снипеты

  • Подсветка синтаксиса

  • Подсветка ошибок

  • Наличие консоли при тестировании

  • Интеграция с GitHub

  • Удобство в использовании (в частности расположение вкладок и настройки)

  • Терминал для Nodejs

Теперь посмотрим, что я нашел:

  • AWD

Хоть в play market и написано, что это IDE для веб разработки, но работать на нем неудобно.

Полноценных снипетов нет (нет автоопределения, вставляется только тег без символов, нет автоопределения атрибутов тегов). Из удобных только автозакрытие тега (в случае написания «</» программа сама выбирает ближайший закрываемый тег)

Интеграция с git только за плату.

Консоль даже искать не стал после увиденного теста в браузере.

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

  • Acode

Снипеты с кратким описанием и опциями (с возможностью расширения)

Подсветка синтаксиса

Хоть и есть поиск ошибок, но он не работает на js, css, html. Поэтому думаю что эта опция не работает без дополнительной возни.

Консоль есть

Интеграция с git представлена достаточно удобно (легко регить легко коммитить при сохранении, но нельзя перемещать, добавлять файлы)

Есть интеграция с ftp

Все действия и визуализация контента удобны и понятны.

Терминала не обнаружил, но думаю это не проблема для работы во front-end разработке.

Отдельно хотел бы обговорить что из ограничений бесплатной версии только невозможность выбрать цвет темы (но не редактора(там около 10 вариантов разной подсветки)).

При всем при этом у этой программы открытый код,

  • Spck (editor и pro)

Снипеты есть, но реализованы чуть хуже (иногда работают криво).

Подсветка работает

В css и js есть проверка и подсветка линий с ошибками (по крайней мере в случае неожиданного знака).

Консоль имеется

В pro версии есть доступ к терминалу с nodejs, npm, gulp и т.д.

Интеграция с GitHub есть и представлена гораздо шире. Есть возможность добавлять и синхронизировать директории.

Больше возможностей для работы

Только хочу предупредить – чтобы завязать приложение с GitHub помимо токена нужно полностью заполнить паспорт (я сам вначале не полностью заполнил, смог достучаться до GitHub, даже смог вытянуть с GitHub файлы, но вот запушить их не смог (недостаточно разрешений аккаунта)). Потом было долгое копание в Гугле, но это не ОС ПК и в Гугле ты ничего не найдешь. В итоге просто удалил GitHub паспорт и соединился с другим репозиторием, провозился. И нашел эту маленькую неувязку(хотя казалось бы если неправильно подключился то и файлы не вытянуть, ан нет). А потом ещё одна ошибка ( not fast-forward), но тут было стандартное решение. Описал я это здесь для того чтобы было понятно, что чаще всего вы не сможете загуглить вопрос по ide на андроиде, но не всё так плохо.

Вернёмся к описанию. Так вот работа с GitHub реализована намного лучше. Это один из плюсов этого приложения из за которого мне оно нравится.

Оно не так удобно как Acode, но , думаю, это из-за того, что здесь больше возможностей и настроек.

Отдельно упомяну, что имеется полноценное управление проектами.

А вот режим тестового вида страницы хоть и реализован удобнее(можно налету отслеживать изменения) все же не обошёлся без бага (при смене ориентации макет нарушается), но при перезагрузке режима все встает на свои места.

В итоге пока работаю на Spck, а Acode использую при параллельном редактировании двух и более файлов.

Ещё упомяну, что есть ещё одно приложение необходимое для верстки.

Нужно найти себе нормальную виртуальную клавиатуру. Я остановился на hacker's keyboard.

Хотя мне больше удобна клава Гугла для набивки текста, но для работы удобнее иметь аналог физической клавиатуры с кнопками ctr, enter и т.д.. Ещё у нее есть панель быстрого доступа для символов. Однако не работает автозаполнение, но это не проблема если работаешь в ide.

Итого. Для написания кода - hacker keyboard, для теста gboard. С учётом того, что кнопка переключения между клавами работает прекрасно, то можно на этом и остановиться.

И вот теперь я настроил все инструменты и готов работать.

Но не тут то было...

В процессе настройки инструментов, тестирования приложений и остальной работы я понял, что это банально, неудобно (все же за столом, с чашкой кофе это удобнее, чем сидя на диване, с постоянно опущенной головой)

И если ты все ещё думаешь, что с телефоном можно долго просидеть в кресле и работать, то ты ошибаешься, ну, конечно, если у тебя не супер накаченная шея. Ведь через пару часов за планшетом она начинает затекать. А если работать по полной, то лучше рабочего места чем кровать тебе не найти, но, это до 30 лет, а после, если ты не двигаешься долгое время, то даже лёжа спина начинает ныть.

Так что стол и хорошее кресло это необходимость. А если всё и так происходит сидя за столом в кресле, то зачем тогда планшет.

К тому же я понял, почему на андроиде так сложно работать. Чувствуешь себя как-то не уверенно, и если у тебя проблема со средой разработки, то никто тебе не поможет, а самому лезть в это без знаний достаточно опасно.

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

Так что для полноценной работы все же нужно хорошее рабочее место с ПК.

А для «коротких забегов» можно использовать мой набор инструментов.

Например, если ты едешь на работу час или два в общественном транспорте, то это неплохой вариант. Но кого я обманываю. Работать по дороге на работу тяжко. Да и какая дорога на работу в пандемию. Хотя иногда может выручить.

З.Ы.

Как я и говорил выше я изначально не рассматривал варианта переделать планшет под чистый Linux, или качать что-то вне маркета (сторонние приложения) или подключать приложения с рут правами. Все это из-за боязни превратить его в простой кирпич. Так же не было желания пробовать платные приложения, да я скряга, но ещё не известно, что я в итоге получу в платной программе.

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

Реклама

Комментарии 16

    +1

    может, github codespaces/gitlab ide поможет?
    ну или https://gitpod.io/

      0
      Я уже думал расчет инструментов представленных на GitHub, и если понадобится что-то, чего нельзя найти в приложениях, описанных выше, то первое место, куда я отправлюсь искать функционал будет именно GitHub.
      Спасибо за ссылку, этого места ещё не посещал, обязательно попробую.
        0
        Попробовал gitpod, и для меня он не подходит. Он конечно крутой, в нем есть все, что нужно, но… Всё же не для моего планшета. Подтормаживает и не удобно по вкладкам лазить. Но если приноровиться, то думаю можно чисто оттуда всю работу делать. Так что на будущее оставлю в закладках. Спасибо.

        +3

        Дело тут не только в андроиде, но и в числе степеней свобод при работе. При потреблении контента (для чего планшеты и предназначены) или для простых ясных задач (вроде фотографирования) число свобод мало. Есть однозначные простые контролы, их мало, контекста мало, тыц-тыц — результат.


        А работа требует сложных процессов с большим числом свобод, сложным состоянием от которого зависит логика последующего, и тут планшеты (не ОС!) просто не подходят, потому что они маленькие, половина системы ввода (руки) заняты удержанием самого устройства, пространственная точность низкая (сравните скорость и уверенность печати на клавиатуре с таким же на планшете, особенно с учётом редактирования — поменять предыдущее слово, передвинуть абзац, переставить слова местами, дописать параграф над существующим). Получается "аварийное устройство" откуда можно работать, но с трудом.


        Делать его основным можно только обеспечив большую свободу и точность ввода (читай, клавиатура и мышь/трекпад) при свободных обоих руках и положении тела, которое не мешает. Привет, монитор и клавиатура (По моему мнению даже ноутбук проигрывает в эргономике полноценному комплекту HID/HOD). И стул/стол удобные для работы (даже кухонный не годится).


        В таких условиях что PC, что ноутбук — одно и то же.

          0
          К сожалению, пока не столкнулся, о значимости таких деталей не задумывался.
            0

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

          0

          Я много раз думал, но вот для моего кейса, тоже FE, всегда останавливает самый значимый факт: нет chrome dev tools. Может я плохо искал, но даже банальную разметку можно посмотреть только в корявом приложении.


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


          Причем код писать сам по себе не то чтобы большая проблема если заморочаться с локальным https://gitpod.io/ на компьютере (кодспейсы нельзя из-за нежелания компании показывать код гитхабу), а вот остальной обвес никуда не годится, разве что код ревью поделать с дивана. В Miro порисовать еще можно или добавить интерактив во время презентаций.

            0
            Да, действительно, dev tools не хватает.
            0

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

              0

              Согласен, планшет даже не всегда спасает при выполнении каких-то базовых рабочих задач

              0
              < На планшете видите ли неудобно. А на кнопочном телефоне не пробовали? /sarcasm>

              Как-то пару лет назад я хотел превратить свой телефон в рабочий инструмент админа, там все проще — есть и всякие клиенты ssh, и vpn в самом андроиде, и адаптированные веб-интерфейсы, и разномастные утилиты. Но идея себя не оправдала. Даже старый нетбук eeepc казался намного удобнее, чем телефон — причины выше перечислил amarao, повторяться не буду. Конечно, если находишься в поезде и под рукой только телефон и вот прямо надо, то и можно. Но в остальных случаях гораздо лучше добраться до рабочего места и сделать то же самое в разы быстрее.
                –1

                В целом автор прав, да, но все равно тут уже каждый сам выбирает кому что лучше

                  0

                  Для интеграции с Git на мобильных устройствах, можно использовать подобие терминала Linux — Termux. В Acode есть проверка синтаксических ошибок в js файлах только если js — код вынесен в отдельный файл.

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

                    Если сил нет как хочется планшет и обязательно, чтобы разрабатывать на нем, то есть маленькая армия Win-based планшетов. От товаров с алиэкспресса, до вполне себе интересных с качеством-уровня-макбука MS Surface, на взрослых ноутбучных i7, портами для подключения мониторов и прочими радостями.

                      0
                      Дома и на работе лучше работать за полноценным ПК/ноутбуком. Планшет нужен в редких случаях, когда приходится работать в другом месте, например на отдыхе.

                      К планшету нужно относится как «терминалу». Арендуем VPS, ставим туда IDE и подключаемся с планшета по VNC/RDP/AnyDesk и т.п. (или разворачиваем Code Server). К планшету естественно чехол с клавиатурой. Получается очень легкий «ноутбук» за которым можно полноценно работать.

                      Так же на планшет можно поставить linux (например через UserLAnd) и туда поставить VS code. В этом случае нужен достаточно мощный планшет.

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

                      Самое читаемое