Можно ли программировать на планшете
Если вы хотите попробовать и изучить новый навык в свободное время, вы можете подумать об обучении программированию. Кодирование — не самый сложный навык для освоения, и вы действительно можете сделать карьеру на этом. Практически все, что вам нужно для изучения программирования, доступно в Интернете бесплатно. Благодаря программированию мобильных приложений вам даже не нужно часами сидеть перед экраном компьютера.
В Google Play Store есть множество приложений для написания кода для вашего Android смартфона. В разных приложениях используются разные стили обучения, и все они могут вам не понравиться. Чтобы упростить вашу задачу, мы использовали несколько приложений для программирования и составили список из 10 лучших приложений для программирования для Android.
Просмотрите статью ниже, чтобы получить подробную информацию о каждом приложении, включая описание, требования к версии Android, стоимость покупок в приложении, а также скриншоты или промо-видео, и ссылку для загрузки в Google Play Store.
Зачем нужен планшет для программирования?
На самом деле программировать при помощи персонального компьютера или ноутбука действительно намного проще. Даже на нетбуках программист испытывает некоторое затруднение, связанные с меньшими размерами клавиш. Правда, ко всему можно привыкнуть, даже к сенсорной клавиатуре.
Зачем нужен планшет? Чаще всего специалисты покупают себе планшет для программирования, если часто находятся вне своего постоянного рабочего места или, например, если приходится много ездить. В транспорте просто открыть свой ноутбук иногда весьма затруднительно. Причин может быть много. Таким образом планшет превосходит своих конкурентов по мобильности и комфорту.
Ещё одну галочку в пользу планшетов можно поставить, если рассмотреть планшет для системного администратора. Все знают, что рабочий инструмент должен находится всегда под рукой. Это намного упрощает рабочий процесс любого системотехника. Важно, на крайний случай, хотя бы иметь к нему доступ. А если взять большую организацию с несколькими корпусами, в каждом из которых у юзеров что-то не получается? Имея под рукой планшет, можно намного упростить себе жизнь. Настроить доступы, дать права, поставить удалённый менеджер на свой основной компьютер и всё!
ScratchJr
- Цена: Бесплатно.
- Покупки в приложении: Нет.
- Версия Android: зависит от устройства.
ScratchJr — это среда визуального программирования с перетаскиванием, предназначенная для ознакомления детей с навыками программирования. Есть персонажи и фоны, а также своеобразный программный сценарий в виде блокируемых блоков. Эти блоки заставляют персонажей выполнять определенные действия — двигаться, прыгать, танцевать, исчезать/появляться снова и т. д. Дети могут настраивать цвета, добавлять звуки и создавать анимированные истории.
Хотя интерфейс разработан для детей, блоки программирования объясняются только в текстовых инструкциях. Таким образом, это приложение требует много практики вначале. Однако, как только ваши дети получат массу удовольствия от этого, возможности безграничны, а приложение очень хорошо структурировано, чтобы ваши дети были заняты программированием часами.
- Цена: Бесплатно.
- Покупки в приложении: Да.
- Версия: Android: 4.4+.
Enki — еще одно популярное и успешное приложение для программирования для вашего Android смартфона. Приложение предлагает более 1500 уроков по более чем двум десяткам тем, включая Python, SQL, JavaScript, Blockchain, CSS, HTML, электронные таблицы, Webflow и многое другое.
Каждая тема имеет структурированный учебный план. Вы можете ставить ежедневные цели и следить за своим прогрессом. Приложение предлагает краткое изложение основной концепции каждого урока. Есть также интерактивные викторины, чтобы проверить свои знания. Как и приложение для тренировок, Enki предлагает упражнения каждый день, поэтому вы всегда на пути к достижению своих целей.
Наиболее популярные модели для программирования
Ниже представлен перечень планшетов, которые наилучшим образом зарекомендовали себя среди программистов.
Можно ли программировать на планшете?
Можно ли программировать на планшете? Конечно, да! Но гаджет должен подходить для таких целей. Всё зависит от базы, которую использует специалист. Так, для обычной вёрстки нужен, как минимум, локальный сервер, для запуска которого подойдут Windows 7-8 и Linux, но не iOS, естественно. Есть великие умы, которые делают из любого планшета для себя рабочий инструмент, но в данном случае будем говорить о готовых решениях. Если брать что-то выше вёрстки, то иногда хватит обычного Android-планшетника, но во многих случаях потребуется полнофункциональное устройство, работающее на уровне полноценного ПК. Давайте добавим сюда ещё и дизайн. Потребуется, как минимум Photoshop + некоторые инструменты, работающие только на Windows. Не нужно думать, что планшет обязательно должен быть на этой операционной системе; просто, если говорить про универсальное программирование на планшете, то на базе платформы Microsoft осуществить это пока лучше всего.
Grasshopper
- Цена: Бесплатно.
- Покупки в приложении: Нет.
- Версия: Android: 5.0+.
Grasshopper — это приложение для программирования для начинающих, разработанное Google. Приложение полностью бесплатное в использовании и достойно знакомит вас с миром программирования. Он не углубляется в этот мир, но профессионально обучает основам, таким как функции, переменные и методы.
Вам нужно решить головоломки на JavaScript, чтобы перейти в следующий уровень, который сложнее предыдущего. Вы получаете обратную связь в режиме реального времени, которая укажет вам на ошибки. Все это делает Grasshopper идеальным приложением для программирования для школьников.
Процесс или как быть с клавиатурой
Да, если человек пишет очень много кода, а не просто поправляет его или производит настройки, то клавиатура важна. И будет не сильно приятно носить с собой планшет для мобильности и клавиатуру для удобства. Здесь нужна альтернатива. И она есть. Это планшеты-трансформеры и гибриды нетбука/планшета. В последних дисплей не отсоединяется, а (в большинстве случаев) просто перекручивается на 360 градусов, образуя подобие планшета.
Acer Iconia W510-27602G06ASS
10-дюймовый трансформер на Windows 8, оснащённый процессором Intel Atom Z2760 (1.8 ГГц) и 2Gb оперативной памяти. Местом для основного хранилища служит SSD на 64 Gb. Есть Wi-Fi, Bluetooth и кардридер, поддерживающий карты до 64 GB.
Но не тут то было.
В процессе настройки инструментов, тестирования приложений и остальной работы я понял, что это банально, неудобно (все же за столом, с чашкой кофе это удобнее, чем сидя на диване, с постоянно опущенной головой)
И если ты все ещё думаешь, что с телефоном можно долго просидеть в кресле и работать, то ты ошибаешься, ну, конечно, если у тебя не супер накаченная шея. Ведь через пару часов за планшетом она начинает затекать. А если работать по полной, то лучше рабочего места чем кровать тебе не найти, но, это до 30 лет, а после, если ты не двигаешься долгое время, то даже лёжа спина начинает ныть.
Так что стол и хорошее кресло это необходимость. А если всё и так происходит сидя за столом в кресле, то зачем тогда планшет.
К тому же я понял, почему на андроиде так сложно работать. Чувствуешь себя как-то не уверенно, и если у тебя проблема со средой разработки, то никто тебе не поможет, а самому лезть в это без знаний достаточно опасно.
Вроде все просто, но не почувствовав все на себе я, честно сказать, и не задумывался о таких нюансах.
Так что для полноценной работы все же нужно хорошее рабочее место с ПК.
А для «коротких забегов» можно использовать мой набор инструментов.
Например, если ты едешь на работу час или два в общественном транспорте, то это неплохой вариант. Но кого я обманываю. Работать по дороге на работу тяжко. Да и какая дорога на работу в пандемию. Хотя иногда может выручить.
Как я и говорил выше я изначально не рассматривал варианта переделать планшет под чистый Linux, или качать что-то вне маркета (сторонние приложения) или подключать приложения с рут правами. Все это из-за боязни превратить его в простой кирпич. Так же не было желания пробовать платные приложения, да я скряга, но ещё не известно, что я в итоге получу в платной программе.
Ввиду такого выбора я намеренно ограничил себя отдавая предпочтение безопасности прошивки. Но если кто-то подскажет мне хороший билд, то я не прочь что-то попробовать.
Хорошо когда в пределах досягаемости есть стационарный компьютер или ноутбук на котором развернута привычная среда разработки. Но что делать если вы находитесь за пределами рабочего места? Таскать с собой постоянно ноутбук? Но во первых большой 13-15 дюймовый ноутбук не везде развернешь (например общественный транспорт), а во вторых таскать его постоянно с собой — еще то занятие. Можно конечно купить 11 дюймовый MacBook Air (или его аналог), но все равно он будет не настолько компактен и не так часто используем, чтобы оправдать покупку.
Чтож, обратим свой взор на устройства, которые сейчас практически всегда с нами — это телефон и планшет. Телефон — это конечно вариант экстремальный, хотя сейчас, с появлением 6 — 6,5 дюймовых моделей, грань между телефоном и планшетом стирается. У меня есть опыт успешного восстановления удаленного сервера по ssh с телефона iPhone 4s с 3.5 дюймовым экраном. Но мы все таки говорим о процессе полноценной работы с кодом, поэтому, на мой взгляд, минимальным является планшет с диагональю от 7 дюймов, экран которого вмещает сопоставимое с экраном большого компьютера, информации. Я покажу на примере iPad Mini возможные варианты его использования для решения повседневных задач разработчика.
Если вас заинтересовала тема — читаем дальше (осторожно, большое количество картинок).
Условно, есть три направления, по способу взаимодействия с кодом:
— использование текстового терминала, удаленного 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:
Настройки vSSH
У настроенного VIM есть автокомплит как по ключевым словам
так и по проекту в целом (названия функций в классах)
а также навигация по проекту
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)
Общий вид
для создания полной среды разработки «все в одном» — есть возможность создать 4 типа окна
Document — любой файл с кодом (PHP, Python, JavaScript)
Preview — встроенный броузер с возможностью вызова playground c привязкой к странице
Terminal — окно терминала — это полноценный Prompt 2, интегрированный в редактор.
Playground — некое подобие среды тестирования для JavaScript. Из ближайших аналогов — это упрощенный JsFiddle. Зачем он ужен — честно говоря так и не понял.
Подразумевается что вы можете делать полный цикл разработки не выходя из приложения.
Окно встроенного терминала
Есть автокомплит по словарю, но нет по проекту в целом. То есть например в PHP после ввода в классе конструкции $this-> ничего не появится.
Встроенный броузер. В правом верхнем углу иконка вызова Playground.
Никакого аналога FireBug нет, так что отлаживать javascript нужно будет «в слепую».
Настройки конкретного файла
Упрощенный аналог LiveTemplates
Поиск
В целом я бы сказал что это маркетинговый продукт. Есть много wow-фишек вроде того же Playground, которые при разработке особо не помогают.
Стоит 599 рублей в российском AppStore.
Codemurai
- Цена: Бесплатно.
- Покупки в приложении: Да.
- Версия: Android: 5.0+.
Codemurai может похвастаться огромной библиотекой, содержащей более 100 уроков и упражнений по программированию, мобильных приложениях (iOS и Android) и разработке игр. Уроки кодирования созданы отраслевыми экспертами и очень увлекательны. Вы можете повышать уровень и зарабатывать монеты, опыт и значки, выполняя уроки и задания.
Как же люди любят упрощать сложное и усложнять простое, ну или как провести свои выходные без пользы.
Топ 10 лучших приложений для программирования на Android
Ниже приводится немного дополнительной информации о каждом приложении, предложение для типа пользователя, которому приложение лучше всего подходит, и прямая ссылка для быстрой загрузки.
Programming Hub
- Цена: Бесплатно.
- Покупки в приложении: Да.
- Версия Android: зависит от устройства.
Programming Hub может похвастаться коллекцией из более чем 5000 программ или примеров кода на более чем 20 языках программирования, а также мобильным компилятором, который, по его словам, является самым быстрым в мире. Таким образом, он, по сути, объединяет все ваши потребности в программировании в один пакет, что делает его одним из лучших приложений для программирования для Android.
Цена: Бесплатно.
Покупки в приложении: Да.
Версия: Android: 5.0+.
Mimo позволяет вам выбрать темп, с которым вы хотите научиться программировать, или, другими словами, позволяет вам решить, сколько времени вы хотите посвящать кодированию каждый день. В зависимости от ваших предпочтений и интересов приложение предложит вам индивидуальный трек для достижения ваших целей.
Помимо изучения основ JavaScript, HTML, CSS, Python, SQL и других популярных языков программирования, вы также можете работать над некоторыми реальными проектами, такими как создание веб-сайтов и приложений. Это позволит вам на практике применить свои знания в области программирования.
Также существуют различные типы упражнений, в том числе «определить ошибки» и «расположить элементы сценария в правильном порядке». Mimo также следует игровому подходу с сериями и наградами, чтобы побудить вас к программированию.
SoloLearn
- Цена: Бесплатно.
- Покупки в приложении: Да.
- Версия Android: зависит от устройства.
Сообщество дружелюбных программистов готово предоставить вам всю необходимую поддержку, чтобы вы почувствовали себя как дома. Вы можете писать и запускать настоящий код в мобильном редакторе кода приложения. Также существуют различные задания для проверки своих знаний. Вы должны получить проходной балл, чтобы перейти к следующей главе урока кодирования.
Textastic
Редактор Textastic. Серьезный редактор, в котором хорошо продуман процесс разработки.
Общий вид редактора.
Обратите внимание на верхний ряд клавиш с кнопками, в которых по середине стоит один символ и еще 4 по краям. Это гениальное изобретение. Если вы пользуетесь iOS — вы знаете, что для доступа к символам $, _ и т.д. необходимо переключаться в другой «экран» клавиатуры. Это очень сильно осложняет набор и замедляет процесс ввода.
Как работают этот ряд специализированных клавиш: вы «тыкаете» в кнопку — происходит ввод символа по центру. Если вы «тыкаете» в центр и смещаете палец в сторону одного из краев кнопки — происходит ввод символа из соответствующего угла. Поверьте — это очень удобно.
Можно настроить вид редактора в широких пределах
Есть автокомплит по словарю, но нет автокомплита по проекту.
Есть навигация по функциям в классе
Есть поиск
Также есть интеграция с программой Working Copy (о ней ниже), которая позволяет работать с git-репозиториями, а также с GitHub и Bitbucket.
Выбираете в качестве источника Working Copy
Затем нужный репозиторий и файл
После окончания работы файл можно будет закомитить с помощью Working Copy в удаленный репозиторий.
Стоит 479 рублей в российском AppStore.
Codecademy Go
- Цена: Бесплатно.
- Покупки в приложении: Нет.
- Версия: Android: 5.0+.
Codecademy Go — это версия веб-курсов Codecademy по программированию для мобильных устройств. Он помогает вам практиковаться в программировании на ходу и пересматривает то, что вы узнали в Интернете, в любом месте и в любое время. Он также предлагает базовые уроки по широкому спектру языков программирования, включая HTML, CSS, JavaScript, Python, SQL и другие.
Существуют карточки, которые можно пролистать, чтобы быстро вспомнить концепцию. Codecademy Go еще не предлагает тот же набор функций, что и веб-версия. Тем не менее, это отличное приложение, которое можно установить на свой смартфон Android, чтобы вы могли практиковаться в программировании, находясь вдали от компьютера.
Working Copy
Программа Working Copy не является редактором в классическом смысле. Это скорее полноценный клиент по работе с git-репозиториями. Аналоги:iOctocat, Git2Go
Все эти приложения позволяют подключать как самостоятельные git-репозитории, так и интегрироваться с GitHub и BitBucket. Поддерживают ветки, просмотр коммитов, diff-ов и т.д. Как правило все эти программы имеют бесплатную функциональность на работу с репозиториями в режиме просмотра. Если вы хотите комитить свои изменения — придется выложить от 7 до 10 долларов.
Добавляем репозиторий
Окно работы с репозиторием
Просмотр файла
Как я писал выше — есть полноценная интеграция с редактором Textastic.
Стоимость — бесплатно, но для полноценной работы необходимо разблокировать функции.
Tablet PC Lenovo ThinkPad X201 Tablet
Модель интересна в первую очередь 12-дюймовым дисплеем, на котором доступен перьевой ввод. Разрешение экрана составляет 1280 на 800pxl. А внутри аппарата всё ещё серьёзней. Все процессы возложены на Intel Core i7-620M (2,66 GHz) и 3 Gb оперативной памяти. Не сэкономили разработчики и на мобильном харде, установив 500 Gb. За графику отвечает Intel GMA HD, также есть слот расширения Express Card для других устройств. Платформа - Windows 7 Professional. На устройстве есть 3 USB порта, VGA, Ethernet и кардридер. Для коммуникаций предусмотрены только Wi-Fi и Bluetooth.
Tablet PC Acer Aspire 1825PTZ-412G32n
Немного попроще модель с процессором Intel Pentium SU4100 (1,3 GHz) и двумя гигабайтами оперативки. 1366 на 768 px уложили на 11,6-дюймовый дисплей. Платформа - Windows 7 Home Premium. За графику отвечает Intel GMA X4500, жёсткий диск на 320 гигов. Из основных портов имеются 3 USB и HDMI. Есть кардридер и Ethernet. Из коммуникации есть только WI-Fi и Bluetooth.
Programming Hero
Цена: Бесплатно.
Покупки в приложении: Да.
Версия Android: 4.1+.
Programming Hero делает программирование увлекательным и приятным благодаря аккуратно разработанным урокам. В нем есть мини-игры, в которых используется простой и понятный язык, что делает задачи кодирования интересными. Вы можете быстро применить только что изученные концепции программирования и создать свою собственную игру, одновременно обучаясь программированию.
Вы можете практиковаться в программировании на языках Python, HTML, CSS и JavaScript в любое время и в любом месте. Есть более 100 задач кодирования с решениями и объяснениями. А если у вас есть сомнения, вы можете мгновенно получить ответы на свои вопросы от экспертов. Programming Hero также имеет форум сообщества, где вы можете общаться с другими пользователями и обмениваться знаниями.
Ах, этот дивный новый мир.
Признаться, за время работы на ПК я уже успел пристреляться. И имею представление, что сначала нужно настроить среду разработки, так сказать, разложить инструменты.
Поэтому первое, что я сделал – удалил все лишнее и полазили по настройкам, чтобы ничего не раздражало (это подробно думаю описывать не стоит, каждый сам под себя точит все свои инструменты). Далее по списку:
Войти в аккаунт (почта, браузер, GitHub)
настроить редактор кода
настроить хотя бы подобие IDE
Как вы понимаете с первым пунктом ничего сложного, хотя и в этом случае пришлось немного потыкаться. Приложения GitHub предоставленные в плеймаркете(то что попалось мне из 5 установленных, в том числе и сам GitHub). Позволяют, максимум, посмотреть историю, комментарии (смотреть и отвечать), но создавать и изменять контент и запросы не могут. Так что нельзя назвать это полноценной заменой для андроида.
В итоге на первых порах, достаточно браузерной версии гит, вот только если хочешь добавить или изменить папку, то быстро сделать это не получится, нужно выгружать, менять и загружать папки обратно (создаёшь папку с файлом, прописывая путь, а затем все файлы в папку загружаешь через appload file). Как вы понимаете это не удобно если нужно перенести проект на GitHub через планшет.
С редакторами немного проще. Почти каждое третье справляется с элементарными нуждами, да ещё имеет возможность просмотра результата фронт-енда в браузере. Однако не все из них отображают сайт корректно (как и когда просто открытая через проводник страница не подгружает css и js файлы, а просто выводит голый скелет сайта) ещё меньше из них имеет возможность перейти по внутренней ссылке сайта, в случае многостраничного сайта.
В итоге из порядка 15 я нашел около 3 которые мне подходят. Однако в дальнейшем я решил использовать в качестве быстрого редактора Acode, хотя он больше похож на ide чем на простой редактор.
Двигаемся дальше. Что же мне нужно от IDE.
Наличие консоли при тестировании
Интеграция с GitHub
Удобство в использовании (в частности расположение вкладок и настройки)
Терминал для Nodejs
Теперь посмотрим, что я нашел:
Хоть в play market и написано, что это IDE для веб разработки, но работать на нем неудобно.
Полноценных снипетов нет (нет автоопределения, вставляется только тег без символов, нет автоопределения атрибутов тегов). Из удобных только автозакрытие тега (в случае написания «» программа сама выбирает ближайший закрываемый тег)
Интеграция с git только за плату.
Консоль даже искать не стал после увиденного теста в браузере.
Итог: возможно платная версия работает лучше, но что-то мне в это не верится. Хотя могу выделить пару плюсов (панель символов, удобные вкладки для перехода между файлами)
Снипеты с кратким описанием и опциями (с возможностью расширения)
Хоть и есть поиск ошибок, но он не работает на 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. С учётом того, что кнопка переключения между клавами работает прекрасно, то можно на этом и остановиться.
И вот теперь я настроил все инструменты и готов работать.
GoCoEdit
Видно, что редактор GoCoEdit писал программист для программистов. Дизайн приложения довольно своеобразный, зато есть ряд фич, отсутствующих в других редакторах.
Общий вид редактора. Обратите внимание на дополнительную строку с символами в верхней части клавиатуры. Принцип работы как у Textastic, описанного выше. Отличие в том, что если у Textastic кнопка пятипозиционная, то здесь только трех: центр, право, лево.
Окно работы с файлами
Есть поиск как по словарю
так и по функциям в классе. Подчеркну, что поиск идет только по текущему файлу, а не по всему проекту, что сильно сужает области применения и полезность.
Поиск
Есть специальный командный режим. Поскольку, как я говорил выше, нормальные горячие клавиши в iOS не реализуемы (или плохо реализуемы) — здесь используется следующий хак: при нажатии на кнопку CMD появляется окно ввода, куда можно ввести сочетания клавиш, реализующих то или иное действие. Сами сочетания очень напоминают сочетания клавиш из VIM.
Во встроенном броузере есть возможность подключить FireBug Lite.
Стоит 349 рублей в российском AppStore.
Я пробовал TeamViewer и какой-то из VNC клиентов с пробросом VPN в домашнюю сеть. В целом мне показалось, что они не особо учитывают реали того, что работа идет под iPad и, как следствие, удобство работы оставляет желать лучшего.
PHPStorm, запущенный на ноутбуке
Лаунчер приложений
Google Chrome с открытой консолью
В целом, можно сказать что это рабочий вариант, при условии что вы сидите на быстром интернет-канале. Из плюсов — полное рабочее окружение на iPad.
iPad можно использовать для полноценной разработки. Я использую внешнюю клавиатуру, если есть возможность ее куда-то поставить и экранную клавиатуру если надо сделать что-то на бегу. Экранная клавиатура не увеличивает габариты устройства и позволяет использовать его на ходу, но закрывает половину и так маленького экрана. Кроме того — набор текста с большим количества спецсимволов, расположенных на разных «экранах» клавиатуры, делает ввод текста медленным. Внешняя клавиатура требует размещения, зато оставляет свободным экран и позволяет набирать со скоростью настольного компьютера.
Если вы разрабатываете только backend-приложение, не требующее тестирования в броузере — я бы рекомендовал связку SSH-клиент + VIM + tmux на сервере.
Если вы разрабатываете что-то на frontend и у вас достаточный интернет-канал — рекомендую связку Parallels Access + редактор + полноценный Google Chrome с консолью.
Нативные редакторы находятся в довольно зачаточном состоянии. До прихода серьезных игроков на этот рынок и шагов со стороны Apple по более продвинутому использованию внешней клавиатуры — это не более чем резервный вариант на случай если у вас нет интернета. Все редакторы заточены на работу с одним файлов, а не проектом целиком. Надеюсь, что с появлением iPad Pro ситуация улучшится и мы получим полноценные редакторы. Если совсем фантазировать — хотелось чтобы Apple разрешила подключать MagicPad и показывать курсор на экране, чтобы не приходилось постоянно «тыкать» в экран.
Привет, Хабр! Меня зовут Сергей Лавров (@lavs). Я разрабатываю мобильные приложения под Android и iOS, преподаю IT в двух университетах и уже 15 лет изучаю новые технологии, а также языки программирования, которых знаю более десятка. В этот раз я выступлю в непривычной для себя роли обзорщика: меня попросили посмотреть, чем может быть интересен для разработчика планшет Huawei MatePad 11. Что ж, challenge accepted: я проверю, можно ли на нём программировать; разберусь, что из себя представляет новая HarmonyOS; и попробую написать для неё приложение.
Пятнадцать лет назад, когда я только начинал программировать, у меня появилась мечта: я хотел писать программы на устройстве, которое по размеру было бы как телефон.
Сначала через мои руки прошли Nokia 9500 и Nokia E90 — первые коммуникаторы с полноразмерной физической клавиатурой и возможностью редактировать системные файлы прямо на устройстве. Им на смену пришли Samsung Note, у которых был стилус, тоже позволявший что-нибудь написать. Затем появились планшеты, но виртуальная клавиатура меня не вдохновляла.
И вот теперь мне на обзор попал Huawei MatePad 11 с физической клавиатурой и стилусом. Естественно, я сразу задался вопросом: получится ли на нём программировать? А ещё интересно было узнать, что из себя представляет новая операционная система от Huawei.
У Huawei MatePad 11 есть и физическая клавиатура, и стилус — так почему бы не реализовать свою мечту пятнадцатилетней давности и не попрограммировать на нём?
К сожалению, полноценных IDE на этот планшет я не нашёл: в AppGallery находятся только простые приложения для обучения программированию и удалённые рабочие столы:
Здесь я сразу нашёл много Android-приложений на нужную тематику. Среди них есть несколько приложений по изучению программирования, в которых можно писать код — SoloLearn, Mimo, Programming Hub, StartAndroid, Programming Hero — но все они представлены в виде XAPK и их почему-то не удалось установить (возможно, надо ставить отдельное приложение для установки программ из контейнеров XAPK).
Ещё нашёл приложение Dcoder, которое, судя по описанию, позволяет писать на любом из 30 доступных языков программирования. Оно оказалось в виде APK и успешно установилось, но потребовало регистрации или входа через Google/Facebook. Ни первое, ни второе у меня не получилось, так как сервисы Google оказались на планшете недоступны, а это приложение, видимо, активно их использует.
Также в APKPure нашлось приложение JavaRush (JR): оно тоже было в APK-формате, а потому без проблем установилось и запустилось. Я даже смог написать пару программ в заданиях, и они успешно выполнились:
В целом на таком планшете всё-таки удобно учиться программированию: необходимые приложения для этого есть, а малые габариты устройства окажутся полезными, например, в дороге, если вдруг захочется с пользой провести полтора-два часа. Также MatePad 11 можно использовать в качестве запасного устройства для удалённой работы: например когда надо экстренно подключиться с морского пляжа. На этом самая сложная часть заканчивается, и теперь я с чистой совестью могу посмотреть, что там у этого планшета под капотом.
Сейчас я, пожалуй, перестану вести себя как простой пользователь. Я всегда интересовался различными операционными системами: Windows от 95 до 10, macOS от Leopard 10.5 до Big Sur 11.5; пробовал порядка 10 разновидностей Linux; когда-то разбирался с Windows for Mobile/Windows 8 для телефонов и с системой Maemo (которая потом превратилась в MeeGo) от Nokia; а сейчас активно работаю с Android и iOS. Естественно, я не мог не ознакомиться с ОС, стоящей в этом планшете.
HarmonyOS построена на базе Android Open Source Project а значит, имеет схожую с Android архитектуру, состоящую из четырёх слоёв:
- Kernel Layer состоит из мультиядра, которое поддерживает различные виды устройств и предоставляет базовые функции (многозадачность, управление памятью, файловая система, сеть и периферия), и подсистемы драйверов, которые нужны для поддержки экосистемы внешних устройств.
- System Service Layer — слой базовых сервисов HarmonyOS.
- Framework Layer — слой API для работы с сервисами HarmonyOS как на C/C++, так и на Java/JS.
- Application Layer — слой системных и сторонних приложений.
- Обычные приложения, требующие установки.
- Atomic Services, не требующие установки и предоставляющие какие-либо сервисы.
В состав каждого приложения входит один или несколько файлов HarmonyOS Ability Package (HAP), а также файл pack.info, описывающий параметры каждого пакета HAP. Пакет HAP содержит код, ресурсы, сторонние библиотеки и файлы конфигурации config.json.
- Entity — главный модуль приложения, который может быть только один под конкретный вид устройств; его можно установить и запустить.
- Feature — функциональные модули; их может быть несколько или вообще не быть. Запустить можно только те файлы Feature, которые содержат Abilities.
Abilities — это абстракции возможностей, которые может предоставить приложение. В каждом приложении могут использоваться Feature Abilities (FAs), предоставляющие UI, и Particle Abilities (PAs) без UI, обеспечивающие фоновую обработку и доступ к данным.
Для программирования под HarmonyOS переходим на официальный сайт, доступный на английском и китайском языках. Там можно найти документацию и руководство для дизайнеров, а также скачать IDE. Среда разработки называется DevEco Studio; она сделана на базе продукта фирмы JetBrains, как, например, и Android Studio.
Я надеялся, что установить её удастся прямо на HarmonyOS, но оказалось, что ставится эта среда только на Windows и macOS, что тоже неплохо. Поставил на обе системы. Под macOS она работает отлично, а вот под Windows возникли проблемы с HarmonyOS SDK — буду разбираться; возможно, что-то не так настроил.
Под этой системой можно писать на двух языках: Java и JS. Документация в целом удобная, понятная, с подробным описанием технологий и с картинками, а иногда и с видео. Тем, кто писал под Android, многие элементы тут будут знакомы, хоть и выглядят они немного по-другому. Разработка на JS сделана аналогично React Native и основана на Node. js и npm.
При создании проекта нужно выбрать один из предложенных шаблонов. На каждом шаблоне указано, с какими видами устройств он совместим (телефон, планшет, телевизор, часы, автомобиль) и на каком он языке (Java или JS). После выбора шаблона указываются тип проекта (приложение или сервис), название, расположение, версия API, поддерживаемые виды устройств:
На этом настойки закончились. Осталось подождать, пока подготовится проект, и можно начинать программировать:
Я не стал ничего писать и решил сразу запустить проект в эмуляторе. На macOS установлены сразу два эмулятора: часы (Huawei Lite Wearable) и телевизор (Huawei Smart Vision). Но ничего не вышло: оказалось, что они поддерживают только так называемые Lite-проекты.
Я решил добавить какое-нибудь ещё устройство для запуска приложения, раз с часами и телевизором не получилось. Но чтобы даже просто увидеть список доступных устройств, нужно авторизоваться в сервисах Huawei:
Я так и сделал, но оказалось, что требуется подтверждённый профиль разработчика. Возможно, эмуляторы предоставляются в виде сервиса, поэтому и надо логиниться и подключаться к серверам Huawei.
Я зарегистрировал профиль разработчика, буду ждать подтверждения. Когда оно придёт, попробую создать какое-нибудь приложение по документации и запустить его на эмуляторе, а может, и на самом устройстве с HarmonyOS, и напишу несколько статей по этой теме. Пока что две попытки подтверждения не увенчались успехом, так как для верификации требуется, помимо прочего, именная банковская карта, остаточный срок действия которой составляет не менее полугода с момента регистрации профиля разработчика.
Без верифицированного профиля можно создать и протестировать только так называемые Lite-приложения, которые запускаются на предоставленных эмуляторах часов (Huawei Lite Wearable) и телевизора (Huawei Smart Vision).
Lite-приложения имеют ряд ограничений, например, пишутся только на JS, поэтому шаблон выбирается только с приставкой [Lite] и оно должно быть на JS:
Но хотелось создать что-то более полезное, поэтому сделал приложение, имитирующее бросок игральной кости и выдающее случайное число от 1 до 6:
Lite-приложения (или, может, только эмулятор?) поддерживают всего два языка: английский и китайский. Число доступных размеров шрифтов также ограничено: поддерживаются только 30px и 38px.
Собрать Lite-приложение можно как в виде HAP, так и в виде APK. Но если с HAP никаких проблем не возникло — всё сразу собралось, — то в случае с APK потребовались дополнительные настройки для подписи файла:
А эти настройки доступны только тем, у кого есть профиль разработчика, так что собрать APK мне пока что так и не удалось:
В целом мне HarmonyOS (да и сам планшет) понравились: такой Android на стероидах в красивой упаковке, привычный и удобный. Единственная разница, которая ощущается при использовании, — отсутствие встроенных сервисов Google. Для некоторых приложений это может быть критичным. Также лично у меня были проблемы с интеграцией с различными устройствами, но, думаю, это решается дополнительными тонкими настройками, либо будет доработано в следующих обновлениях.
Киллер-фичей планшета могла бы стать установка IDE «из коробки» — тогда бы можно было программировать на HarmonyOS без Windows/macOS. В плане разработки мне понравилась возможность программировать на Java или JS в привычной для Android-разработчика IDE. Жаль, что для создания APK и тестирования на эмуляторах требуется создание профиля разработчика (который я пока так и не смог зарегистрировать), но я понимаю Huawei: их стратегия в чём-то похожа на стратегию Apple. В любом случае это не мешает создавать и адаптировать приложения для HarmonyOS, а порог входа разработчики сделали низким, поэтому присмотреться к этой системе явно стоит.
Возможно ли эффективно программировать на планшете? Какой планшет лучше подойдёт для таких целей? Эта тема не пропускается ни на одном толковом компьютерном форуме. И взгляды у всех разные, и вроде все специалисты, но найти общего решения так и не получилось. Действительно, программирование – отрасль весьма многозадачная, методы и способы в которой разные. Давайте немного разберёмся.
Как все начиналось.
А начиналось все как обычно с разматывания губы на тему вот сейчас как перейду с ПК на планшет, да как все заиграет.
Раньше (недели две назад) я постоянно задумывался почему так мало слышно о разработке пусть даже front-end'a на мобильных устройствах (нет, не под мобильные, а именно с мобильных устройств).
И думал я, что может только у меня такая потребность возникла. Что только я мучаюсь с подготовкой к работе. Ведь, чтобы развернуть бурную рабочую деятельность, мне нужно сперва сварить кофе, уложить всех спать, выгнать кота. А с мобильным устройством все проще. И уж если куплю планшет, да его настрою, будет у меня и мобильность, и скорость, да и лёгкость в движениях появится=)
И вот «летящей походкой я вышел за . », то есть за планшетом, и вернулся со средним, ну ладно, бюджетным «китайцем».
Решил, что рута я сбивать не буду, дефолтную систему сносить не буду, а то вдруг не просто так люди на ПК до сих пор работают.
Udemy
- Цена: Бесплатно.
- Покупки в приложении: Да.
- Версия: Android: 6.0+.
Поскольку Udemy — это своего рода онлайн-площадка, где эксперты предлагают уроки по разным темам, стили обучения могут сильно отличаться. Мы рекомендуем вам проверить предварительный просмотр перед записью на платный курс. Тем не менее, наличие ментора, с другой стороны, действительно помогает облегчить обучение, так как вы всегда получите правильные ответы на свои вопросы.
После того, как вы зарегистрируетесь на курс на Udemy, у вас будет пожизненный доступ к контенту. Вы также можете скачать курсы для автономного доступа в любое время в любом месте.
Читайте также: