Загальне уявлення про core data в середовищі cocoa, mac os, ios, apple, xcode developer

Core Data в середовищі Cocoa, Mac OS, iOS

Загальне уявлення про Core Data

Core Data не є реляційної базою даних або системою керування базами даних (СКБД).

Core Data забезпечує інфраструктуру для управління змінами та для збереженнями об'єктів і вилучення їх зі сховища. Ця технологія може використовувати SQLite в якості одного з видів постійного сховища. Що, однак, не означає саме по собі базу даних. (Щоб підкреслити цей момент: ви, наприклад, можете використовувати тільки сховище в пам'яті вашої програми, а також використовувати Core Data для відстеження змін і управління ними, але ніколи не зберігати дані в файл.).

Core Data не знімає необхідності написання коду. Хоча можна створювати складні додатки виключно з використанням інструментів моделювання даних Xcode і Interface Builder, для більш реальних додатків вам все одно доведеться писати код.

Core Data не залежить від Cocoa Bindings.

Core Data добре інтегрується з Cocoa Bindings і використовує ті ж технології, і їх спільне використання дозволяє значно скоротити обсяг коду, але можна використовувати Core Data без Cocoa Bindings.

Чому доцільно використовувати Core Data

Є цілий ряд причин, за якими може бути доцільним використання Core Data. Одна полягає в тому, що з Core Data, зменшує кількість коду, написаного для підтримки моделі шару додатки, як правило, на 50% - 70%, що вимірюється в рядках коду.

Core Data має зрілий код, якість якого забезпечується шляхом юніт-тестів, і використовується щодня мільйонами клієнтів в широкому спектрі додатків. Структура була оптимізована протягом декількох версій. Вона використовує інформацію, що міститься в моделі і виполненять функції, як правило, не працюють на рівні додатків в коді. Крім того, на додаток до відмінної безпеки і обробці помилок, вона пропонує кращу масштабованість при роботі з пам'яттю, щодо будь-якого конкуруючого рішення. Іншими словами: ви могли б витратити довгий час ретельно обробляючи Ваші власні рішення оптимізації для конкретної предметної області, замість того, щоб отримати перевагу в продуктивності, яку Core Data надає безкоштовно для будь-якої програми.

Коли недоцільно використовувати Core Data

По-перше, якщо планується використовувати дуже невеликий обсяг даних. У цьому випадку простіше скористатися для зберігання Ваших даних об'єктами колекцій - масивами або словниками і зберігати їх в .plist файли.

По-друге, якщо використовується крос-платформерная архітектура або потрібен доступ до строго певного формату файлу з даними (сховища), наприклад SQLite.

Ну і по-третє - це використання баз даних клієнт-сервер, наприклад MySQL або PostgreSQL. роботі з цими базами присвячений розділ з прикладами "Бази даних в Mac OS X".