Junior
Jakou databázi používáte ve svých projektech?
sobes.tech AI
Odpověď od AI
Realm a Room.
Realm
- Víceplatformní (Android, iOS, React Native, Xamarin).
- Objektově orientované, nevyžaduje ORM.
- Rychlá práce s daty v reálném čase.
- Podpora reaktivních toků.
- Synchronizace mezi zařízeními.
Room
- Knihovna pro perzistenci dat, nadstavba nad SQLite.
- Část Android Architecture Components.
- Poskytuje ORM abstrakci pro snadnou práci s SQLite.
- Kompilace pro kontrolu SQL dotazů.
- Používá LiveData nebo Flow pro reaktivní získávání dat.
// Příklad použití 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)
}
Volba mezi nimi závisí na požadavcích projektu: potřeba synchronizace, výkon, multiplatformnost a znalosti týmu o technologiích.