Кодим на iPad и iPhone: редакторы кода, компиляторы, shell-клиенты и сетевые утилиты для iOS. IOS-разработка для начинающих: учимся создавать приложения для iOS с нуля

Submitted by AtH on пн, 08/02/2016 - 04:17

Уже несколько лет я веду список самых интересных приложений для iPhone"ов и iPad"ов, а именно калькуляторов (включая эмуляторы советских и зарубежных ПМК) и средств программирования - от текстовых редакторов до компиляторов. Список включат также документацию, средства создания веб-сайтов и редактирования веб-страничек, электронные таблицы, математические пакеты и много других полезных инструментов.

На 16 мая 2018 года список набрал 7603 просмотров и содержит 276 лучших приложений. Это 31 веб-страница. Эмуляторы программируемых калькуляторов фирмы HP начинаются на 6-й странице , а советских ПМК на странице 11 . Веб-программирование идёт сейчас со страницы 19 , а более серьёзные языки начинаются со следующей страницы и страницы 23 . На странице 27 начинаются приложения, связанные с пакетом TeX. В список я включал только лучшее, в лучшей комплектации. Например, для мощного (и относительно совместимого с HP 50g) программируемого калькулятора ND1 стоимостью $2,99 есть бесплатная урезанная версия ND0 того же автора, отсутствующая в списке.

На 8 февраля 2016 года из этих приложений 46 бесплатных (могут содержать встроенные покупки), а все оставшиеся стоят $1083,67 USD - то есть дороже, чем стоит сам айфон. Впрочем, покупать их все необязательно. Функционально многие приложения дублируют или перекрывают возможности друг друга, причём для многих задач есть недорогие или даже бесплатные приложения. Из платных 75 приложений стоят по $0,99 и ещё 33 стоят по $1,99. 18 приложений стоят по $9,99 и только 15 приложений стоят дороже этого. Следующие четыре приложения стоят дороже $20 (цены на 8 февраля 2016 года):

  • $39,99 - математический пакет MathStudio (во время скидок можно приобрести за пол-цены). Онлайн-версия бесплатна по адресу mathstud.io
  • $29,99 - фирменный калькулятор TI-Nspire™ CAS (три года назад была распродажа за $4,99). «Железный» TI-Nspire CAS (англ.) на Амазоне стоит $118,88 плюс доставка.
  • $29,99 - AppCooker , средство для разработки прототипа приложения на iPad (бывают распродажи, вплоть до бесплатной раздачи)
  • $24,99 - i41CX+ , версия программируемого RPN-калькулятора HP-41CX (англ.) с лентой принтера и CAS (распродаж не было, осенью продавец повышал цену до $30,99). Есть версия i41CX за $7,99 плюс IAP, и отдельно iCAS за $14,99

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

  • Coda ($9,99) - профессиональная разработка и поддержка веб-сайтов. Редактор с подсветкой синтаксиса, загрузка по FTP и т.п., клиент SSH, предварительный просмотр и просмотр «по воздуху» на компьютере… Coda работает даже на айфоне.
  • Smart BASIC ($6,99; бывают распродажи вплоть до $0,99) - невероятно мощная версия Бейсика для программирования «на борту», на Маке возможна компиляция и создание полноценного приложения с помощью X-code. Написана нашей соотечественницей Еленой Колчиной. Подробней читай обзор на iPadStory .
  • Codea ($14,99) - такая же мощная среда разработки, но для языка Lua . Работает только на iPad"е. Чтобы на айфоне программировать на Lua, существуют другие приложения.
  • Pythonista ($9,99) - среда разработки для Питона . На веб-сайте немецкого приложения Pythonista (англ.) выложена англоязычная документация (англ.) и есть форум (англ.).
  • DraftCode PHP IDE ($6,99) - полноценная интегрированная среда разработки для PHP , со встроенным веб-сервером. Позволяет разрабатывать приложения на PHP в оффлайне.
  • Retro ($0,99) - активно развивающийся лаконичный язык программирования, вдохновлённый Фортом. Retro ушёл от Форта значительно дальше, чем моя . Автор посвятил Retro свой веб-сайт (англ.).
  • TeX Writer ($9,99) - полноценная среда для TeX /LaTeX с компиляцией в PDF. Тоже работает в оффлайн.
  • MyScript MathPad (бесплатно, но полная версия $2,99 как IAP) - рисуешь на экране формулу, приложение переводит её в код TeX. Я её иногда использую при работе над

Российский разработчик Дмитрий Ковба выпустил серию приложений, которую могут оценить не только начинающие девелоперы, осваивающие новые для себя языки программирования, но и гики, желающие осуществлять сложные математические вычисления на своем 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. Благодарим за участие!

Мы продолжаем цикл статей об использовании iPad Pro вместо компьютера. Однако на этот раз о своих сценариях применения планшета будут рассказывать наши читатели - так можно получить более разностороннюю картину об использовании устройства.

Кнопки, которые ведут в магазин App Store, сопровождаются аффилированными ссылками.

Я программист, научился писать код сам. Начал с Python, затем изучил C, bash, работу с облачными сервисами и создание iOS-приложений. В течение последних двух лет верстал несколько сайтов, писал утилиты для автоматизации работы, серверный и мобильный софт.

Полгода назад я решил купить дополнительное устройство к 15-дюймовому MacBook Pro, чтобы программировать вне дома. Отказавшись от идеи второго компьютера с меньшей диагональю экрана, выбрал iPad Pro из-за сенсорного дисплея, цены и компактности.

Я часто бываю в гостях - в поездку проще взять iPad, чем MacBook. Планшет тоньше и легче; его можно зарядить везде, а с компьютером приходится брать блок питания и переходники.

Устройство

У меня iPad Pro 9.7″ с дополнительной клавиатурой и Apple Pencil. Планшет, аксессуары и приложения обошлись в 45 тысяч рублей.

Клавиши на оригинальной клавиатуре Smart Keyboard для iPad 9.7″ маленькие, но я к ним привык и печатаю быстро. Apple интегрировала большинство комбинаций «горячих» клавиш с macOS, а некоторые приложения добавляют еще и свои - например, Textastic.

Apple Pencil работает неделю и заряжается за 30 минут. Недостаток - карандаш сделан из дешевого глянцевого пластика, который быстро загрязняется, а колпачок треснул через месяц после покупки.

Мой сценарий использования - программирование и просмотр видео. Дисплей яркий и четкий, аккумулятор держит три-четыре дня. Тачскрин прижился в рабочем процессе - на нем удобнее перетаскивать блоки текста, переключаться между приложениями в режимах разделённого экрана Split View и Slide Over.

Программы

На iOS сильно ограничено взаимодействие с файловой системой и нет доступа к терминалу, поэтому программировать сложно. Но возможно.

Для своих задач я использую четыре приложения:

Иронично, что на iPad особенно неудобно программировать приложения для iOS. Здесь нет линтера, рефакторинга, Interface Builder и компилятора. По причине отсутствия среды разработки на планшете, мобильный софт я пишу только на ноутбуке.

Termius это приложение для доступа к удаленным серверам через SSH или Telnet. Через него я удаленно выполняю те действия, которые не может сделать iPad - например, исполняю shell-скрипты.

Чтобы не пришлось при каждом подключении вводить логин и ключ доступа, рекомендую создать пользователя и привязать к нему пароль или SSH-ключ . Для добавления хоста, укажите IP-адрес и выберите пользователя, которого создали раннее. Откроется окно терминала.

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

Termius сложно использовать без физической клавиатуры. Разработчики включили панель с дополнительными клавишами, но быстро печатать с ее помощью у меня не получается.

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

Скачать Termius (афф)

Working Copy - продвинутый Git-клиент для iOS. Мне он нравится понятным интерфейсом и обилием действий, для запуска которых не нужно обращаться к командной строке.

Для удобства работы добавьте в Working Copy учетные записи и хосты, на которых хранятся репозитории. Приложение поддерживает «из коробки» GitHub, GitLab, BitBucket и GitBook - а если у вас свой Git-сервер, то вы можете указать его в настройках.

Чтобы клонировать и обновлять репозитории, добавьте на хост SSH-ключ, который сгенерирует приложение. Так Working Copy получит список репозиториев, из которых вы сможете выбрать те, которые вам нужны на iPad - я сохраняю на устройстве все, с которыми активно работаю.

В Working Copy есть встроенный редактор кода и текста - в нем подтормаживает подсветка синтаксиса и русские/английские символы отображаются разным шрифтом. Тем не менее, он подходит для быстрого исправления ошибок или написания коротких программ. Для более серьезных задач я использую редактор

Приложение показывает изменения, которые вы сделали с последнего коммита, и предлагает просмотреть их в совмещенном режиме или в раздельном (эквивалент git diff). При коммите приложение откроет всплывающее окно и покажет поле для описания коммита вместе со списком измененных файлов. В нем есть счетчик символов - следую ему, чтобы сделать сообщения максимально информативными.

Working Copy умеет исполнять команды fetch , fast-forward , pull и merge с удаленного сервера. При совмещении (merge) приложение покажет конфликты и предложит выбрать с помощью свайпов правильный вариант.

Для каждого репозитория программа строит графическое дерево коммитов. Тут же происходит работа с ветками (branch). К сожалению, в приложении нельзя создать «осиротевшие» ветви (orphan branch) - мне это нужно, когда начинаю работать над новыми версиями программ.

Working Copy доступна в App Store бесплатно. Однако за одноразовый платеж в 1150 рублей вы разблокируете темную тему и загрузку коммитов на удаленные серверы (git push). Премиум-версию приложения можно протестировать на протяжении десятидневного пробного периода.

Скачать Working Copy (афф)

В Textastic я пишу программы на Python и веб-сайты на HTML, CSS и JS. Редактор работает с проектами в памяти устройства и в приложении «Файлов». Это удобно, так как Working Copy интегрирован в «Файлы» - импортирую репозитории прямо из него. Все изменения появляются в Git-клиенте в реальном времени.

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

Для отладки тут есть встроенный браузер, возможности показа страницы в Safari и быстрой отправки результата в виде письма.

По умолчанию редактор показывает панель со спецсимволами над основной клавиатурой. Если у вас есть внешняя, панель лучше отключить - она бесполезна

В редакторе есть перенос строк и замена табов пробелами. Его цветовая гамма и шрифты меняются в настройках. Код JS и других языков программирования подсвечивается, но линтера нет. «Кривая» подсветка показывает, когда в код закрадывается типографическая ошибка.

В Textastic встроен файловый менеджер, который распаковывает ZIP-архивы, поддерживает навигацию по директориям и импорт изображений с указанием имени конечного файла (эта функция бы пригодилась в Working Copy).

Скачать Textastic (афф)

Pythonista это Python IDE на iOS. После покупки Pythonista (749 рублей) установите StaSh - скрипт, который создает настраиваемую виртуальную консоль. Она эмулирует некоторые классические команды терминала, вроде cat , rm , git , ssh , scp . Расширение поддерживает исполнение скриптов в фоновом режиме до тех пор, пока приложение «висит» в оперативной памяти.

В Pythonista встроены популярные пакеты, как bs4 и requests . Остальные можно установить через pip в StaSh. Я однажды столкнулся с проблемой, что StaSh установил расширение для Python 2 или старую версию для Python 3, из-за чего у меня не получилось исполнить скрипт.

В интерактивной консоли работает визуализация графиков, созданных через matplotlib . Редактор кода автоматически дополняет код на Питоне, переносит строки и заменяет табы пробелами. Линтера нет, все ошибки появляются при рантайме - текст некоторых из них не полностью помещается в окно, поэтому для отладки приходится запускать приложение через StaSh.

К сожалению, в Pythonista нет тесной синхронизации с Working Copy, как в Textastic. Однако, пользователи написали инструкцию, как переносить файлы из одного приложения в другое.

Разработчик Pythonista сделал большой акцент на UI-программирование. Приложение поддерживает файлы.pyui и предоставляет библиотеки для программирования специфичной функциональности iOS. Я никогда не пользовался этими возможностями приложения.

Как бонус, Pythonista работает и на iPhone. Пару раз мне это пригодилось - написал консольную утилиту, которая считает цены покупки и продажи криптовалюты.

Скачать Pythonista 3 (афф)

Итог

iPad Pro стал удачным дополнением к MacBook - он удобнее компьютера для программирования на протяжении нескольких часов в дороге или поездках. Приложения же предоставляют комфортный минимум необходимых функций для повседневных задач.

Приложение Swift Playgrounds научит легко и увлекательно программировать

Новое приложение для iPad обучает программированию и вдохновляет на творческие эксперименты

САН-ФРАНЦИСКО - 13 июня 2016 г. - Сегодня компания Apple представила Swift Playgrounds, инновационное приложение для iPad, c которым все желающие смогут легко научиться программировать. Интерактивный интерфейс Swift Playgrounds помогает начинающим изучить Swift - простой в освоении язык программирования Apple, на котором профессиональные разработчики создают приложения мирового уровня. Swift Playgrounds включает в себя созданные Apple уроки программирования, где учащиеся пишут код, чтобы проводить экранных героев по увлекательному графическому миру, решая загадки, выполняя задания и осваивая важнейшие навыки программирования. Встроенные в приложение шаблоны помогают учащимся воплощать свои творческие замыслы и создавать реальные программы, которые можно отправлять друзьям через Почту и Сообщения или даже публиковать в интернете.

«Я жалею, что у меня не было Swift Playgrounds, когда я впервые учился программировать, - сказал Крейг Федериги, старший вице-президент Apple по программному обеспечению. - Приложение Swift Playgrounds уникально в своём роде: оно очень лёгкое для освоения, но достаточно мощное для написания настоящего кода. Оно объединяет программирование с реальной жизнью и помогает новому поколению освоить навыки, необходимые для самовыражения».

«Новое приложение Apple Swift Playgrounds - одно из самых мощных и доступных образовательных приложений, которое я когда-либо видела. Нам не терпится включить его в новую учебную программу, - говорит Джин МакДоналд, основатель учебного лагеря для девочек App Camp. - Оно даёт нашим учащимся лёгкий и увлекательный способ изучить основные принципы программирования на iPad, а также освоить язык Swift. Эти знания пригодятся им независимо от выбранной специальности».

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

В дополнение к урокам, Swift Playgrounds включает ряд встроенных шаблонов, которые помогут амбициозным разработчикам выразить себя. На основе этих шаблонов учащиеся и разработчики могут создавать собственный код, добавляя графику и элементы управления. Swift Playgrounds даёт практически безграничные возможности для создания интерактивных программ на основе Swift и платформ iOS. Вы можете начать с пустого документа Playground или с одного из встроенных шаблонов. Постепенно осваивая графику и интерфейс, учащиеся придут к созданию мощных приложений, реагирующих на касания, задействующих акселерометр и устройства Bluetooth. А поскольку в Swift Playgrounds используется реальный код Swift, проекты можно экспортировать напрямую в Xcode, чтобы создавать программы для iOS и macOS, а затем превращать их в полноценные приложения.

Приложение Swift Playgrounds с самого начала создавалось для интерфейса Multi-Touch на iPad, поэтому вы можете составлять программы всего несколькими касаниями. На новой клавиатуре для программирования можно легко вводить символы, часто применяемые в Swift, используя жесты смахивания по клавишам. Панель вкладок показывает наиболее вероятные дальнейшие команды в зависимости от контекста. На всплывающей клавиатуре можно просто коснуться цифры, чтобы её отредактировать, коснуться цвета, чтобы показать панель выбора цветов, и даже перетащить границы цикла или функции, чтобы встроить их в существующий код. Можно также перетаскивать фрагменты кода из библиотеки, чтобы создавать новый мощный код почти без ввода команд. Ваши программы великолепно выглядят при запуске на большом дисплее Retina на iPad, а жесты Multi-Touch и датчик ускорения делают управление ещё более увлекательным.

Доступность
Предварительная версия Swift Playgrounds уже сегодня доступна участникам программы Apple Developer Program в составе предварительной версии iOS 10 для разработчиков, а в июле станет доступна в составе общедоступной бета-версии iOS 10. Окончательная версия Swift Playgrounds станет бесплатно доступна в App Store этой осенью. Swift Playgrounds работает на iPad Air и iPad Pro, а также iPad mini 2 и новее под управлением iOS 10. Подробная информация, видеоролики, изображения и демонстрации доступны на сайте .

Компания Apple произвела революцию в мире персональных устройств, представив в 1984 году Macintosh. Сегодня Apple является мировым лидером в области инноваций, выпуская iPhone, iPad, Mac, Apple Watch и Apple TV. Четыре программных платформы Apple - iOS, macOS, watchOS и tvOS - обеспечивают идеально слаженную работу всех устройств Apple и предоставляют пользователям уникальные сервисы, включая App Store, Apple Music, Apple Pay и iCloud. 100 000 сотрудников Apple полностью посвящают себя созданию лучших продуктов на Земле и помогают сделать мир лучше, чем он был до нас.

Контакты для прессы:
Сергей Исаков
Apple

+7 495 961 24 54

    © Apple Inc., 2016 г. Все права защищены. Apple, логотип Apple, Swift Playgrounds, iPad, Swift, Xcode, macOS, Multi-Touch, Retina, App Store, iPad Air, iPad Pro и iPad mini являются товарными знаками Apple. Другие названия компаний и продуктов могут являться товарными знаками соответствующих владельцев.

Эта статья открывает цикл, предназначенный для новичков. Смею надеяться, что уровень подачи материала позволит разобраться в нем даже людям не знакомым с программированием. Начнем наше повествование с небольшого лирического отступления. Приложения для 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" на панели сверху. Если Вы Все сделали правильно, то должен запуститься эмулятор с Вашей программой. Щелкните по кнопке. Текст в строке должен измениться. Вот и все. С первым уроком покончено