Connect with us

GitHub

SwiftletModel — типобезопасный in-memory графовый движок

Опубликовано

/

     
     

Если бы CoreData порвала с legacy, приняла современный Swift и вышла замуж за GraphQL — вы бы получили SwiftletModel.

SwiftletModel — это то, чем вы хотели бы видеть SwiftData, если бы она была переосмыслена с нуля. Библиотека дает вам мощь управления графами на уровне CoreData с простыми Swift-структурами, скоростью работы в памяти и нулевым шаблонным кодом.

SwiftletModel не является традиционным ORM или слоем базы данных. Она не абстрагирует SQL и не управляет дисковой персистентностью. Это безопасный с точки зрения типов, нормализованный, in-memory движок графовой модели — место для объединения, формирования и управления данными о бизнес-субъектах из различных источников без особых усилий.

SwiftletModel отлично подходит для следующих сценариев:

  • Сложные доменные модели: Идеально подходит для приложений со сложными доменными моделями, содержащими множество взаимосвязанных типов сущностей.
  • Легкое локальное хранилище: Подходит для тех случаев, когда вы хотите избежать накладных расходов на разработку постоянных хранилищ, таких как CoreData, SwiftData, Realm или SQLite.
  • Приложения, ориентированные на бэкенд: Идеально подходит для приложений, в которых бэкенд является основным источником истины и нет необходимости в полноценной локальной базе данных.
  • Множество источников данных: Настоящее обезболивающее для приложений, которые управляют и объединяют данные из нескольких источников — API бэкенда, локальных файлов, облачных сервисов, HealthKit, Location и т.д. — в единый, типобезопасный in-memory граф.

Несмотря на то, что модели данных SwiftletModel работают преимущественно в памяти, они представляют собой простые Codable-структуры, что позволяет легко интегрировать их с любыми решениями для хранения данных: плоскими файлами, CRDTs, GRDB, CoreData/SwiftData, SQLite, iCloudKit, Firebase, API бэкэндов и т. д.

SwiftletModel на GitHub: https://github.com/KazaiMazai/SwiftletModel
Платформа: iOS
⭐️: 54
Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
Telegram

Популярное

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: