
Построить мощные реагирование и реагировать нативные приложения, которые масштабируются от сотен до десятков тысяч записей и остаются быстрыми ⚡
| Армалондб | |
|---|---|
| ⚡ | Запустите ваше приложение мгновенно, независимо от того, сколько у вас данных |
| ? | Высоко масштабируемый от сотен до десятков тысяч записей |
| ? | Ленивый загружен . Загрузите данные только тогда, когда вам это нужно |
| Оффлайн-первый. Синхронизировать с собственной бэкэнд | |
| Мультиплатформа . iOS, Android, Windows, Web и Node.js | |
| ⚛ | Оптимизирован для реагирования. Легко подключить данные к компонентам |
| ? | Фреймворк-агрессия. Используйте JS API, чтобы подключиться к другим каркасам пользовательского интерфейса |
| ⏱ | Быстрый. И становиться быстрее с каждым релизом! |
| ✅ | Проверен. Powers Nozbe с 2017 года (и многие другие) |
| Реактивный. (Необязательно) RXJS API | |
| ? | Реляционный Построен на фонде SQLITE Rock Skolite |
| Статическое типирование с потоком или типографией |
Watermelondb - это новый способ справиться с пользовательскими данными в Rayact Native и React Web Apps.
Он оптимизирован для создания сложных приложений в Rayact Native, а цель номер один- реальная производительность . Проще говоря, ваше приложение должно запустить быстро .
Для простых приложений использование Redux или Mobx с адаптером настойчивости - самый простой путь. Но когда вы начнете масштабироваться до тысяч или десятков тысяч записей базы данных, ваше приложение теперь будет медленно запускать (особенно на более медленных устройствах Android). Загрузка полной базы данных в JavaScript стоит дорого!
Арбуз исправляет его , ленивый . Ничего не загружается, пока это не будет запрошено. А поскольку все запросы выполняются непосредственно в базе данных SQLite SQLITE в отдельной нативной потоке, большинство запросов разрешаются в одно мгновение.
Но в отличие от использования SQLite напрямую, арбуз полностью наблюдается . Поэтому всякий раз, когда вы меняете запись, весь пользовательский интерфейс, который зависит от него, будет автоматически повторно рендеринг. Например, выполнение задачи в приложении для дел будет повторно рендерировать компонент задачи, список (для повторного порядок) и все соответствующие счетчики задач. Узнать больше .
|
| | ---- | --- | |
Основные базы данных следующего поколения
(разговор о армале)
Быстрый (чрезмерный) Пример: приложение с сообщениями и комментариями.
Сначала вы определяете модели:
class Post extends Model {
@ field ( 'name' ) name
@ field ( 'body' ) body
@ children ( 'comments' ) comments
}
class Comment extends Model {
@ field ( 'body' ) body
@ field ( 'author' ) author
}Затем вы подключаете компоненты к данным:
const Comment = ( { comment } ) => (
< View style = { styles . commentBox } >
< Text > { comment . body } — by { comment . author } </ Text >
</ View >
)
// This is how you make your app reactive!
const enhance = withObservables ( [ 'comment' ] , ( { comment } ) => ( {
comment ,
} ) )
const EnhancedComment = enhance ( Comment )А теперь вы можете отобразить весь пост:
const Post = ( { post , comments } ) => (
< View >
< Text > { post . name } </ Text >
< Text > Comments: </ Text >
{ comments . map ( comment =>
< EnhancedComment key = { comment . id } comment = { comment } />
) }
</ View >
)
const enhance = withObservables ( [ 'post' ] , ( { post } ) => ( {
post ,
comments : post . comments
} ) )Результат полностью реактивный! Всякий раз, когда сообщение или комментарий добавляется, изменяется или удаляется, правильные компоненты автоматически повторно повторно заполняют на экране. Не имеет значения, произошло ли изменение в совершенно другой части приложения, все это просто работает из коробки!














Ваша компания или приложение используют ?? Откройте запрос на тягу и добавьте свой логотип/значок по ссылке здесь!

Watermelondb-это проект с открытым исходным кодом, и ему нужна ваша помощь, чтобы процветать!
Если есть недостающая функция, ошибка или другое улучшение, которое вы хотели бы, мы рекомендуем вам внести свой вклад! Не стесняйтесь открывать проблему, чтобы получить некоторое руководство и увидеть вклад в Руководство для получения подробной информации о настройке проекта, тестировании и т. Д.
Если вы только начинаете, посмотрите на хорошие первые проблемы, в которые легко внести свой вклад. Если вы внесете нетривиальный вклад, напишите мне, и я пришлю вам хорошо? Наклейка!
Если вы делаете или рассмотрите возможность создания приложения с использованием wartmelondb, пожалуйста, сообщите нам об этом!
Wartmelondb был создан @nozbe.
Основной автор и сопровождающий армии Aatermelondb - Radek Pietruszewski (веб -сайт ⋅? (Twitter))
Смотрите всех участников.
Watermelondb доступен по лицензии MIT. Смотрите файл лицензии для получения дополнительной информации.