Можно ли на ipad программировать. Приложение Swift Playgrounds научит легко и увлекательно программировать. Серия «Учим языки программирования» от Sololearn

При всей моей любви к iPad, я долгое время считал, что это в первую очередь гаджет для потребления контента, и для моей основной работы, программирования, он не очень-то и подходит. Но последнее время в App Store стали появляться приложения, опровергающие мое мнение. Одной из первых ласточек стал программистский редактор Textastic, о котором я и расскажу.

Вообще, идея похожих приложений уже давно витала в воздухе: разнообразные редакторы с поддержкой появились уже давно. Добавить в редактор подсветку синтаксиса и дополнительные плюшки - было уже просто вопросом времени. Что же полезного предлагает Textastic?

В первую очередь, написанный с нуля текстовый редактор с подсветкой синтаксиса 80 разных языков и автодополнением для HTML и CSS. Поскольку автор подошел к написанию с умом - редактор получился быстрый, даже при работе с большими файлами.

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

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

В первую очередь полноценному программированию на планшете мешает малое количество клавиш на встроенной клавиатуре: для полноценного кодинга хочется иметь под рукой цифры и ряд символов, для доступа к которым на iPad нужно переключать клавиатуру, зачастую даже не один раз. Это очень мешает полноценной работе. Во многих редакторах разработчики добавляют дополнительный ряд клавиш над основной клавиатурой, но для девелоперских целей - их тоже мало. Эту проблему можно решить использованием внешней клавиатуры, но это явно снижает мобильность пользователя. Разработчики Textastic решили эту проблему необычно: дополнительный ряд кнопок в этом приложении также присутствует, но они все - пятипозиционные и служат для ввода одного из пяти символов. Простое нажатие вводит тот символ, что написан в центре, для ввода одного из четырех символов по краям необходимо сдвинуть палец в его сторону и отпустить. После привыкания к такой системе «росчерков» ввод становится очень быстрым и весьма удобным.

Вторая проблема в разработке на iPad - не самая удобная система выделения текста и управления курсором. В Textastic для решения этой проблемы есть специальный блок навигации и выделения текста, для активации которого нужно тапнуть по экрану двумя пальцами одновременно. Этот блок можно двигать по экрану, выбирая место, где он не мешает работе.

Третья проблема - изолированность iOS и невозможность работы с файловой системой. Для преодоления этой трудности в Textastic есть поддержка WebDAV, FTP и даже Dropbox. Поддерживается работа с сайтами по FTP с одновременным просмотром результатов как локально, так и на сервере. Для управления локальными и удаленными файлами есть удобный встроенный файл-менеджер. Кроме того, можно синхронизировать файлы по iTunes и e-mail, а также подключаться к планшету по WebDAV, используя встроенный в программу сервер.

В качестве приятного бонуса - Textastic умеет работать с Markdown файлами, поэтому его можно использовать в качестве инструмента для заметок или ведения блога с использованием сервиса типа http://calepin.co/. Еще одна приятная мелочь - в программе имеется поддержка русского языка.

P.S. Продолжение о других программах для программирования на iPad - следует.

Как известно, Apple всячески препятствует появлению возможности запускать на своих мобильных устройствах сторонние приложения. Программы для невзломанных iPhone, iPod touch и iPad можно покупать лишь через магазин Apple App Store, а за право тестировать приложения на своих устройствах разработчикам приходится платить 99 долларов в год. К сожалению, такая политика препятствует появлению средств разработки приложений на самих устройствах. Однако создателю программы Codify , дающей возможность использовать iPad для написания программ (в первую очередь – игр) на языке Lua, удалось добиться одобрения в App Store.

В июне 2011 года в Apple несколько пересмотрели правила публикации приложений в App Store и теперь разрешают включать в программы средства интерпретации различных скриптовых языков. В первую очередь это необходимо разработчикам игр, так как зачастую для реализации игровой логики они используют высокоуровневые языки. Чего в Apple делать не разрешают, так это скачивать произвольный код из внешних источников. Появись где-нибудь такая возможность, это бы грозило зарождением альтернативного App Store, чего в Apple очень не хотят.

Автору Codify пришлось пойти на серьёзные ограничения, чтобы средство программирования таки одобрили в App Store. На данный момент есть лишь один способ добавить код в редактор Codify – написать всё вручную. С экспортом те же проблемы. Чтобы выдрать написанное в Codify, придётся выделять весь код, копировать и отправлять себе по почте. Впрочем, такой способ подойдёт разве что для создания резервной копии или же отправки исходников кому-нибудь из друзей. Перенести приложение на настольный компьютер всё равно без лишнего труда не получится – окружения Codify, вроде прилагаемых к среде разработки графических библиотек, автор скачать не предлагает. А жаль. Если бы он опубликовал шаблонный проект Xcode со всеми библиотеками, то вытянутые из Codify исходники можно было бы сразу превратить в самостоятельное приложение.

У Codify есть и другие ограничения. В создаваемых там играх пока что можно использовать лишь спрайты из стандартного набора; выбрать собственную картинку не получится. Однако у приложения есть и плюсы – например, добавленные к экранной клавиатуре кнопки, позволяющие быстро перемещаться по тексту программы, или диалоги выбора цвета или спрайта, подставляющие значения прямо в список параметров соответствующих функций. Также к Codify прилагается хорошая справка по всем доступным функциям (графика, звук, математические функции, внешние параметры, работа с тачскрином и акселерометром).

Codify стоит восемь долларов США и доступен в российском App Store. Будем надеяться, что эта инициатива не заглохнет и не станет очередной жертвой переменчивого настроения модераторов App Store. Хотелось бы видеть такие же среды разработки для других языков и с другими библиотеками, к примеру Python или Processing. Если же допуск Codify до пользовательских айпадов не случайность, а начало плавной смены стратегии, то не исключено, что в Apple и сами думают над тем, как сделать iPad пригодным для программирования. А это было бы просто великолепной новостью.

  • Программирование
  • Программирование - процесс творческий и часто желание написать кусок кода или сиюминутно исправить ошибку становится просто невыносимым. Иногда написания кода требуют внешние обстоятельства, как то критичная ошибка в коде, которая валит проект. Для сотрудников, занимающих руководящие позиции в команде, нужна возможность провести code review и поправить проблемные участки кода.

    Хорошо когда в пределах досягаемости есть стационарный компьютер или ноутбук на котором развернута привычная среда разработки. Но что делать если вы находитесь за пределами рабочего места? Таскать с собой постоянно ноутбук? Но во первых большой 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 руб.

    Нативные iOS приложения

    Если суммировать способы работы с файлами (зависит от редактора):

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

    Все редакторы позволяют работать с несколькими одновременно открытыми файлами.

    У всех редакторов очень ограничена поддержка горячих клавиш при работе с клавиатурой. В интервью создатель GoCoEdit говорил что сама Apple сильно ограничивает разработчиков в этих вопросах. Т.е. забудьте о биндингах на каждое действие - в лучшем случае это Cmd-C / Cmd-V

    Ни у одного редактора нет встроенной поддержки git, но есть возможность интеграции со сторонними приложениями, реализующими эту функциональность.

    Все эти приложения позволяют подключать как самостоятельные git-репозитории, так и интегрироваться с GitHub и BitBucket. Поддерживают ветки, просмотр коммитов, diff-ов и т.д. Как правило все эти программы имеют бесплатную функциональность на работу с репозиториями в режиме просмотра. Если вы хотите комитить свои изменения - придется выложить от 7 до 10 долларов.

    Добавляем репозиторий

    Окно работы с репозиторием

    Просмотр файла

    Как я писал выше - есть полноценная интеграция с редактором Textastic.

    Стоимость - бесплатно, но для полноценной работы необходимо разблокировать функции.

    GoCoEdit

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

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

    Окно работы с файлами

    Есть поиск как по словарю

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

    Поиск

    Есть специальный командный режим. Поскольку, как я говорил выше, нормальные горячие клавиши в iOS не реализуемы (или плохо реализуемы) - здесь используется следующий хак: при нажатии на кнопку CMD появляется окно ввода, куда можно ввести сочетания клавиш, реализующих то или иное действие. Сами сочетания очень напоминают сочетания клавиш из VIM.

    Во встроенном броузере есть возможность подключить FireBug Lite.

    Стоит 349 рублей в российском AppStore.

    Использование удаленного доступа к стационарному компьютеру / ноутбуку.

    Я пробовал TeamViewer и какой-то из VNC клиентов с пробросом VPN в домашнюю сеть. В целом мне показалось, что они не особо учитывают реали того, что работа идет под iPad и, как следствие, удобство работы оставляет желать лучшего.

    Когда несколько лет назад вышел Parallels Access - у меня оказалась в руках бесплатная годовая лицензия, которая шла в комплекте с Parallels Desktop. Из того что я пробовал - это наиболее вменяемый продукт, но который тоже не лишен недостатков. Самый большой недостаток - это переодические сообщения «Slow internet connection» и «залипания» интерфейса, хотя и iPad и ноутбук находятся в сети 70 Мбит/с. К счастью происходит это не так часто и с этим можно жить. Сейчас годовая подписка стоит 649 руб / год.

    PHPStorm, запущенный на ноутбуке

    Лаунчер приложений

    Google Chrome с открытой консолью

    В целом, можно сказать что это рабочий вариант, при условии что вы сидите на быстром интернет-канале. Из плюсов - полное рабочее окружение на iPad.

    Заключение

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



    Если вы разрабатываете только backend-приложение, не требующее тестирования в броузере - я бы рекомендовал связку SSH-клиент + VIM + tmux на сервере.

    Если вы разрабатываете что-то на frontend и у вас достаточный интернет-канал - рекомендую связку Parallels Access + редактор + полноценный Google Chrome с консолью.

    Нативные редакторы находятся в довольно зачаточном состоянии. До прихода серьезных игроков на этот рынок и шагов со стороны Apple по более продвинутому использованию внешней клавиатуры - это не более чем резервный вариант на случай если у вас нет интернета. Все редакторы заточены на работу с одним файлов, а не проектом целиком. Надеюсь, что с появлением iPad Pro ситуация улучшится и мы получим полноценные редакторы. Если совсем фантазировать - хотелось чтобы Apple разрешила подключать MagicPad и показывать курсор на экране, чтобы не приходилось постоянно «тыкать» в экран.

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

    Pythonista 3 — программа для написания приложений на языке Python. Любопытный факт: название языка произошло не от пресмыкающегося питона, а от названия комейдиного британского шоу «Летающий цирк Монти Пайтона». Пайтон как раз на английском Python.

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

    Python — популярный язык, используемых во многих крупных компаниях. Например, Google и Facebook используют его в своих проектах. Pythonista 3 позволяет написать программу и тут же её запустить.

    Язык программирования «smart BASIC»

    Приложение, которое предлагает пользователю программировать на продвинутой версии самого популярного языка для обучения — Basic. Именно с Basic началось моё знакомство с программированием лет 20 назад.

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

    Наш читатель Александр — программист-любитель даже раньше создавал приложения на Smart Basic , которые публиковались в App Store.

    Apple разработала язык программирования Swift для программистов на iOS и Mac OS. Apple задумала Swift как более лёгкий и читаемый язык для изучения, чем предшественник — Objective C. В 2014-ом году язык был внедрён в Xcode. А в 2016-ом году Google заявила, что Swift будет первым языком для Android. Вероятней всего, это положительным образом скажется на скорости выхода приложений под Android. Станет меньше эксклюзивов и приложений, которые выходят сначала на iOS, а через несколько месяцев/лет на Android.

    Swift Playgrounds от самих Apple позволяет даже новичку погрузиться в мир языка. Изучить новые конструкции, изучить работу кода на живых примерах в игровой форме.

    Серия «Учим языки программирования» от Sololearn

    Недавно наткнулся на серию занимательных приложений от компании Sololearn, которые предлагают интерактивные уроки по изучению языков программирования. На русском языке доступны следующие языки: JavaScript, HTML, C++, Python, Java, CSS, SQL, PHP, C#, JQuery, Ruby. Уроки по Swift на английском.

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

    Есть примеры кода и возможность их запустить:

    Все приложения бесплатные и без встроенных покупок.

    Textastic Code Editor 6

    В App Store два приличных редактора текста для кода. Textastic при своей цене в 749 рублей (в американском App Store 10 долларов) является бюджетным вариантом.

    Textastic поддерживает синтаксис около 80 языков программирования. Программа служит для красивого отображения и редактирования текстов. Это не компилятор — обратите внимание. Приложение работает так — вы скачиваете код, редактируете его и заливаете затем назад.

    Coda

    А вот и более дорогой и продвинутый вариант текстового редактора. За 1890 рублей вы получите всё в одном.

    • Редактор кода с подсветкой синтаксиса и удобным редактированием как онлайн, так и оффлайн.
    • Поддержку многих популярных языков.
    • Поддержку сетевых протоколов (в частности FTP) и главное — терминал SSH.
    • Синхронизацию между iOS и Mac (версия для Mac OS покупается на сайте компании Panic).

    Наткнулся недавно на занятное приложение-справочник, который содержит примеры коды на 6 языках программирования: Swift, Java, C#, Python, C++, Objective C. Суть его в том, чтобы человек мог быстро найти кусок кода на нужном ему языке. Например, программисту нужно быстро вспомнить как выглядит обработчик ошибок на C++. Он глядит в программу и находит нужный фрагмент, который может применить в своей программе.

    Разработчик приложения собрал примеры из этих 6 языков программирования и судя по обновлениям ещё и актуализирует их постоянно.

    Программа условно-бесплатная, но полная версия стоит всего 2 доллара.

    Codea

    Codea появилась в 2012-ом году, как первое приложение в App Store, на котором можно было писать приложения для iOS. И по сей день программу обновляют. В Codea используется язык программирования Lua, который был придуман в Бразилии, и больше всего по идеалогии походит на JavaScript.

    Codea создана, чтобы упростить программирование для iOS. То есть цель разработчиков была визуализировать процесс и сделать его за счёт этого более удобным.

    В качестве примера разработчики выложили в App Store весьма годную полностью бесплатную игру Cargo Bot (она написана на Codea). В ней необходимо переставлять цветные ящики с помощью руки-манипулятора, чтобы получилось заданное расположение. Для этого нужно придумывать алгоритмы с помощью доступных команд.

    Hopscotch: Make Games

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

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

    Российский разработчик Дмитрий Ковба выпустил серию приложений, которую могут оценить не только начинающие девелоперы, осваивающие новые для себя языки программирования, но и гики, желающие осуществлять сложные математические вычисления на своем iOS-устройстве.

    Дмитрий представил три универсальных приложения для iPhone и iPad, каждое из которых предназначено для одного из языков программирования, использующихся для разработки ПО: C++, Basic и Pascal.

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

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

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

    С помощью C++, Basic и Pascal для iOS-устройств вы можете искать численные решения интегралов и уравнений, решать специализированные учебные и научные задачи или просто писать код для развлечения.

    В настоящее время разработчики работают над улучшением процесса компиляции. В будущих версиях C++, Basic и Pascal будет добавлен файловый менеджер, а также шаблоны и примеры различных программ. Скачать C++, Basic и Pascal стоимостью $2.99 вы можете из App Store по ссылкам далее.

    Разработчик предоставил нам 15 промокодов – по 5 к каждому из приложений. Коды будут разыграны среди посетителей, оставивших комментарий к статье. Не забудьте заполнить форму E-mail и укажите желаемую программу. Удачи!

    Конкурс проведен , победителями стали следующие пользователи: Max, Vladimir, Born2kill, Shoker, apels1nko72p, RioDezz, znm, Sxebang, AntonBordov, AlexForwarder, Greenbint, Itoxa17, Ильюшка, Alexey и mixail. Благодарим за участие!



    Есть вопросы?

    Сообщить об опечатке

    Текст, который будет отправлен нашим редакторам: