Загальне уявлення про 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".