Sobes.tech
Junior

Koju bazu podataka koristite u svojim projektima?

sobes.tech АИ

Одговор од АИ

Realm i Room.

Realm

  • Višeplatfomski (Android, iOS, React Native, Xamarin).
  • Objektno-orijentisan, ne zahteva ORM.
  • Brza obrada podataka u realnom vremenu.
  • Podrška za reaktivne tokove.
  • Sinhronizacija između uređaja.

Room

  • Biblioteka za trajnost podataka, nadogradnja nad SQLite.
  • Deo Android Architecture Components.
  • Pruža ORM apstrakciju za jednostavan rad sa SQLite.
  • Kompajlira se za proveru SQL upita.
  • Koristi LiveData ili Flow za reaktivno dobijanje podataka.
// Primer korišćenja Room
@Entity
data class User(
    @PrimaryKey val id: Int,
    val name: String,
    val age: Int
)

@Dao
interface UserDao {
    @Query("SELECT * FROM user")
    fun getAll(): List<User>

    @Insert
    fun insertAll(vararg users: User)
}

Izbor između njih zavisi od zahteva projekta: potreba za sinhronizacijom, performanse, višeplatformski rad i upoznatost tima sa tehnologijama.