SlideShare a Scribd company logo
1 of 33
Программирование в iOS<br />iOS — это операционная система, которая запускается на устройствах iPhone, iPod touch и iPad. Эта операционная система управляет оборудованием этих устройств и предоставляет технологии необходимые для написания платформенно-ориентированных приложений. Операционная система поставляется с различными системными приложениями, такими как «Телефон» (“Phone”), «Почта» (“Mail”) и браузер «Сафари» (“Safari”), которые предоставляют стандартные системные службы пользователю.<br />Набор средств разработки приложений для iOS (iOS SDK) включает инструменты и интерфейсы, необходимые для разработки, установки, запуска и тестирования платформенно-ориентированных приложений. Платформенно-ориентированные приложения собираются, с помощью системных библиотек iOS и языка программирования Objective-C и запускаются непосредственно в операционной системе iOS. В отличие от веб-приложений, такие приложения устанавливаются на устройство физически и поэтому всегда доступны пользователю, даже если устройство находится в режиме «Полета». Они располагаются вместе с другими системными приложениями, и, одновременно, сами приложения и пользовательские данные синхронизированы с компьютером пользователя через программу iTunes.<br />Архитектура iOS<br />Архитектура iOS схожа с базовой архитектурой операционной системы Mac OS X. На самом высоком уровне, iOS представляет собой промежуточный слой между оборудованием устройства и приложениями, которые отображаются на экране, как показано на рисунке 1-1. Очень редко приходится создавать приложения, которые будут обращаться к оборудованию напрямую. Вместо этого, приложения взаимодействуют с оборудованием через набор четко-определенных системных интерфейсов, которые защищают приложения от изменений оборудования. Эта абстракция позволяет очень легко писать приложения, которые корректно работают на устройствах с различными аппаратными возможностями.<br />Рисунок 1-1  Приложения расположенные в верхнем слое iOS <br />1714512065<br />Примечания: Хотя приложения в целом защищены от изменений оборудования, вам все равно приходится учитывать различия между устройствами при написании кода. Например, у некоторых устройств есть камера, а у некоторых ее нет. Если приложение умеет работать при наличии или отсутствии какой-то функции, то используя интерфейсы соответствующей библиотеки можно определить, доступна эта функция или нет.<br />Приложения, которым требуется наличие определенного оборудования, должны декларировать это требование в файле со списком свойств приложения (Info.plist). Для получения большей информации о декларировании необходимого оборудования смотрите раздел «Особенности конфигурирования приложений во время сборки» в «Руководстве написания приложений для iOS». <br />Реализация технологий iOS может быть представлена в виде набора слоев, которые показаны на рисунке 1-2. На самом нижнем слое операционной системы находятся основные службы и технологии, от которых зависят все приложения; на более высоких уровнях находятся более сложные службы и технологии. <br />Рисунок 1-2  Слои системы iOS<br />17145111125При написании своих приложений, везде, где это возможно, рекомендуется использовать библиотеки более высокого уровня, чем библиотеки низкого уровня. Библиотеки более высокого уровня написаны для того, чтобы обеспечить объектно-ориентированные абстракции для низкоуровневых структур. Эти абстракции существенно облегчают написание кода, потому что они уменьшают объем кода, который необходимо написать и скрывают достаточно сложные функции, такие как сокеты и потоки. И хотя они скрывают низкоуровневые функции, эти функции по-прежнему доступны для разработчиков. Разработчики, которые предпочитают использовать низкоуровневые библиотеки или хотят использовать возможности, которых не предоставляют высокоуровневые библиотеки, могут их использовать. <br />Технологии и библиотеки каждого уровня описаны в последующих главах этой документации. <br />Что включено в набор средств разработки приложений для iOS?<br />Набор средств разработки поставляется со всеми интерфейсами, инструментами и ресурсами, которые необходимы для разработки приложений iOS на вашем компьютере Macintosh с процессором Intel.<br />Apple предоставляет большую часть системных интерфейсов, расположенных в специальных пакетах, называемых библиотеками. Библиотека — это каталог, который содержит общие динамические модули, и ресурсы (такие как заголовочные файлы, картинки, вспомогательные приложения и т.д.), необходимые для работы этих модулей. Для использования библиотек, вам необходимо подключить их в проекте своего приложения, так же как и любой другой общий модуль. Связав библиотеку со своим модулем, у вас появляется доступ к функциям этой библиотеки. Это также позволяет инструментам разработки определить нахождение заголовочных файлов и других ресурсов библиотеки.<br />В дополнение к библиотекам, Apple также поставляет некоторые технологии в виде стандартных общих модулей. Так как iOS основана на системе UNIX, многие из них являются низкоуровневыми технологиями с открытым исходным кодом. Интерфейсы для этих технологий доступны в стандартной библиотеке и в каталоге с интерфейсами.<br />Некоторые другие ключевые компоненты средств разработки включают:<br />Инструменты Xcode — это инструменты, для разработки iOS приложений, в которые входят следующие ключевые компоненты:<br />Xcode — интегрированная среда разработки, которая управляет проектами приложений и позволяет редактировать, компилировать, выполнять и отлаживать ваш код. В Xcode интегрировано много других инструментов, но он является главным приложением, используемым во время разработки. <br />Interface Builder — инструмент, для графического создания пользовательского интерфейса. Создаваемые объекты интерфейса сохраняются в файле ресурсов и загружаются приложением во время выполнения. <br />Instruments— утилита для анализа производительности и отладки приложений во время выполнения. Вы можете использовать эту программу для сбора информации о поведении вашего приложения во время выполнения и для поиска потенциальных проблем.<br />Эмулятор iOS — это приложения для Mac OS X, которое эмулирует работу операционной системы iOS, позволяя вам тестировать ваши iOS приложения локально на компьютере Macintosh с процессором Intel. <br />Библиотека Разработчика iOS — справочная документация, в которой находится информация о технологиях и процессе разработки приложений iOS. Для получения подробной информации, смотрите раздел “Как использовать «Библиотеку разработчика iOS»”. <br />Хотя вы можете запускать приложения в эмуляторе iOS, инструменты Xcode также позволяют запускать и отлаживать приложения непосредственно на присоединенном устройстве. Эмулятор идеально подходит для сборки и быстрого тестирования приложений, но он не является заменой для тестирования на реальном устройстве. Разработка на реальном устройстве требует подписки в платной программе от Apple “iOS Developer Program” и конфигурирования устройства для разработки. Более подробную информацию о программе “iOS Developer Program” вы сможете найти в центре разработки под iOS (http://developer.apple.com/devcenter/ios). <br />Для получения подробной информации об установке набора средств разработки приложений для iOS и его использования при разработке приложений для iOS смотрите «Руководство разработки приложений для iOS». <br />Какие приложения вы можете создавать?<br />iOS поддерживает разработку приложений двух типов:<br />Платформенно-ориентированные приложения<br />Веб-приложения<br />Набор средств разработки приложений для iOS позволяет создавать платформенно-ориентированные приложения, которые отображаются только на Главном экране устройства. Но не поддерживается создание приложений других типов, например драйверов, библиотек, динамически подгружаемых модулей. Если вы хотите интегрировать код из библиотеки или динамически подгружаемой библиотеки в свое приложение, вам необходимо связать этот код статически с исполняемым файлом во время сборки проекта.<br />Для создания интерактивных веб-приложений, располагающихся на сервере, используют связку HTML, каскадных таблиц стилей (CSS) и JavaScript кода. Эти приложения передаются через сеть интернет и запускаются внутри веб-браузера “Сафари”. В отличие от таких приложений, платформенно-ориентированные приложения установлены непосредственно на устройство и могут запускаться при отсутствии сетевого соединения.<br />
Обзор Технологий iOS
Обзор Технологий iOS
Обзор Технологий iOS
Обзор Технологий iOS
Обзор Технологий iOS
Обзор Технологий iOS
Обзор Технологий iOS
Обзор Технологий iOS
Обзор Технологий iOS
Обзор Технологий iOS
Обзор Технологий iOS
Обзор Технологий iOS
Обзор Технологий iOS
Обзор Технологий iOS
Обзор Технологий iOS
Обзор Технологий iOS
Обзор Технологий iOS
Обзор Технологий iOS
Обзор Технологий iOS
Обзор Технологий iOS
Обзор Технологий iOS
Обзор Технологий iOS
Обзор Технологий iOS
Обзор Технологий iOS
Обзор Технологий iOS
Обзор Технологий iOS
Обзор Технологий iOS
Обзор Технологий iOS
Обзор Технологий iOS
Обзор Технологий iOS
Обзор Технологий iOS
Обзор Технологий iOS

More Related Content

Similar to Обзор Технологий iOS

Инсталляторы
ИнсталляторыИнсталляторы
Инсталляторыaepetelin
 
Среда разработки Eclipse by Cheburek
Среда разработки Eclipse by CheburekСреда разработки Eclipse by Cheburek
Среда разработки Eclipse by CheburekYa_Cheburek
 
10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoft10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoftKewpaN
 
Описание VivaVisualCode
Описание VivaVisualCodeОписание VivaVisualCode
Описание VivaVisualCodeTatyanazaxarova
 
#2 Введение в Android Studio Основные аспекты.pdf
#2  Введение в Android Studio Основные аспекты.pdf#2  Введение в Android Studio Основные аспекты.pdf
#2 Введение в Android Studio Основные аспекты.pdfSergeyAn2
 
Why have Google chosen our IDE as a platform?
Why have Google chosen our IDE as a platform?Why have Google chosen our IDE as a platform?
Why have Google chosen our IDE as a platform?Philip Torchinsky
 
сравнение Mac-os-x-linux-ubuntu
сравнение Mac-os-x-linux-ubuntuсравнение Mac-os-x-linux-ubuntu
сравнение Mac-os-x-linux-ubuntuAnyuta Roschina
 
Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработкиIT-Доминанта
 
Embarcadero All-Access
Embarcadero All-AccessEmbarcadero All-Access
Embarcadero All-AccessSerghei Urban
 
Что должен уметь Linux программист
Что должен уметь Linux программистЧто должен уметь Linux программист
Что должен уметь Linux программистru_Parallels
 
Afandiyeva kamala yazik programmirovaniya pascal
Afandiyeva kamala yazik programmirovaniya pascalAfandiyeva kamala yazik programmirovaniya pascal
Afandiyeva kamala yazik programmirovaniya pascalkamala_afandiyeva_zahs
 
Проект "Нихол"
Проект "Нихол"Проект "Нихол"
Проект "Нихол"E-Journal ICT4D
 
языки программирования
языки программированияязыки программирования
языки программированияDmitry Kulikov
 
Урок 5. Операционная система Windows
Урок 5. Операционная система WindowsУрок 5. Операционная система Windows
Урок 5. Операционная система WindowsANSevrukova
 

Similar to Обзор Технологий iOS (20)

Инсталляторы
ИнсталляторыИнсталляторы
Инсталляторы
 
Среда разработки Eclipse by Cheburek
Среда разработки Eclipse by CheburekСреда разработки Eclipse by Cheburek
Среда разработки Eclipse by Cheburek
 
10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoft10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoft
 
Описание VivaVisualCode
Описание VivaVisualCodeОписание VivaVisualCode
Описание VivaVisualCode
 
34
3434
34
 
Genome
GenomeGenome
Genome
 
iOs Architecture
iOs ArchitectureiOs Architecture
iOs Architecture
 
лекция 3
лекция 3лекция 3
лекция 3
 
#2 Введение в Android Studio Основные аспекты.pdf
#2  Введение в Android Studio Основные аспекты.pdf#2  Введение в Android Studio Основные аспекты.pdf
#2 Введение в Android Studio Основные аспекты.pdf
 
Why have Google chosen our IDE as a platform?
Why have Google chosen our IDE as a platform?Why have Google chosen our IDE as a platform?
Why have Google chosen our IDE as a platform?
 
сравнение Mac-os-x-linux-ubuntu
сравнение Mac-os-x-linux-ubuntuсравнение Mac-os-x-linux-ubuntu
сравнение Mac-os-x-linux-ubuntu
 
Lec 9
Lec 9Lec 9
Lec 9
 
Архитектура ROS
Архитектура ROSАрхитектура ROS
Архитектура ROS
 
Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработки
 
Embarcadero All-Access
Embarcadero All-AccessEmbarcadero All-Access
Embarcadero All-Access
 
Что должен уметь Linux программист
Что должен уметь Linux программистЧто должен уметь Linux программист
Что должен уметь Linux программист
 
Afandiyeva kamala yazik programmirovaniya pascal
Afandiyeva kamala yazik programmirovaniya pascalAfandiyeva kamala yazik programmirovaniya pascal
Afandiyeva kamala yazik programmirovaniya pascal
 
Проект "Нихол"
Проект "Нихол"Проект "Нихол"
Проект "Нихол"
 
языки программирования
языки программированияязыки программирования
языки программирования
 
Урок 5. Операционная система Windows
Урок 5. Операционная система WindowsУрок 5. Операционная система Windows
Урок 5. Операционная система Windows
 

Обзор Технологий iOS

  • 1. Программирование в iOS<br />iOS — это операционная система, которая запускается на устройствах iPhone, iPod touch и iPad. Эта операционная система управляет оборудованием этих устройств и предоставляет технологии необходимые для написания платформенно-ориентированных приложений. Операционная система поставляется с различными системными приложениями, такими как «Телефон» (“Phone”), «Почта» (“Mail”) и браузер «Сафари» (“Safari”), которые предоставляют стандартные системные службы пользователю.<br />Набор средств разработки приложений для iOS (iOS SDK) включает инструменты и интерфейсы, необходимые для разработки, установки, запуска и тестирования платформенно-ориентированных приложений. Платформенно-ориентированные приложения собираются, с помощью системных библиотек iOS и языка программирования Objective-C и запускаются непосредственно в операционной системе iOS. В отличие от веб-приложений, такие приложения устанавливаются на устройство физически и поэтому всегда доступны пользователю, даже если устройство находится в режиме «Полета». Они располагаются вместе с другими системными приложениями, и, одновременно, сами приложения и пользовательские данные синхронизированы с компьютером пользователя через программу iTunes.<br />Архитектура iOS<br />Архитектура iOS схожа с базовой архитектурой операционной системы Mac OS X. На самом высоком уровне, iOS представляет собой промежуточный слой между оборудованием устройства и приложениями, которые отображаются на экране, как показано на рисунке 1-1. Очень редко приходится создавать приложения, которые будут обращаться к оборудованию напрямую. Вместо этого, приложения взаимодействуют с оборудованием через набор четко-определенных системных интерфейсов, которые защищают приложения от изменений оборудования. Эта абстракция позволяет очень легко писать приложения, которые корректно работают на устройствах с различными аппаратными возможностями.<br />Рисунок 1-1  Приложения расположенные в верхнем слое iOS <br />1714512065<br />Примечания: Хотя приложения в целом защищены от изменений оборудования, вам все равно приходится учитывать различия между устройствами при написании кода. Например, у некоторых устройств есть камера, а у некоторых ее нет. Если приложение умеет работать при наличии или отсутствии какой-то функции, то используя интерфейсы соответствующей библиотеки можно определить, доступна эта функция или нет.<br />Приложения, которым требуется наличие определенного оборудования, должны декларировать это требование в файле со списком свойств приложения (Info.plist). Для получения большей информации о декларировании необходимого оборудования смотрите раздел «Особенности конфигурирования приложений во время сборки» в «Руководстве написания приложений для iOS». <br />Реализация технологий iOS может быть представлена в виде набора слоев, которые показаны на рисунке 1-2. На самом нижнем слое операционной системы находятся основные службы и технологии, от которых зависят все приложения; на более высоких уровнях находятся более сложные службы и технологии. <br />Рисунок 1-2  Слои системы iOS<br />17145111125При написании своих приложений, везде, где это возможно, рекомендуется использовать библиотеки более высокого уровня, чем библиотеки низкого уровня. Библиотеки более высокого уровня написаны для того, чтобы обеспечить объектно-ориентированные абстракции для низкоуровневых структур. Эти абстракции существенно облегчают написание кода, потому что они уменьшают объем кода, который необходимо написать и скрывают достаточно сложные функции, такие как сокеты и потоки. И хотя они скрывают низкоуровневые функции, эти функции по-прежнему доступны для разработчиков. Разработчики, которые предпочитают использовать низкоуровневые библиотеки или хотят использовать возможности, которых не предоставляют высокоуровневые библиотеки, могут их использовать. <br />Технологии и библиотеки каждого уровня описаны в последующих главах этой документации. <br />Что включено в набор средств разработки приложений для iOS?<br />Набор средств разработки поставляется со всеми интерфейсами, инструментами и ресурсами, которые необходимы для разработки приложений iOS на вашем компьютере Macintosh с процессором Intel.<br />Apple предоставляет большую часть системных интерфейсов, расположенных в специальных пакетах, называемых библиотеками. Библиотека — это каталог, который содержит общие динамические модули, и ресурсы (такие как заголовочные файлы, картинки, вспомогательные приложения и т.д.), необходимые для работы этих модулей. Для использования библиотек, вам необходимо подключить их в проекте своего приложения, так же как и любой другой общий модуль. Связав библиотеку со своим модулем, у вас появляется доступ к функциям этой библиотеки. Это также позволяет инструментам разработки определить нахождение заголовочных файлов и других ресурсов библиотеки.<br />В дополнение к библиотекам, Apple также поставляет некоторые технологии в виде стандартных общих модулей. Так как iOS основана на системе UNIX, многие из них являются низкоуровневыми технологиями с открытым исходным кодом. Интерфейсы для этих технологий доступны в стандартной библиотеке и в каталоге с интерфейсами.<br />Некоторые другие ключевые компоненты средств разработки включают:<br />Инструменты Xcode — это инструменты, для разработки iOS приложений, в которые входят следующие ключевые компоненты:<br />Xcode — интегрированная среда разработки, которая управляет проектами приложений и позволяет редактировать, компилировать, выполнять и отлаживать ваш код. В Xcode интегрировано много других инструментов, но он является главным приложением, используемым во время разработки. <br />Interface Builder — инструмент, для графического создания пользовательского интерфейса. Создаваемые объекты интерфейса сохраняются в файле ресурсов и загружаются приложением во время выполнения. <br />Instruments— утилита для анализа производительности и отладки приложений во время выполнения. Вы можете использовать эту программу для сбора информации о поведении вашего приложения во время выполнения и для поиска потенциальных проблем.<br />Эмулятор iOS — это приложения для Mac OS X, которое эмулирует работу операционной системы iOS, позволяя вам тестировать ваши iOS приложения локально на компьютере Macintosh с процессором Intel. <br />Библиотека Разработчика iOS — справочная документация, в которой находится информация о технологиях и процессе разработки приложений iOS. Для получения подробной информации, смотрите раздел “Как использовать «Библиотеку разработчика iOS»”. <br />Хотя вы можете запускать приложения в эмуляторе iOS, инструменты Xcode также позволяют запускать и отлаживать приложения непосредственно на присоединенном устройстве. Эмулятор идеально подходит для сборки и быстрого тестирования приложений, но он не является заменой для тестирования на реальном устройстве. Разработка на реальном устройстве требует подписки в платной программе от Apple “iOS Developer Program” и конфигурирования устройства для разработки. Более подробную информацию о программе “iOS Developer Program” вы сможете найти в центре разработки под iOS (http://developer.apple.com/devcenter/ios). <br />Для получения подробной информации об установке набора средств разработки приложений для iOS и его использования при разработке приложений для iOS смотрите «Руководство разработки приложений для iOS». <br />Какие приложения вы можете создавать?<br />iOS поддерживает разработку приложений двух типов:<br />Платформенно-ориентированные приложения<br />Веб-приложения<br />Набор средств разработки приложений для iOS позволяет создавать платформенно-ориентированные приложения, которые отображаются только на Главном экране устройства. Но не поддерживается создание приложений других типов, например драйверов, библиотек, динамически подгружаемых модулей. Если вы хотите интегрировать код из библиотеки или динамически подгружаемой библиотеки в свое приложение, вам необходимо связать этот код статически с исполняемым файлом во время сборки проекта.<br />Для создания интерактивных веб-приложений, располагающихся на сервере, используют связку HTML, каскадных таблиц стилей (CSS) и JavaScript кода. Эти приложения передаются через сеть интернет и запускаются внутри веб-браузера “Сафари”. В отличие от таких приложений, платформенно-ориентированные приложения установлены непосредственно на устройство и могут запускаться при отсутствии сетевого соединения.<br />