Sqlite3 альтернативы для iPhone - PullRequest
0 голосов
/ 28 ноября 2009

Есть ли еще какие-нибудь движки баз данных, которые можно использовать на iPhone, кроме sqlite3? Что-то вроде textDb для PHP, однофайловое и без сервера.

Ответы [ 4 ]

4 голосов
/ 29 ноября 2009

Существует множество альтернатив SQLite, но нет смысла использовать их, как отмечали другие.

Прежде чем указывать на некоторые альтернативы, некоторые моменты:

Во-первых, SQLite - это отличная однофайловая, не клиент-серверная, небольшая база данных SQL. Производительность отличная, это относительно небольшое время выполнения, и оно очень быстрое. Не существует встраиваемой альтернативы для интерпретации SQL, которая была бы либо технически превосходной, либо почти столь же популярной.

Во-вторых, если вы делаете постоянство в приложении для iPhone, вам, скорее всего, следует использовать CoreData. Конечно, есть причины не делать этого, но они довольно редки. Помимо того, что Core Data представляет собой высокоуровневое сопоставление с реляционным хранилищем, которое достаточно искусно интегрировано с Cocoa Touch, оно решает ряд очень сложных проблем, помимо непротиворечивости; управление графами объектов, эффективное использование памяти (т. е. выталкивать вещи из памяти, когда они больше не нужны) и отменять поддержку, чтобы назвать несколько.

Наконец, если вы решите использовать какой-либо другой уровень устойчивости базы данных, имейте в виду, что iPhone 3G и более ранние версии крайне ограничены во времени выполнения . Само наличие какой-либо дополнительной библиотеки может значительно уменьшить рабочую память, доступную для вашего приложения. Какое бы решение вы ни выбрали, убедитесь, что оно оптимизировано и использует как можно меньше памяти.

Итак, если серьезно, если вы хотите, чтобы не использовал SQLite или CoreData, то это либо потому, что у вас есть очень редкий случай, когда они не подходят, либо потому, что вам любопытно. Если любопытно, хорошо ... хорошо для вас!

Если вы ищете альтернативы, документация по SQLite включает набор ссылок на аналогичные продукты .

Довольно редкий список, и это не потому, что автор что-то скрывает. В отрасли просто нет большой мотивации пытаться заново изобрести это колесо, потому что SQLite действительно хорошо работает. Есть причина, по которой Google, Adobe, GE, FireFox Microsoft, Sun, REALBasic, Skype, Symbian, Apple и другие в значительной степени стандартизированы на SQLite для решения своих потребностей в реляционной постоянстве, не связанных с клиентом и сервером; это просто работает.

1 голос
/ 28 ноября 2009

Если вы ищете альтернативу, я бы сказал Core Data. У меня был такой же вопрос в течение долгого времени, и я даже использовал SQLite в некоторых проектах. После разговора с инженером Apple он отметил, что Core Data может делать все, для чего я использовал SQLite (в основном, просто для хранения информации и доступа к ней несколькими различными способами).

Я бы начал с Руководство по программированию базовых данных и посмотрю, как оно работает для того, что вы хотите сделать.

0 голосов
/ 28 ноября 2009

Я думаю, что ваша проблема в том, что вы думаете о программной библиотеке, которая больше похожа на программный продукт. Люди хотят выбирать между интернет-браузерами по разным причинам. Но когда у вас есть программное обеспечение библиотека , оно в значительной степени настроено для одной цели. Если он не выполняет эту задачу достаточно хорошо, он не должен быть библиотекой.

Вам не нравится NSObject? Вам не нравится библиотека Core Foundation? Тогда напишите свое собственное. Тем не менее, для того, чтобы продолжить использование, к сожалению, чрезмерно используемой аналогии, не изобретайте колесо, если только ваша работа не заключается в создании новых и инновационных колес.

SQLite работает приемлемо и поэтому поставляется в виде библиотеки на платформе iPhone. SQLite работает для того, что мне нужно. Если это не работает для вас, то, возможно, у вас есть причина, которой вы хотели бы поделиться?

Свобода выбора - это хорошо, если вы хотите выбирать между интернет-браузерами, но я бы подумал, что как программист, у вас должна быть очень специфическая причина , чтобы уйти с их пути и тратить драгоценное время исправить то, что уже работает. Даже с моим выбором интернет-браузера у меня есть конкретные причины, по которым я выбираю один из другого.

0 голосов
/ 28 ноября 2009

Нет. Все, кажется, довольны SQLite.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...