Домой / Группы / Как написать программу для ipad. Разрабатываем дизайн программы для iPhone. Нативные iOS приложения

Как написать программу для ipad. Разрабатываем дизайн программы для iPhone. Нативные iOS приложения

  • Программирование
  • Программирование - процесс творческий и часто желание написать кусок кода или сиюминутно исправить ошибку становится просто невыносимым. Иногда написания кода требуют внешние обстоятельства, как то критичная ошибка в коде, которая валит проект. Для сотрудников, занимающих руководящие позиции в команде, нужна возможность провести 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 и показывать курсор на экране, чтобы не приходилось постоянно «тыкать» в экран.

    Программирование - процесс творческий и часто желание написать кусок кода или сиюминутно исправить ошибку становится просто невыносимым. Иногда написания кода требуют внешние обстоятельства, как то критичная ошибка в коде, которая валит проект. Для сотрудников, занимающих руководящие позиции в команде, нужна возможность провести 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 и показывать курсор на экране, чтобы не приходилось постоянно «тыкать» в экран.

    Как известно, 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 пригодным для программирования. А это было бы просто великолепной новостью.

    Эта статья открывает цикл, предназначенный для новичков. Смею надеяться, что уровень подачи материала позволит разобраться в нем даже людям не знакомым с программированием. Начнем наше повествование с небольшого лирического отступления. Приложения для iPhone и iPad пишутся на языке Objective-C. Этот язык широко использовался в компании NeXT и пришел в Apple после возвращения Стива Джобса. В настоящее время Objective-C является основным языком разработки OS X и iOS приложений.

    Для того, чтобы начать программировать под iOS, Вам понадобится компьютер Mac на базе процессора Intel и среда разработки XCode. Если у Вас нет Mac-а - не беда. Возможно Вам подойдет один из описанных методов решения этой проблемы. Мы будем ориентироваться на XCode 4 и iOS5.

    Установка XCode

    Для начала нам придется зарегистрироваться наApple-овском dev сайте. Перейдите по ссылке и нажмите на register. Щелкните кнопку Get Started и пройдите процесс регистрации. Там все довольно просто, поэтому я не буду останавливаться на этом моменте. После регистрации Вам пришлют письмо с вашим Apple ID. Вернитесь на страницу Apple Developers и используйте его для входа в защищенную зону. В разделе DevCenters щелкните по ссылке iOS. Как видите, Apple предлагает вам кучу документации, исходников и уроков. На этой странице есть все, что нужно для начала разработки под iOS. В самом низу есть кнопка Download Xcode, которую нужно нажать. После загрузки установите Xcode на свой Mac.

    Знакомство с интерфейсом XCode 4

    Для запуска Xcode перейдите на свой главный диск и щелкнете по developer>Applications.

    После того, как Xcode запустится, выберите пункт меню File>New Project, затем "Single View Application" и введите в качестве имени проекта (Product Name) HelloWorld. В результате у вас должно отображаться что-то вроде этого

    Весь Ваш код и ресурсы разложены по специальным папкам, которые располагаются в левой части окна Xcode. Панель называется "Project Navigator" и содержит все элементы Вашей программы. Файлы с исходным кодом имеют расширение ".h" и ".m". Если вы щелкните по такому файлу, то в правой части Xcode откроется редактор с кодом.

    Не будем пока останавливаться на коде. Мы вернемся к этому вопросу чуть позже. Если Вы посмотрите на верхнюю часть экрана, то увидите несколько кнопок, связанных с Вашим проектом. Изучим эту панель подробнее.

    Кнопка "Run" запускает ваш проект. Вы можете протестировать свое приложение и убедиться, что оно ведет себя действительно так, как вы того ожидаете. Кнопка "Tasks" останавливает запущенное приложение.

    С помощью кнопки Schemr можно выбрать целевую платформу, где будет запускаться ваше приложение. Здесь вы можете выбрать какой-нибудь simulator, и отлаживать программу на компьютере, или запустить ее на своем iPhone (iOS Device), если Вы заплатили сбор в $99. Единственное преимущество, которое дает этот платеж - возможность запускать программу на реальном устройстве и размещать ее в App Store. Я бы не рекомендовал Вам тратиться до того момента, пока у Вас не будет готова нормальная программа.

    Breakpoints (точки остановки) - очень полезная штука. С помощью этой кнопки вы можете отметить в исходном коде строки, и когда в ходе выполнения программы дело дойдет до помеченной строки, программа приостановится, и вы сможете посмотреть состояние переменных. Это очень мощный и повсеместно используемый инструмент.

    Нажмите кнопку "Run". Вы увидите окно эмулятора со своим проектом. Как видите, пока он не блещет функциональностью - это просто заготовка.

    Программирование для iPhone -Первый шаг

    Довольно ходить вокруг да около, давайте что-нибудь закодим. В окне Project Navigator содержатся файлы с исходным кодом. Щелкните по какому-нибудь.m файлу. Обратите внимание, некоторые строки окрашены в зеленый цвет - это комментарии, которые выполняют роль шпаргалок. Чтобы не запутаться в коде, программист может оставлять себе подсказки и пояснения. Для обозначения комментариев в языке C используется сочетание слешей //. Все, что находится в строке правее этих знаков, считается комментарием. Если Вы хотите написать многострочный комментарий, то можете использовать сочетания /* и */ для обозначения начала и конца многострочного комментария.

    Прежде чем приступить к написанию кода приложения, я должен а пальцах объяснить вам несколько концепций: ООП (объектно-ориентированное программирование), MVC (Modal View Controller), ".h" и ".m" файлы. Итак... объектно-ориентированное программирование предполагает разделение всего кода на так называемые объекты, внутри которых хранятся данные и обрабатывающие их команды. Объект в Objective-C состоит из двух файлов.h и.m. Файл.h называется заголовком (header) в нем содержится "набросок" объекта - перечисляются все данные и названия блоков команд (методов), содержащихся в объекте. Файл.m называется файлом реализации (implementation) и в нем подробно расписывается все то, что указано в заголовке именно здесь программируется вся логика программы.

    MVC (Model View Controller) - это нечто, разделяющее код и интерфейс, который видит пользователь. Model - это данные пользователя и данные, которые вы показываете пользователю. View - это пользовательский интерфейс и код, который обеспечивает связь между View и Model. Концепция MVC может сейчас показаться Вам слишком заумной, однако со временем Вы увидите, что этот подход действительно упрощает жизнь программиста. Эта концепция подразумевает следующий порядок работы: программист отдельно создает шаблон дизайна приложения, где размещает все кнопки, текстовые поля и прочую важную ерунду, и отдельно пишет программ. Потом он показывает XCode какой метод(блок кода) должен вызываться в ответ на то или иное действие пользователя и какое название имеет тот или иной элемент управления в тексте программе.

    Разрабатываем дизайн программы для iPhone

    Давайте начнем создание нашего приложения с разработки дизайна. Щелкните в окне Project Navigator по строке MainStoryboard_iPhone.storyboard. В результате XCode запустит редактор интерфейса.

    В правом нижнем углу Вы видите список объектов (Library), которые можно использовать в своем интерфейсе, в центральной части отображается окно View, которое и представляет макет интерфейса вашей программы. Правое верхнее окно имеет несколько режимов, которые переключаются с помощью расположенных над окном иконок. На рисунке показан режим Atribute Inspector. Здесь можно изменять различные атрибуты объектов, составляющих ваш интерфейс.

    Перетащим из окна Library объект Label на наш макет окна. С помощью мышки изменим размер объекта, как показано на экране ниже. В инспекторе отображаются свойства объекта Label. Давайте отцентрируем текст, щелкнув по соответствующей иконке в строке Layout.

    Удалим текст в поле Text (там было написано слово Label) и введем там “Some String”.

    Аналогичным образом добавьте на макет кнопку (объект Button)

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

    Начинаем кодить

    Итак, у нас есть два визуальных компонента размещенных на макете. Мы хотим чтобы при нажатии на кнопку менялся текст в строке. Чтобы реализовать эту задумку нам понадобится из кода программы обращаться к стороке (объект Label) и вызывать метод(блок кода) при нажатии на кнопку.

    Щелкните по файлу "ViewController.h" в панели слева. Мы собираемся описать IBOutlet. IBOutlet соединяет наш код с визуальным объектом, например с надписью (label) или кнопкой (button). Приведите код в файле ViewController.h к виду

    #import @ interface ViewController: UIViewController{ IBOutlet UILabel* label; //присвоим нашей строке имя Label } //это заголовок метода, который будет //вызываться в ответ на нажатие кнопки - (IBAction) buttonClick: (id) sender; @ end

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

    Итак, мы сказали, что будем называть строку с текстом label и что в ответ на действие пользователя будет вызываться метод buttonClick. Давайте напишем код этого метода. Переключимся на файл ViewController.m в дереве проектов. После строки@implementation... добавим код

    - (IBAction) buttonClick: (id) sender{ label. text= @ ”Hello from Mobilab. ru”; }

    Примечание, если Вы скопировали этот код, то вероятно при запуске программы у Вас возникнет ошибка, скорее всего проблема в ковычках. Удалите их и введите с клавиатуры.

    Давайте разберемся, что мы тут видим. Мы обращаемся к объекту label - строке текста на экране. Поскольку это объект, у него внутри есть разные данные (которые в ООП также называют свойствами объекта) и методы к которым можно обратиться, поставив точку после имени объекта. Свойство text отвечает за содержащийся внутри строки текст..

    Мы завершили кодирование, осталось связать label и buttonClick с элементами внутри макета дизайна. Щелкните в окне Project Navigator по строке MainStoryboard_iPhone.storyboard, чтобы переключиться в конструктор интерфейса. Зетем щелкните по иконке “View controller”. Переключитесь на режим connections в инспекторе (последняя иконка). Посмотрите, в инспекторе в области Outlets появилась строка label. Это то название, которое мы указали в файле ViewController.h. Щелкните по кружочку в правой части строки label и перетащите его на строку с текстом Some Text в макете дизайна.

    Аналогичную операцию проделайте с кнопкой. Щелкните по кнопке с кружочком в группе “Received Actions”, потом по buttonClick и перетащите ее на кнопку в макете. В результате раскроется контекстное меню, с помощью которого можно выбрать момент вызова метода. Можно, например, вызывать код, когда пользователь нажмет кнопку, можно когда отпустит. Там много вариантов. Выберите "Touch up Inside".

    Вот и все! Сохраняйте проект и щелкайте по кнопке "Run" на панели сверху. Если Вы Все сделали правильно, то должен запуститься эмулятор с Вашей программой. Щелкните по кнопке. Текст в строке должен измениться. Вот и все. С первым уроком покончено

    Знали ли вы что на iPad можно писать программы на COBOL и тут же их запускать? А про то что для iOS есть среда разработки для кодинга на Coffee Script? А с помощью какого приложения можно работать с текстом, используя команды vim? Вот 10 программ для работы с кодом на любой вкус.

    Textastic Code Editor

    Поддерживает интеграцию с основными облачными сервисами и протоколы для передачи данных на сервер. Удобен в использовании и сложно найти язык программирования с которым Textastic не умеет работать. Для звания идеального редактора кода ему не хватает возможности публиковать файлы на Github.

    Достоинства:

    • подсветка синтаксиса 80 языков программирования. Даже для такой экзотики как BibTex, Clojure, Dylan, Fountain, LilyPond, OCaml, Stata и Prolog;
    • можно добавлять собственные правила подсветки кода;
    • совместимость с TextMate;
    • поддержка FFT и SSH;
    • интеграция с iCloud и Dropbox;
    • автодополнение кода для Java Script, HTML и PHP;
    • клавиатура с дополнительными символами для набора кода;
    • поддержка шорткатов;
    • поддержка большинства современных кодировок;
    • возможность изменить тип и размер шрифта;
    • счетчик символов;
    • предпросмотр для HTML и Markdown файлов;
    • поддержка TextEspander;
    • отправка файлов по email;
    • есть кнопки «Undo» и «Redo»;
    • есть отображение списка последних открытых файлов;
    • поддержка iTunes FileSharing (можно обмениваться файлами с компьютером через USB);
    • поддержка WebDav;
    • отличный дизайн, благодаря которому код легко читается.

    Недостатки:

    • нет поддержки SVN;
    • нет поддержки Git.

    Цена: 479 рублей

    Koder

    По удобству и количеству поддерживаемых языков почти не уступает предыдущему конкуренту. Но стоит дешевле и чуть более приспособлен для веб-разработчиков. К примеру, в нем можно отлаживать веб-приложения с помощью FireBug.

    Достоинства:

    • поддержка почти сотни языков программирования. У Koder даже для ActionScript и ActionScript 3 разная подсветка;
    • автозаполнение кода;
    • справочники функций для самых популярных языков;
    • встроенный SSH-клиент;
    • система управления отступами;
    • можно включить клавиатуру с дополнительными символами;
    • поддержка Document Picker в iOS 8;
    • функции поиска и замены;
    • превью HTML файлов в браузере;
    • поддержка FireBug;
    • можно создавать собственные темы оформления;
    • блокировка приложения паролем;
    • поддержка iTunes File Sharing;
    • поддержка FTP;
    • открытие и сохранение файлов во всех популярных кодировках;
    • поддержка Zip-архивов;
    • улучшенный файловый менеджер.

    Недостатки:

    • нет поддержки Golang;
    • нет поддержки SVN;
    • нет поддержки Git.

    Цена: 349 рублей.

    Этот текстовый редактор можно скорее назвать универсальным, чем предназначенным для кодинга. Помимо HTML-файлов, bash-скриптов, исходников на C или Java в iEditor можно редактировать файлы Word, таблицы Excel и презентации.

    Достоинства:

    • возможность экспорта текстовых файлов в PDF и JPEG;
    • отправка файлов на печать;
    • отправка файлов по email;
    • возможность добавлять в текст фотографии;
    • поддержка файлов Microsoft Office;
    • удобный файловый менеджер;
    • работа с Zip-архивами.

    Недостатки:

    • может работать с довольно узким кругом языков программирования;

    Цена: 169 рублей.

    Еще один отличный редактор кода, стоящий в одном ряду с Textastic и Koder. Есть все удобства для написания кода, поддержка малопопулярных языков и фичи для работы в облаке.

    Достоинства:

    • поддержка FTP и SFTP;
    • поддержка Dropbox;
    • работа с SSH;
    • есть версия для iPod Touch;
    • автоматическая синхронизация с сервером;
    • поддержка 4 десятков языков программирования. В том числе Ada, Go, INI и Lua;
    • расширенная клавиатура;
    • поддержка шорткатов;
    • есть кнопки «Undo» и «Redo»;
    • функции поиска и замены;
    • превью для HTML-файлов;
    • большой выбор тем оформления;
    • отправка файлов по email;
    • поддержка vim команд.

    Недостатки:

    • нет поддержки систем контроля версий.

    Цена: 179 рублей.

    Gusto

    Это редактор заточен специально для веб-разработки. Исходники вместе с картинками группируются в проекты. Каждый проект соответствует отдельному сайту, для которого можно индивидуально настраивать синхронизацию с FTP-сервером.

    Достоинства:

    • все файлы (исходники, графика, видео) разделены по проектам-сайтам;
    • нумерация строк;
    • подсветка синтаксиса для основных языков программирования для веба;
    • можно создавать пользовательские схемы подсветки синтаксиса;
    • панель инструментов с наиболее часто используемыми командами;
    • поддержка FTP и SFTP;
    • поддержка FTPS;
    • интеграция с Dropbox;
    • есть версия для iPod Touch.

    Недостатки:

    • нет интеграции с системами контроля версий;
    • при передаче файлов случаются глюки.


    Цена: 599 рублей.

    Code Master

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

    Достоинства:

    Недостатки:

    • очень много языков программирования не поддерживаются;
    • нет интеграции с системами контроля версий.

    Цена: бесплатно

    Одна из старейших сред разработки под iOS. Заточена под создание веб-приложений на JavaScript.

    Достоинства:

    • поддержка CSS, HTML и JavaScript;
    • встроенный браузер для предпросмотра файлов;
    • все файлы организованы в проекты;
    • можно сохранять картинки в проект напрямую из интернета;
    • гибкая настройка темы оформления;
    • защита приложения паролем;
    • интеграция с Dropbox.

    Недостатки: не обнаружено.

    Цена: бесплатно.

    For i

    Это приложение выделяется среди других возможностью экспорта кода на Github или в Xcode. Оно не такое красивое и удобное как Textastic, но негативных эмоций во время работы не вызывает.

    Достоинства:

    • подсветка синтаксиса для основных языков программирования;
    • настройка персональных тем оформления;
    • расширенная клавиатура;
    • поддержка шорткатов;
    • автосохранения файлов;
    • поиск по тексту с поддержкой регулярных выражений;
    • интеграция с Github;
    • интеграция с XCode;
    • поддержка бандлов TextMate.

    Недостатки: не обнаружено.

    Цена: 599 рублей.

    Это приложение нельзя назвать полноценной средой разработки. Это скорее игрушка для любителей непопулярных языков программирования. Для тех кто давно мечтает написать «Hello World» на Pike и убедиться, что он работает.

    Достоинства:

    • есть возможность не только редактировать файлы исходников, но и запускать их на удаленном сервере;
    • поддержка iTunes Files Sharing;
    • интеграция с Dropbox;
    • расширенная клавиатура;
    • нумерация строк и функция «Goto Line»;
    • встроенный браузер для просмотра HTML-документов;
    • отправка файлов по email;
    • поддержка нескольких десятков языков программирования. В том числе Factor, COBOL, Unlambd и Smalltalk.

    Недостатки:

    • не всегда срабатывает выполнение исходников на удаленном сервере.

    Цена: 169 рублей.

    CoffeeScript At Once

    Еще одно приложение для веб-разработчиков. Для тех кому нативный Java Script по каким-либо причинам не подходит и он использует CoffeeScript.

    Достоинства: