Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Муки выбора: core data или работа "напрямую" с sqlite - Программирование iOS

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование iOS VK SDK swift http://www.cyberforum.ru/ios-dev/thread1384642.html
Подскажите пожалуйста, как можно подключить VK SDK к проекту на swift. Легко ли это вообще сделать ? И если есть какие-то примеры работы на свифте с этим sdk то скиньте пожалуйста. Заранее спасибо.
Программирование iOS Портфолио на GitHub Всем привет! Недавно общался по поводу работы с одной заграничной компанией, договорились о собеседовании, но, пока подошел срок, мне ответили, что, мол, сорри, но мы уже взяли местного. И в... http://www.cyberforum.ru/ios-dev/thread1383825.html
Программирование iOS Отображение html в iOS
Привет. Ребят, такой вопрос, у меня есть сайт, хотелось бы с него сделать приложение для ios, итак вопрос, можно ли если я через веб контрол открою хтмл страницу получить доступ к локальным картинкам...
Переход к основной логике программы после запуска Программирование iOS
Здравствуйте! написал элементарную игру, проект назвал Game. Запускаю- все скомпилировалось! Симулятор выдает белый экран с надписью Game(название проекта). А как перейти к самой игре?? Спасибо!
Программирование iOS IOS Электронное меню для столовой http://www.cyberforum.ru/ios-dev/thread1382173.html
Надо написать приложение столовой университета! -Онлайн заказ -Присваивание номера заказа -Меню и описания блюд можно на Андройд,без разницы еще не выбрал на чем писать!идет как тема дипломки
Программирование iOS Размеры экранов фруктовых девайсов Что нужно для того, чтобы одно приложение(игра) с заданными размерами фоновой картинки одинаково хорошо запускались на айфоне 4, 5, 6 ну и на айпаде? чтобы например скачав приложение с аппстора оно... подробнее

Показать сообщение отдельно
smth
177 / 46 / 6
Регистрация: 23.06.2011
Сообщений: 248

Муки выбора: core data или работа "напрямую" с sqlite - Программирование iOS

03.03.2015, 00:38. Просмотров 1527. Ответов 4
Метки (Все метки)

Здравствуйте! Я новичок в разработке под osx и ios, но так как база на сях и плюсах была (когда-то давно), то идет это дело у меня довольно быстро. И пару дней назад передо мной встал следующий вопрос:

Ситуация: на iOS устройстве (пусть это будет фронтенд) требуется хранить (и периодически обновлять без обновления самого приложения) с сервера достаточно большое количество данных (тексты, картинки, некоторые служебные данные). На бэкенде (сервере) это все представлено обычной MySql базой данных с большим количеством таблиц и связей, и встала задача представить то же самое на iOS устройстве. При этом требуется сделать так, чтобы программа на устройство устанавливалась уже с начальным набором данных и дальше, по желанию пользователя, обновлялась с сервера. Основной режим работы приложения - оффлайн. Важно, что пользователь сам данные менять не может, т.е. все таблицы readonly и это, вроде бы, позволяет снять вопросы целостности связей, но мне непривычен такой подход.

Вопрос: что лучше использовать для хранения данных на устройстве, core data или прямую работу с SQLite базой? Прочитав несколько статей (в т.ч. большой кусок core data programming guide) я понял, что не могу принять решение по следующим причинам:
1: я привык работать с "нормальными" базами, где есть ключи, связи, индексы, уникальные значения итд и "нормальными" запросами к бд. В core data я половину из этого не нашел;
2: у самих apple написано "Core Data is not a relational database..." со всеми вытекающими. Насколько "надежно" доверять такой системе, если надо хранить не просто master-detail список покупок с соответствующим представлением в бд? Тут еще раз всплывает вопрос о том, что все таблицы readonly и, по идее, можно вообще наплевать на связи и положиться на логику сервера (что там все таблицы правильные и при обновлениях ничего не "перекосит").
3: процесс начального заполнения до конца неясен (программа должна устанавливаться с изначальным набором данных): сам механизм core data не позволяет подключить созданную и заполненную заранее базу SQLite. Как я понял, выходом тут является создать OSX приложение с core data, создать там пустую модель, заполнить ее данными и закинуть в iOS проект. Но тут мне вообще пока неясно, как совместить структуру на сервере (где есть ссылочная целостность, уники и тд, уже писал выше) и полученный SQLite файл со структурой, которую core data посчитает нужной (конечно, на основе моей схемы, но тем не менее).

На данный момент мне, конечно же, проще будет работать напрямую с SQLite (несмотря на то, что Apple обещает снижение количества кода на 50-70% при использовании КД), но, так как в принципе эта сфера мне нова, мне не хочется беспричинно пользоваться нерекомендуемыми (устаревшими?) технологиями. Поэтому прошу совета опытных в этой сфере людей.

И еще общий вопрос: на одном буржуйском форуме я запомнил фразу, что CoreData для OSX существенно отличается (по логике, не по коду) от CoreData для IOS, но дальнейшего развития эта фраза не получила. Объясните, пожалуйста, что имелось ввиду.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru