Программы для ipad для программирования
Хорошо когда в пределах досягаемости есть стационарный компьютер или ноутбук на котором развернута привычная среда разработки. Но что делать если вы находитесь за пределами рабочего места? Таскать с собой постоянно ноутбук? Но во первых большой 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.
Textastic
Редактор Textastic. Серьезный редактор, в котором хорошо продуман процесс разработки.
Общий вид редактора.
Обратите внимание на верхний ряд клавиш с кнопками, в которых по середине стоит один символ и еще 4 по краям. Это гениальное изобретение. Если вы пользуетесь iOS — вы знаете, что для доступа к символам $, _ и т.д. необходимо переключаться в другой «экран» клавиатуры. Это очень сильно осложняет набор и замедляет процесс ввода.
Как работают этот ряд специализированных клавиш: вы «тыкаете» в кнопку — происходит ввод символа по центру. Если вы «тыкаете» в центр и смещаете палец в сторону одного из краев кнопки — происходит ввод символа из соответствующего угла. Поверьте — это очень удобно.
Можно настроить вид редактора в широких пределах
Есть автокомплит по словарю, но нет автокомплита по проекту.
Есть навигация по функциям в классе
Есть поиск
Также есть интеграция с программой Working Copy (о ней ниже), которая позволяет работать с git-репозиториями, а также с GitHub и Bitbucket.
Выбираете в качестве источника Working Copy
Затем нужный репозиторий и файл
После окончания работы файл можно будет закомитить с помощью Working Copy в удаленный репозиторий.
Стоит 479 рублей в российском AppStore.
Working Copy
Программа Working Copy не является редактором в классическом смысле. Это скорее полноценный клиент по работе с git-репозиториями. Аналоги:iOctocat, Git2Go
Все эти приложения позволяют подключать как самостоятельные git-репозитории, так и интегрироваться с GitHub и BitBucket. Поддерживают ветки, просмотр коммитов, diff-ов и т.д. Как правило все эти программы имеют бесплатную функциональность на работу с репозиториями в режиме просмотра. Если вы хотите комитить свои изменения — придется выложить от 7 до 10 долларов.
Добавляем репозиторий
Окно работы с репозиторием
Просмотр файла
Как я писал выше — есть полноценная интеграция с редактором Textastic.
Стоимость — бесплатно, но для полноценной работы необходимо разблокировать функции.
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 и показывать курсор на экране, чтобы не приходилось постоянно «тыкать» в экран.
Давно я не пополнял рубрику “Топ-10” Но сегодня повод особый – мне захотелось выделить 10 лучших приложений, на которые стоит обратить внимание любителям программирования. Тут есть обучающие приложения, одна игра для программистов, компиляторы и редакторы кода.
Pythonista 3
Pythonista 3 – программа для написания приложений на языке Python. Любопытный факт: название языка произошло не от пресмыкающегося питона, а от названия комейдиного британского шоу “Летающий цирк Монти Пайтона”. Пайтон как раз на английском Python.
Некоторые считают, что Python отлично подходит для первого языка программирования. Может это и так. Язык обладает несложным и понятным синтаксисом и при этом большим количеством функций.
Python – популярный язык, используемых во многих крупных компаниях. Например, Google и Facebook используют его в своих проектах. Pythonista 3 позволяет написать программу и тут же её запустить.
Язык программирования “smart BASIC”
Приложение, которое предлагает пользователю программировать на продвинутой версии самого популярного языка для обучения – Basic. Именно с Basic началось моё знакомство с программированием лет 20 назад.
Несмотря на то, что многие продвинутые программисты Basic не воспринимают от слова совсем, я считаю, что это неплохой язык для начинающих. Он очень прост и в то же время в умелых руках может решить массу задач.
Наш читатель Александр – программист-любитель даже раньше создавал приложения на Smart Basic, которые публиковались в App Store.
Swift Playgrounds
Apple разработала язык программирования Swift для программистов на iOS и Mac OS. Apple задумала Swift как более лёгкий и читаемый язык для изучения, чем предшественник – Objective C. В 2014-ом году язык был внедрён в Xcode. А в 2016-ом году Google заявила, что Swift будет первым языком для Android. Вероятней всего, это положительным образом скажется на скорости выхода приложений под Android. Станет меньше эксклюзивов и приложений, которые выходят сначала на iOS, а через несколько месяцев/лет на Android.
Swift Playgrounds от самих Apple позволяет даже новичку погрузиться в мир языка. Изучить новые конструкции, изучить работу кода на живых примерах в игровой форме.
Серия “Учим языки программирования” от Sololearn
Я прошёл несколько уроков по JavaScript. Всё очень доступно и интересно. Даются мини-уроки с примерами, которые можно тут же запустить в эмуляторе. После этого обычно следует вопрос с вариантами ответа или возможностью вписать текстовый ответ. Очень наглядно и удобно для начинающих.
Есть примеры кода и возможность их запустить:
Все приложения бесплатные и без встроенных покупок.
Textastic Code Editor 6
В App Store два приличных редактора текста для кода. Textastic при своей цене в 749 рублей (в американском App Store 10 долларов) является бюджетным вариантом.
Textastic поддерживает синтаксис около 80 языков программирования. Программа служит для красивого отображения и редактирования текстов. Это не компилятор – обратите внимание. Приложение работает так – вы скачиваете код, редактируете его и заливаете затем назад.
Программа поддерживается автором и оперативно обновляется.
Старый обзор приложения. Сейчас оно выглядит гораздо современней.
А вот и более дорогой и продвинутый вариант текстового редактора. За 1890 рублей вы получите всё в одном.
- Редактор кода с подсветкой синтаксиса и удобным редактированием как онлайн, так и оффлайн.
- Поддержку многих популярных языков.
- Поддержку сетевых протоколов (в частности FTP) и главное – терминал SSH.
- Синхронизацию между iOS и Mac (версия для Mac OS покупается на сайте компании Panic).
Рецепты кода
Разработчик приложения собрал примеры из этих 6 языков программирования и судя по обновлениям ещё и актуализирует их постоянно.
Программа условно-бесплатная, но полная версия стоит всего 2 доллара.
Codea
Codea появилась в 2012-ом году, как первое приложение в App Store, на котором можно было писать приложения для iOS. И по сей день программу обновляют. В Codea используется язык программирования Lua, который был придуман в Бразилии, и больше всего по идеалогии походит на JavaScript.
Codea создана, чтобы упростить программирование для iOS. То есть цель разработчиков была визуализировать процесс и сделать его за счёт этого более удобным.
В качестве примера разработчики выложили в App Store весьма годную полностью бесплатную игру Cargo Bot (она написана на Codea). В ней необходимо переставлять цветные ящики с помощью руки-манипулятора, чтобы получилось заданное расположение. Для этого нужно придумывать алгоритмы с помощью доступных команд.
Hopscotch: Make Games
Ещё одно приложение для создания игр. Внутри удобные (показываются в маленьком окошке) обучающие видео, которые на английском языке помогут создать первые игры.
В приложении можно выбирать объекты и придумывать им действия. В итоге получаются несложные аркадные игрушки. Я попробовал несколько, созданных людьми. Не особо впечатлился, но нужно сделать скидку на любительский уровень пользователей.
Human Resource Machine
Ну и топ-10 был бы не полным без этой игры. Да-да, именно эту игру я рекомендую всем программистам или новичкам в программировании, чтобы размять свой мозг.
Игра предлагает ряд заданий, в которых нужно много думать и составлять алгоритмы на выдуманном языке программирования. Human Recource Machine прекрасно кипятит мозги и заставляет игрока выдумывать оптимальные решения. В 2016-ом году она стала лауреатом нашей премии Лучших игр в номинации “Необычная игра”.
Всем привет! Долго не решался писать на такую специфичную для себя и специфическую вообще тему, как программирование. Но надумал в итоге, тем более конкурс. (:
Я всегда стремлюсь к изучению нового и самосовершенствованию. Однажды было решено заполнять пробел по отсутствию знаний по информатике. В школе у меня и предмета такого не было, к сожалению.
Плюс ко всему, я определил «убить двух зайцев»:
1. Выучить какой-нибудь язык программирования (ЯП), начиная с азов самого программирования.
2. Подтянуть английский язык в процессе изучения ЯП.
После просмотра различных материалов, чтения холиваров на тему: «Какой ЯП лучший и какой ЯП лучше для новичков», я остановился на языке Python. Думаю, не стоит обсуждать в статье причины такого выбора, иначе придется отойти далеко от самой темы.
Само собой, для изучения ЯП нужно немало времени, такое время у меня есть в дороге, а в дороге у меня есть iPad. Вы уже, наверное, поняли к чему клоню? (;
Стал я искать приложения для Python. Так как код на Python не требует предварительной компиляции (происходит на лету и сразу исполняется), от приложения требовалось, чтобы в нем был редактор кода (с подсветкой и подсказками синтаксиса) и интерпретатор (чтобы сразу смотреть на результат). Таких приложений оказалось немало, свои задачи они выполняли, но одно меня заинтересовало и удивило очень сильно. Итак, Pythonista .
Интерфейс, как видите, понятный и приятный для глаз. В отличие от своих собратьев по Python, приложение интерпретирует код в режиме офлайн, что несомненно является плюсом. Вот самый классический пример:
Клавиатура дополнена необходимыми знаками для удобного ввода кода (до Textastiс не дотягивает, конечно, но все равно вполне сносная). Подсветка и подсказки синтаксиса есть, как и требовалось, темы и шрифты изменяются в настройках.
Проводник отображает файлы как списком, так и в виде превью: смотрится симпатично и на деле практично.
В проводнике имеется несколько файлов с образцами программ различного назначения, которые наглядно показывают возможности приложения. Вот, например, игра по поиску пар под названием «Cards» (к этой игре мы еще обратимся в видео ниже):
Проблема с кодировкой кирилицы решена в полуавтоматическом режиме – приложение при появлении надписей на языке, отличном от английского, предлагает пофиксить кодировку и, в случае согласия, все прекрасно работает.
Теперь о самом главном и одновременно о печальном – о модулях. Так как язык Python знаменит расширением своих возможностей за счет подключаемых блоков (например, графических), а iOS знаменита своей закрытостью, мы имеем очень ограниченный набор этих самых модулей для создания программ. Хорошо хотя бы картинки свои можно добавлять.
Описание всех модулей, как и описание всех остальных возможностей программы можно найти в справке. Естесственно, все на английском (второй «заяц», если помните).
С импортом готового кода дела обстоят не очень – банальный копипаст, подключения к облакам отсутствуют. К Dropbox можно подключаться через аккаунт разработчика, однако с этими «костылями» я так пока и не разобрался. А вот с экспортом наоборот – все очень интересно:
Помимо обычных отправок по email или открытия в другом приложении, код можно выложить на GistHab (сервис для хостинга IT-проектов), а также (внимание!) скомпилировать в виде проекта приложения для iPad/iPhone. Писать игры я еще не умею и в следующем видео воспользуюсь образцом уже знакомой нам игрушки «Cards» для запуска на эмуляторе iPad (на «живом» девайсе попробовать не могу, так как не имею аккаунта разработчика).
Видео
Согласитесь, заманчиво написать для iPad на iPad?
Подведу итог
Плюсы:
– качество приложения в сравнении с подобными и качество поддержки приложения;
– подсветка и подсказки синтаксиса;
– исполнение кода в оффлайне;
– перспективы развития;
– возможности экспорта в Xcode.
Минусы:
– ограниченный набор модулей (этот минус связан со спецификой iOS, разработчик программы постоянно развивает ее и добавляет новые модули);
– неудобный импорт готового материала (этот минус на совести Apple, так как политика фирмы запрещает прямой импорт кода);
– поддержка только 2-ой ветки языка (для справки: существует обновленная версия ЯП третьего поколения, которая несовместима со второй версией. Вместе с тем вторая версия настолько распространена, что отказываться от нее не собираются еще долго);
– цена (кому-то покажется высокой, хотя для такого приложения стоимость оправдана).
Данный обзор предназначен для тех пользователей, которые хотят попробовать свои силы в программировании непосредственно на своем устройстве, будь это iPhone, iPod или iPad. Я не разработчик данного приложения и я не программист. Я обычный пользователь iPad и наверняка как и многие из вас в один прекрасный момент я задался вопросом: как создаются приложения? Смогу ли я сделать сам какую-то серьёзную программу и запустить её у себя на устройстве? Этот вопрос возник у меня около года назад, но так как для серьёзного программирования у меня не оказалось ни компьютера Mac, ни знания языка Objective-C, я стал искать предназначенные для этих целей приложения. Как оказалось на самом деле, эти приложения можно сосчитать по пальцам.
Главный мой критерий выбора оказался очень простой: описание программы на русском языке, так как другими языками я абсолютно не владею. Выбора мне не осталось – единственной такой программой оказалась smart Basic! У нее практически не было рейтинга, всего парочка отзывов в русском App Store, но зато был свой форум. Стоимость ее была не большая и она не обладала большими возможностями. Купив её в ноябре прошлого года, я не мог себе представить, что эта программа станет для меня самым главным и очень ценным приложением на долгое время… За год на моих глазах данное приложение выросло в очень серьезный, качественный инструмент программирования, который имеет замечательное настоящее и восхитительное будущее!
Имея за плечами четыре десятка лет жизни, скудные базовые знания школьного Бейсика и институтского Фортрана, очень трудно написать компактный, яркий и доступный отзыв о таком специфическом приложении как smart Basic. В своем обзоре я не буду затрагивать азы программирования, вещать о высших материях и напрягать математическими выкладками или характеристиками по той причине, что я их не знаю. Я постараюсь рассказать доступным языком, что представляет из себя это замечательное приложение, а для изучения всех глубин – гугл вам в помощь и специальная литература.
О разработчике
Прежде всего хочу отметить автора этого продукта. Разработчик один – Mr.Kibernetik. У него есть свой сайт, где есть форум, на котором всегда можно задать вопрос по работе программы и оперативно получить четкий ответ.
Данный форум любопытен тем, что помимо общения здесь всегда можно обменяться или скачать понравившиеся разработки пользователей со всего мира. Продукт постоянно развивается: с периодичностью в 2-3 недели приложение обновляется. Разработчиком ведется постоянная работа по улучшению, добавление новых возможностей. При всей своей сложности исполнения, совместимости с разными моделями устройств, smart Basic работает невероятно четко. О редких возникающих багах и своих пожеланиях по улучшению программы всегда можно сообщить разработчику и быть уверенным, что ваши пожелания точно не останутся без внимания. При освоении процесса программирования Mr.Kibernetik стал для меня настоящим наставником, в чём я ему очень признателен.
Smart Basic. Основы и возможности
Итак, что же такое smart Basic и зачем он нужен?
Smart Basic – это приложение для программирования и воспроизведения программы непосредственно на мобильном устройстве Apple. Здесь я особо хочу подчеркнуть, что весь процесс от создания до запуска программы происходит полностью на вашем мобильном устройстве, поэтому девиз разработчика данного приложения “Возьми программирование с собой” действительно актуален. Создавать свои программы можно в любом месте: на диване, в метро, на скамейке в парке – везде, где вам будет удобно.
Язык программирования, используемый в приложении – Бейсик, но это не тот дремучий Бейсик, о котором каждый слышал – это умный Бейсик!Современная интерпретация старого, но очень практичного языка.
Язык Бейсик прост и понятен. Поверьте мне, освоить его сможет каждый очень и очень быстро!
Постепенно втягиваясь в этот увлекательный мир программирования, безусловно вам потребуются дополнительные знания, но их очень легко будет найти в многочисленных источниках в интернете или на форуме поддержки.
Названия команд в основном созвучны со старым Бейсиком. Полный перечень команд находится в специальном разделе приложения. Он очень удачно разбит по категориям использования и всегда находится под рукой во время написания текста программы (кода).
Для каждой команды есть подробное описание. Лично я правописание основных команд уже запомнил, а при использовании редких и сложных для восприятия сочетаний просто копирую их из библиотеки и вставляю в нужное место кода.
При написании программы используются стандартные для любого языка программирования элементы и структуры: числовые и строковые переменные, массивы, циклы, ответвления, функции, подпрограммы и т.д. – это всё есть в smart Basic. Здесь особо хочется отметить простоту работу с переменными и то, что smart Basic одинаково легко понимает комплексные и действительные числа и должным образом вычисляет их.
Теперь о возможностях. Возможности smart Basic впечатляют!
Главное достоинство приложения – быстродействие. Мне как не специалисту трудно оценить этот параметр в долях секунды, но то, что программа сделанная в smart Basic, к примеру, может успеть просмотреть двухмерный массив (150,150), произвести необходимые расчеты и изобразить на экране по координатам точек данного массива разные изображения практически мгновенно – это совершенно точно. Правда здесь есть один нюанс: быстродействие зависит от модели вашего устройства и заложенных в нем параметров. К примеру, свои программы я тестирую на iPad 4 и иногда на iPad mini и конечно же, одна и та же программа сделанная в smart Basic в плане быстродействия будет немного отличаться на этих двух устройствах и этот факт при создании новой программы с целью использования на разных устройствах надо учитывать.
Практически все системные фичи устройства Apple можно использовать в своих программах:
- навигация, акселерометр, компас, камера;
- текущие данные и параметры своего устройства: тип, имя, операционная система, тип экрана (ретина-не ретина), процент зарядки, время и дата и т.д…
- элементы интерфейса: кнопки, поле ввода текста, ползунки, переключатели, листы;
- мультитач на 11 (!) одновременных касаний экрана устройства и многое-многое другое…
На мой взгляд, в smart Basic очень удачно реализована возможность работы с файлами и папками. Для данного вида работы разработчик предусмотрел очень много полезных команд. Файлы и папки можно легко перезаписывать, переименовывать, сортировать, перемещать, удалять, создавать. Анализ содержимого папок и файлов, считывание и запись информации происходит практически мгновенно!
Smart Basic на сегодняшний день распознает следующие форматы файлов:
- текстовые (.TXT)
- аудио (.MP3, .WAV, .AIFF, .MID)
- изображения (.JPG, .PNG, .GIF, .BMP, .TIF, .ICO, .CUR, .XBM)
- наряду со стандартным комплектом шрифтов Apple возможна загрузка шрифтов формата (.TTF)
- видео (.MOV)
Для загрузки файлов в smart Basic предусмотрена синхронизация с облачным хранилищем Dropbox.
Особая тема для разговора – это графика!
Разве можно говорить что-нибудь положительное о приложении, которое подразумевает возможность программировать на устройстве Apple и не может работать с графикой? Конечно же нет! И поэтому разработчик этому компоненту уделил пристальное внимание.
Графика в smart Basic восхитительна! Изображение выводится на экран быстро и четко. Лично я фоны и изображения (в основном для своих программ) рисую в Photoshop, а потом в виде графических файлов использую в своих программах. Но в smart Basic есть большой набор для автономной работы с графикой непосредственно на программном уровне: вся палитра цветов, тени, прозрачность, заливка фона и фигур, заливка контура по координатам точек, рисование линий, дуг и различных фигур и многое другое – все это очень легко поддается программированию.
Лично я всегда считал и считаю уход Apple в сторону безликости и серости в виде продвижения IOS 7 большим недоразумением. Создавать мощные и элегантные устройства и в тоже время продвигать убогий, бледный и безвкусный дизайн… – это выше моего понимания. Обладая таким мощным графическим инструментом в smart Basic я могу быть абсолютно не привязанным ни к каким рамкам и смело создавать многофункциональные приложения, которые действительно мне по душе и просто радуют глаз.
Ну и венцом графических изысков приложения можно считать спрайты. Если кто-то не знает, что это такое, точное определение есть в интернете, а на простом языке, спрайт – это изображения, которые можно перемещать по экрану независимо от фона. Да-да, с помощью smart Basic можно легко и не принужденно делать полноценные динамичные игры. Работа со спрайтами в smart Basic доставляет истинное удовольствие. Спрайтам в документации определен целый раздел, команд очень много. Спрайты можно создавать из готовых изображений или же с помощью встроенных графических инструментов, удалять, прятать, перемещать, крутить, разворачивать в зеркальном отображении, задавать их прозрачность, изменять размер и масштаб, учитывать их столкновения и многое другое.
Также приложение позволяет работать со спрайт-листами, что по-своему уникально, а также загружать анимированные GIF-изображения в качестве спрайтов.
Ну и конечно спрайты можно анимировать! Я не знаю как работа со спрайтами реализуется в других языках программирования, но проще чем в smart Basic думаю быть не может!
Как я сказал чуть выше, с помощью smart Basic можно программировать динамичные игры, но какая игра без музыкального сопровождения? К возможности работать со звуком автор приложения шел очень долго и после тщательной и кропотливой работы весной этого года пользователи приложения услышали голос smart Basic… Мало кто предполагает, что iOS-девайс – это полноценный МИДИ-синтезатор. А вот smart Basic позволяет раскрыть все его возможности. В приложении более сотни встроенных инструментов, поддержка 16 каналов миди, возможность загрузки своих банков инструментов.
Благодаря всему этому тонкий знаток музыки по нотам может создать свою неповторимую композицию, ну а при большом желании можно спрограммировать и нарисовать целую студию, которая не будет уступать по своим возможностям фирменному эйпловскому Garage Band. Ну а для тех, кому сложно работать с миди-инструментами, разработчик добавил возможность работы с готовыми файлами основных аудиоформатов.
К примеру, я в своих приложениях звучание миди инструментов использую для коротких звуковых сигналов, ну а для фоновой музыки или сложной озвучки каких либо действий в программе применяю готовые композиции в формате .mp3. Здесь отмечу, что smart Basic воспроизводит музыку даже в спящем режиме устройства, что прекрасно демонстрирует моя программа Аудиоплеер.
Помимо вышеперечисленных возможностей отмечу еще ряд деталей, которые поддаются программированию:
- полный набор основных математических функций;
- большой комплект сетевых команд (в частности в своей программе вы легко можете создать свой браузер и просматривать сайты);
- работа с буфером обмена устройства;
- таймер;
- возможность определения языка устройства (предназначено для создания мультиязычных приложений);
- и многое, многое другое.
Ну и в заключении описания возможностей приложения я не могу не отметить то, что каждую свою программу, сделанную в smart Basic, вы можете запускать с иконки рабочего стола вашего устройства как полноценное приложение из App Store! Данная возможность уникальна для подобного рода приложений и лично у меня вызывает бурю положительных эмоций!
Программирование
Так как это приложение для программирования пользователь должен понимать, что для получения какого-либо результата необходимо создать и выполнить программу. Для представления принципа программирования разработчиком предусмотрен раздел с примерами программ. Каждый пример можно запустить у себя на устройстве, а также просмотреть код программы.
На форуме поддержки пользователи также публикуют свои работы. Все программы на форуме доступны для скачивания и установки на свое устройство через облачное хранилище Dropbox.
Для обзора я специально подготовил небольшой видеоролик, где попытался показать возможности smart BASIC на примере своих программ. Всё, что вы увидите в ролике, от первого до последнего кадра, всё это сделано в smart Basic. Всё это сделано не программистом, а обычным пользователем на обычном iPad 4.
Заключение:
Ну вот и написан мой обзор. Как получилось – так и получилось.
В заключении сделаю несколько своих, субъективных выводов, основанных только на своих ощущениях:
- Это приложение стало моим главным хобби (за не полный год мною написано порядка 50 программ, половина из которых – это абсолютно полноценные приложения на моем устройстве, которыми пользуется вся моя семья);
- Принцип программирования в smart BASIC очень прост и поэтому делать свои программы сможет каждый пользователь при двух условиях: терпение и желание.
- Лично для меня ни одно приложение из App Store не доставляет столько удовольствия, сколько это делает сделанная своими руками программа;
- smart BASIC дает толчок к творчеству и к новым знаниям.
Спасибо, что дочитали! :)
Полезные ссылки:
Планшет iPad от компании Apple — всем известное и не нуждающееся в рекламе устройство. Но очень часто хочется использовать всю мощь этого устройства не только для игр и развлечения, а для серьёзной работы. Например для написания программ. Несмотря на 4-x летнею историю развития этого гаджета и наличие разных моделей удобных сред для программирования под iOS существует крайне мало. (Оговорюсь сразу, во избежании дальнейшей путаницы: программирование на iOS — значит написание кода и запуск программы на iPad или iPhone, а программирование для iOS — написание приложения, которое может быть выложено в App Store.)
Недавно я наткнулся на великолепную программку Pythonista, которая позволяет писать на iOS для iOS.
Краткое описание
И это действительно так. Программа является лучшим компилятором для Python.
На мой взгляд, лучшим это приложение делают 3 вещи:
- Не нужно интернет-подключение для запуска программы. iPad действительно становиться рабочей станцией;
- Есть всплывающие подсказки и встроенная документация (опять же без доступа к интернету);
- И, конечно, самое главное, это возможность экспорта в XCode.
Обзор
Среда ориентирована на Python 2.7. Но есть и некоторые фишки из 3-й ветки. Например, сработает и такой код:
Кроме стандартных библиотек, есть несколько библиотек для непосредственной разработки для iOS. Остановлюсь на одной. Она называется ui и отвечает за GUI.
Рассмотрим несколько примеров работы с этой библиотекой. Очень интересно, что в Pythonista графический интерфейс можно задавать программно, а можно нативно:
Это первый пример по работе с библиотекой ui. Разберём программу построчно:
1) Сначала создаём объект View;
2) Потом задаём имя этого объекта, оно будет отображаться в его заголовке;
3) Устанавливаем цвет фона объекта — белый, можно задавать словом, а можно при помощи RGB;
4) Создаём кнопку с надписью «Tap me!»;
5) Размещаем кнопку на объекте;
6) Задаём функцию, которая будет выполняться при нажатии на кнопку. (В данном случае изменится надпись на кнопке);
7) Уточняем, что «button» является наследником «view»;
8) Наконец, вызываем метод view.present() для отображения объекта на экране iOS устройства.
Вот что будет происходить на айпаде:
Но тоже самое можно сделать и нативно:
1) Создадим скрипт с UI:
2) Открыв UI, нажмем на кнопку "+" и выберем button:
3) Растянем кнопку и разместим её по центру экрана:
4) Откроем атрибуты кнопки и зададим функцию, срабатывающую при её нажатии:
4) Перейдём в редактор скрипта и напишем функцию:
Скажем, к какому UI привязать данный скрипт:
5) Запустим программу:
В завершение
В завершение хочу сказать, что представленный мною обзор далеко не полон и не раскрывает всех функций этой программы. Множество примеров, отличное описание библиотек — всё это позволит довольно быстро разобраться во всех свойствах этого приложения.
Рекомендую посетить сайт создателей Pythonista. На нём есть документация , к сожалению, только на английском языке.
UPD: Читайте мою статью посвящённую этой программе и автоматизации iOS в февральском номере журнала ][акер
Читайте также: