SlideShare une entreprise Scribd logo
1  sur  49
ИспользованиеCoreDataвiPhoneприложениях
Что такое Core Data Framework, появился в iPhone 3.0 SDK “Полноценный”ORM Поддерживает три вида хранилищ данных(InMemory, SQLite, Binary) Имеет графический интерфейс для редактирования модели данных в XCode
     Еще немного о возможностях Core Data Эффективная работа с графами объектов Операции Undo/Redo на графе объектов Поддержка миграции между версиями моделей данных Работа с несколькими хранилищами одновременно
Основные части Core Data PersistentStoreCoordinator
Основные части Core Data Отвечает за координацию Хранилищ данных (Persistence Stores) PersistentStoreCoordinator
Основные части Core Data PersistentStoreCoordinator PersistentStores Binary SQLite
Основные части Core Data PersistentStoreCoordinator PersistentStores Отвечают за хранение данных в определенном виде (SQLite, Binary, …) Binary SQLite
Основные части Core Data ManagedObjectModel PersistentStoreCoordinator PersistentStores Binary SQLite
Основные части Core Data PersistentStoreCoordinator ManagedObjectModel Хранит информацио о модели данных. О сущностях, связях, зависимостях PersistentStores Binary SQLite
Основные части Core Data PersistentStoreCoordinator ManagedObjectModel ManagedObjectContext PersistentStores Binary SQLite
Основные части Core Data PersistentStoreCoordinator ManagedObjectModel Содержит активные объекты PersistentStores ManagedObjectContext Binary SQLite
Основные части Core Data PersistentStoreCoordinator ManagedObjectModel ManagedObjects PersistentStores ManagedObjectContext Binary SQLite
Как можно использовать? Хранение данных ,[object Object]
Полноценное хранилищеМодель данных ,[object Object]
Редактируемая модель с возможностью сохранения состояний,[object Object]
Пример модели данных из реального приложения
Использование Core Data модель данных для графического редактора
модель данных для графического редактора player MODEL VIEW
модель данных для графического редактора SAVE player MODEL VIEW
модель данных для графического редактора hat player player MODEL shoes EDIT VIEW
модель данных для графического редактора hat SAVE player player MODEL shoes VIEW
модель данных для графического редактора hat redo player player MODEL shoes undo VIEW
модель данных для графического редактора hair hat redo player player MODEL player shoes shoes undo EDIT VIEW
модель данных для графического редактора hair hat SAVE redo player player MODEL player shoes shoes undo VIEW
модель данных для графического редактора hair hat redo redo player player MODEL player shoes shoes undo undo VIEW
Кроме Core Data что-то надо?
Откуда приходят данные в приложение С сервера Результаты поиска Состояние системы Кеш От пользователя Прямой ввод данных
Откуда приходят данные в приложение С сервера Результаты поиска Состояние системы Кеш От пользователя Прямой ввод данных Core Data JSON XML Input
Откуда приходят данные в приложение С сервера Результаты поиска Состояние системы Кеш От пользователя Прямой ввод данных Core Data JSON XML Input
Лучше не так Core Data JSON XML Input
Структурное решение (конкретная реализация) Core Data/SQLite/FMDB Интерфейс JSON XML Input
Структура приложения XML / JSON парсер Протокол(Интерфейс) доступа к данным Конкретная реализация доступа к данным (CoreData, SQLite PO, FMDB)
Удобно. Просто.
Удобно. Просто.      А что с производительностью?
Core Data vsSQLite PO
Core Data vsSQLite PO Количество Объектов – 1000 Количество Запросов – 1000 17 полей Индекс по полю ‘phone’
Core Data vsSQLite PO
Core Data vsSQLite PO
Core Data vsSQLite PO
Core Data vsSQLite PO
Core Data vsSQLite PO
Core Data немного быстрее
Core Data немного быстрее НО!
У Core Data тоже есть минусы Не SQL формат запросов Сырая документация (не полное портирование из MacOS X)
У Core Data тоже есть минусы Не SQL формат запросов Сырая документация (не полное портирование из MacOS X) Недокументированные особенности работы
У Core Data тоже есть минусы Не SQL формат запросов Сырая документация (не полное портирование из MacOS X) Недокументированные особенности работы RTFM
У Core Data тоже есть минусы Не SQL формат запросов Сырая документация (не полное портирование из MacOS X) Недокументированные особенности работы RTFM GIYF ("Google Is Your Friend") Сложно* создавать вложенные запросы
О чем не надо забывать iPhone – это не Desktop 16 Гб места  128 МBRAM 40 MB RAM под приложение didReceiveMemoryWarningсразу, как только используется больше 3 MB
Спасибо за внимание! Тайкало Павел Email:tt.kilew@gmail.com Skype:tt.kilew

Contenu connexe

Tendances

Оптимизация фильтра интернет-магазина. Решаем SEO и пользовательскую задачу
Оптимизация фильтра интернет-магазина. Решаем SEO и пользовательскую задачуОптимизация фильтра интернет-магазина. Решаем SEO и пользовательскую задачу
Оптимизация фильтра интернет-магазина. Решаем SEO и пользовательскую задачуcollaborator.pro
 
Продажи и продвижение в интернете
Продажи и продвижение в интернетеПродажи и продвижение в интернете
Продажи и продвижение в интернетеDenis Sergeev
 
SEO за блогъри
SEO за блогъриSEO за блогъри
SEO за блогъриseocon
 
Screaming Frog SEO Spider на 100%. Инструкция. Самостоятельный аудит сайта
Screaming Frog SEO Spider на 100%. Инструкция. Самостоятельный аудит сайтаScreaming Frog SEO Spider на 100%. Инструкция. Самостоятельный аудит сайта
Screaming Frog SEO Spider на 100%. Инструкция. Самостоятельный аудит сайтаcollaborator.pro
 
ObjectXPathNavigator - Как и зачем?
ObjectXPathNavigator - Как и зачем?ObjectXPathNavigator - Как и зачем?
ObjectXPathNavigator - Как и зачем?SQALab
 
ObjectXPathNavigator - как и зачем?
ObjectXPathNavigator - как и зачем?ObjectXPathNavigator - как и зачем?
ObjectXPathNavigator - как и зачем?Andrew Mayorov
 
PBN. Как создать и развивать свою сетку сайтов. Советы эксперта
PBN. Как создать и развивать свою сетку сайтов. Советы экспертаPBN. Как создать и развивать свою сетку сайтов. Советы эксперта
PBN. Как создать и развивать свою сетку сайтов. Советы экспертаcollaborator.pro
 
Влияние скорости загрузки сайта на SEO. Как попасть в зеленую зону Google Pag...
Влияние скорости загрузки сайта на SEO. Как попасть в зеленую зону Google Pag...Влияние скорости загрузки сайта на SEO. Как попасть в зеленую зону Google Pag...
Влияние скорости загрузки сайта на SEO. Как попасть в зеленую зону Google Pag...collaborator.pro
 
Будущее казахстанских корпоративных коммуникаций в 2018
Будущее казахстанских корпоративных коммуникаций в 2018Будущее казахстанских корпоративных коммуникаций в 2018
Будущее казахстанских корпоративных коммуникаций в 2018Askarbekov corporate communications agency
 
Mediabarcamp2009: Редагування в нових медіа
Mediabarcamp2009: Редагування в нових медіаMediabarcamp2009: Редагування в нових медіа
Mediabarcamp2009: Редагування в нових медіаAndrew Dutchak
 
Data-Driven SEO. Магия сегментирования в действии
Data-Driven SEO. Магия сегментирования в действииData-Driven SEO. Магия сегментирования в действии
Data-Driven SEO. Магия сегментирования в действииcollaborator.pro
 
исчезнут ли российские эпс
исчезнут ли российские эпсисчезнут ли российские эпс
исчезнут ли российские эпсTimur AITOV
 
Решение по управлению web-контентом от компании Oracle.
Решение по управлению web-контентом от компании Oracle.Решение по управлению web-контентом от компании Oracle.
Решение по управлению web-контентом от компании Oracle.Anton Shmakov
 
платформа Microsoft Windows Embedded
платформа Microsoft Windows Embeddedплатформа Microsoft Windows Embedded
платформа Microsoft Windows EmbeddedLiudmila Li
 
Продвижение портала новостроек. Как SEO помогает стать лидером рынка?
Продвижение портала новостроек. Как SEO помогает стать лидером рынка?Продвижение портала новостроек. Как SEO помогает стать лидером рынка?
Продвижение портала новостроек. Как SEO помогает стать лидером рынка?collaborator.pro
 
SEM на бизнес сайт
SEM на бизнес сайтSEM на бизнес сайт
SEM на бизнес сайтSEOM
 

Tendances (20)

Оптимизация фильтра интернет-магазина. Решаем SEO и пользовательскую задачу
Оптимизация фильтра интернет-магазина. Решаем SEO и пользовательскую задачуОптимизация фильтра интернет-магазина. Решаем SEO и пользовательскую задачу
Оптимизация фильтра интернет-магазина. Решаем SEO и пользовательскую задачу
 
Продажи и продвижение в интернете
Продажи и продвижение в интернетеПродажи и продвижение в интернете
Продажи и продвижение в интернете
 
SEO за блогъри
SEO за блогъриSEO за блогъри
SEO за блогъри
 
Screaming Frog SEO Spider на 100%. Инструкция. Самостоятельный аудит сайта
Screaming Frog SEO Spider на 100%. Инструкция. Самостоятельный аудит сайтаScreaming Frog SEO Spider на 100%. Инструкция. Самостоятельный аудит сайта
Screaming Frog SEO Spider на 100%. Инструкция. Самостоятельный аудит сайта
 
07 Ws08 R2 Virt
07 Ws08 R2 Virt07 Ws08 R2 Virt
07 Ws08 R2 Virt
 
Power BI для SEO
Power BI для SEOPower BI для SEO
Power BI для SEO
 
ObjectXPathNavigator - Как и зачем?
ObjectXPathNavigator - Как и зачем?ObjectXPathNavigator - Как и зачем?
ObjectXPathNavigator - Как и зачем?
 
ObjectXPathNavigator - как и зачем?
ObjectXPathNavigator - как и зачем?ObjectXPathNavigator - как и зачем?
ObjectXPathNavigator - как и зачем?
 
PBN. Как создать и развивать свою сетку сайтов. Советы эксперта
PBN. Как создать и развивать свою сетку сайтов. Советы экспертаPBN. Как создать и развивать свою сетку сайтов. Советы эксперта
PBN. Как создать и развивать свою сетку сайтов. Советы эксперта
 
Влияние скорости загрузки сайта на SEO. Как попасть в зеленую зону Google Pag...
Влияние скорости загрузки сайта на SEO. Как попасть в зеленую зону Google Pag...Влияние скорости загрузки сайта на SEO. Как попасть в зеленую зону Google Pag...
Влияние скорости загрузки сайта на SEO. Как попасть в зеленую зону Google Pag...
 
Будущее казахстанских корпоративных коммуникаций в 2018
Будущее казахстанских корпоративных коммуникаций в 2018Будущее казахстанских корпоративных коммуникаций в 2018
Будущее казахстанских корпоративных коммуникаций в 2018
 
Mediabarcamp2009: Редагування в нових медіа
Mediabarcamp2009: Редагування в нових медіаMediabarcamp2009: Редагування в нових медіа
Mediabarcamp2009: Редагування в нових медіа
 
Data-Driven SEO. Магия сегментирования в действии
Data-Driven SEO. Магия сегментирования в действииData-Driven SEO. Магия сегментирования в действии
Data-Driven SEO. Магия сегментирования в действии
 
исчезнут ли российские эпс
исчезнут ли российские эпсисчезнут ли российские эпс
исчезнут ли российские эпс
 
At-Software. Soft for iphone
At-Software. Soft for iphoneAt-Software. Soft for iphone
At-Software. Soft for iphone
 
Решение по управлению web-контентом от компании Oracle.
Решение по управлению web-контентом от компании Oracle.Решение по управлению web-контентом от компании Oracle.
Решение по управлению web-контентом от компании Oracle.
 
платформа Microsoft Windows Embedded
платформа Microsoft Windows Embeddedплатформа Microsoft Windows Embedded
платформа Microsoft Windows Embedded
 
Продвижение портала новостроек. Как SEO помогает стать лидером рынка?
Продвижение портала новостроек. Как SEO помогает стать лидером рынка?Продвижение портала новостроек. Как SEO помогает стать лидером рынка?
Продвижение портала новостроек. Как SEO помогает стать лидером рынка?
 
BlogCamp CEE 2008 - B2Blogger
BlogCamp CEE 2008 - B2BloggerBlogCamp CEE 2008 - B2Blogger
BlogCamp CEE 2008 - B2Blogger
 
SEM на бизнес сайт
SEM на бизнес сайтSEM на бизнес сайт
SEM на бизнес сайт
 

Plus de Pavel Bashmakov

The road from the services to the products
The road from the services to the productsThe road from the services to the products
The road from the services to the productsPavel Bashmakov
 
Портирование успешных iPhone приложений на Android\Bada платформы
Портирование успешных iPhone приложений на Android\Bada платформыПортирование успешных iPhone приложений на Android\Bada платформы
Портирование успешных iPhone приложений на Android\Bada платформыPavel Bashmakov
 
Мобильные приложения как инструмент доступа к пользователям современных мобил...
Мобильные приложения как инструмент доступа к пользователям современных мобил...Мобильные приложения как инструмент доступа к пользователям современных мобил...
Мобильные приложения как инструмент доступа к пользователям современных мобил...Pavel Bashmakov
 
Разработка мобильных приложений
Разработка мобильных приложенийРазработка мобильных приложений
Разработка мобильных приложенийPavel Bashmakov
 
Android Platform Architecture
Android Platform ArchitectureAndroid Platform Architecture
Android Platform ArchitecturePavel Bashmakov
 
Android Game Fox Hunter - Start
Android Game Fox Hunter - StartAndroid Game Fox Hunter - Start
Android Game Fox Hunter - StartPavel Bashmakov
 
Mobile Apps - Новые Медиа
Mobile Apps - Новые МедиаMobile Apps - Новые Медиа
Mobile Apps - Новые МедиаPavel Bashmakov
 
Клиент-серверные приложения на iPhone
Клиент-серверные приложения на iPhoneКлиент-серверные приложения на iPhone
Клиент-серверные приложения на iPhonePavel Bashmakov
 
In-App-Purchases и с чем их едят
In-App-Purchases и с чем их едятIn-App-Purchases и с чем их едят
In-App-Purchases и с чем их едятPavel Bashmakov
 
OpenGL ES 1.1 и 2.0 для разработки iPhone игр
OpenGL ES 1.1 и 2.0 для разработки iPhone игрOpenGL ES 1.1 и 2.0 для разработки iPhone игр
OpenGL ES 1.1 и 2.0 для разработки iPhone игрPavel Bashmakov
 
Использование современных мобильных техноолгий в медиабизнесе
Использование современных мобильных техноолгий в медиабизнесеИспользование современных мобильных техноолгий в медиабизнесе
Использование современных мобильных техноолгий в медиабизнесеPavel Bashmakov
 
Stanfy - Mobile Apps as Newest Media
Stanfy - Mobile Apps as Newest MediaStanfy - Mobile Apps as Newest Media
Stanfy - Mobile Apps as Newest MediaPavel Bashmakov
 
Владимир Пузанов - JailBreak: Разработка без лимитов
Владимир Пузанов - JailBreak: Разработка без лимитовВладимир Пузанов - JailBreak: Разработка без лимитов
Владимир Пузанов - JailBreak: Разработка без лимитовPavel Bashmakov
 
Taras Kornichuk - Ценности социальной игровой платформы для разработчиков и и...
Taras Kornichuk - Ценности социальной игровой платформы для разработчиков и и...Taras Kornichuk - Ценности социальной игровой платформы для разработчиков и и...
Taras Kornichuk - Ценности социальной игровой платформы для разработчиков и и...Pavel Bashmakov
 
Использование iPhone приложений в Бизнесе, Маркетинге и PR
Использование iPhone приложений в Бизнесе, Маркетинге и PRИспользование iPhone приложений в Бизнесе, Маркетинге и PR
Использование iPhone приложений в Бизнесе, Маркетинге и PRPavel Bashmakov
 
Индустрия iPhone приложений
Индустрия iPhone приложенийИндустрия iPhone приложений
Индустрия iPhone приложенийPavel Bashmakov
 

Plus de Pavel Bashmakov (20)

The road from the services to the products
The road from the services to the productsThe road from the services to the products
The road from the services to the products
 
Портирование успешных iPhone приложений на Android\Bada платформы
Портирование успешных iPhone приложений на Android\Bada платформыПортирование успешных iPhone приложений на Android\Bada платформы
Портирование успешных iPhone приложений на Android\Bada платформы
 
Мобильные приложения как инструмент доступа к пользователям современных мобил...
Мобильные приложения как инструмент доступа к пользователям современных мобил...Мобильные приложения как инструмент доступа к пользователям современных мобил...
Мобильные приложения как инструмент доступа к пользователям современных мобил...
 
Разработка мобильных приложений
Разработка мобильных приложенийРазработка мобильных приложений
Разработка мобильных приложений
 
Android Platform Architecture
Android Platform ArchitectureAndroid Platform Architecture
Android Platform Architecture
 
Android Game Fox Hunter - Start
Android Game Fox Hunter - StartAndroid Game Fox Hunter - Start
Android Game Fox Hunter - Start
 
About Stanfy
About StanfyAbout Stanfy
About Stanfy
 
Mobile Apps - Новые Медиа
Mobile Apps - Новые МедиаMobile Apps - Новые Медиа
Mobile Apps - Новые Медиа
 
Mobile Apps - New Media
Mobile Apps - New MediaMobile Apps - New Media
Mobile Apps - New Media
 
Клиент-серверные приложения на iPhone
Клиент-серверные приложения на iPhoneКлиент-серверные приложения на iPhone
Клиент-серверные приложения на iPhone
 
In-App-Purchases и с чем их едят
In-App-Purchases и с чем их едятIn-App-Purchases и с чем их едят
In-App-Purchases и с чем их едят
 
OpenGL ES 1.1 и 2.0 для разработки iPhone игр
OpenGL ES 1.1 и 2.0 для разработки iPhone игрOpenGL ES 1.1 и 2.0 для разработки iPhone игр
OpenGL ES 1.1 и 2.0 для разработки iPhone игр
 
Использование современных мобильных техноолгий в медиабизнесе
Использование современных мобильных техноолгий в медиабизнесеИспользование современных мобильных техноолгий в медиабизнесе
Использование современных мобильных техноолгий в медиабизнесе
 
Stanfy - Mobile Apps as Newest Media
Stanfy - Mobile Apps as Newest MediaStanfy - Mobile Apps as Newest Media
Stanfy - Mobile Apps as Newest Media
 
Владимир Пузанов - JailBreak: Разработка без лимитов
Владимир Пузанов - JailBreak: Разработка без лимитовВладимир Пузанов - JailBreak: Разработка без лимитов
Владимир Пузанов - JailBreak: Разработка без лимитов
 
Taras Kornichuk - Ценности социальной игровой платформы для разработчиков и и...
Taras Kornichuk - Ценности социальной игровой платформы для разработчиков и и...Taras Kornichuk - Ценности социальной игровой платформы для разработчиков и и...
Taras Kornichuk - Ценности социальной игровой платформы для разработчиков и и...
 
Использование iPhone приложений в Бизнесе, Маркетинге и PR
Использование iPhone приложений в Бизнесе, Маркетинге и PRИспользование iPhone приложений в Бизнесе, Маркетинге и PR
Использование iPhone приложений в Бизнесе, Маркетинге и PR
 
Индустрия iPhone приложений
Индустрия iPhone приложенийИндустрия iPhone приложений
Индустрия iPhone приложений
 
Sapka Contest 2009 (RU)
Sapka Contest 2009 (RU)Sapka Contest 2009 (RU)
Sapka Contest 2009 (RU)
 
Sapka Contest 2009 (UA)
Sapka Contest 2009 (UA)Sapka Contest 2009 (UA)
Sapka Contest 2009 (UA)
 

Павел Тайкало - Использование CoreData в iPhone приложения