Realm.io
muqaddar
Administrateur
Je viens de tomber là -dessus (10 jours de retard...):
ça m'a l'air sympa, et effectivement plus simple à comprendre que CoreData.
Ils disent aussi que c'est bien plus rapide... (persistent store, NoSQL)
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Ca semble intéressant, faudrait tester.
Après, comparé à tous les avantages que propose CoreData + MR, je ne sais pas ce que ça vaut... (et je ne me fierai pas à juste une citation (de BPXL) pour le comparer à CoreData, surtout si on compare juste à la complexité d'apprentissage mais sans prendre en compte MR) j'en reste sceptique, mais je suis preneur de retours d'expériences.
Le fait que ce ne soit pas basé sur SQLite peut être un argument vitesse en effet.
Surtout avec les grosses bases.
C'est incroyable le nombre de technos qui fleurissent ces dernières années (surtout les frameworks JS et BDD noSQL).
Effectivement, on a un certain retard par rapport aux fonctionnalités existant déjà dans Core Data pour le moment, mais on travaille dur pour ajouter ce qui manque dans les semaines prochaines (comme l'attestent notre GitHub ou notre Mailing-List). Niveau complexité d'apprentissage, en pratique, nos premiers utilisateurs (experts Core Data pour la plupart) gagnent environ 1–2 mois de temps de travail sur un projet de 6 mois en utilisant Realm à la place de Core Data. Les problèmes de Core Data (migrations, modèles objets, multi-threading, etc.) deviennent vites très très problématiques dans les applis complexes, et la plupart de nos utilisateurs sont très heureux du changement (si tant est que nous avons déjà toutes les fonctionnalités nécessaires pour leur appli, bien entendu et on a encore pas mal de boulot devant nous de ce côté-là !).
N'hésitez pas si vous avez des questions. Je bosse chez Realm (Dévelopeur / VP Produit, et français) et je reste à l'écoute
Merci d'être venu nous rendre visite et nous donner un peu plus de détail.
En effet ca a l'air super intéressant. Faut que je teste ca
Je suis preneur de retour si des gens ont testé aussi ( meme si on a un espion parmis nous xD )
Pourquoi tu ne viendrais pas faire une démo à une cocoaHead près de chez toi ?
Avec grand plaisir! On a fait pas mal de démos aux US, en Espagne (et en Corée cette semaine) et je sais qu'il y a eu des démos spontanées de nos utilisateurs ailleurs en Europe aussi. Si quelqu'un connaà®t les organisateurs de CocoaHeads Paris/Lyon/etc. je serai en France en Décembre et ça me ferait très plaisir de venir faite une petite démo ! tim@realm.io
Niveau utilisateurs on a toujours Zynga, mais aussi http://clothapp.com, http://breezeworks.com et environ 1000 autres applis déjà sur l'App Store ou en passe d'y être. Quelques tweets:
https://twitter.com/LusciousPear/status/514863473314906112
https://twitter.com/Objective_Neo/status/513813006242041856
https://twitter.com/timburks/status/513031939419156480
https://twitter.com/Sebyddd/status/508180089247653888
Je remonte un peu ce post car je dois faire une application avec une base de données. Realm à l'air sympathique. Je compte développer en swift et j'en profite pour vous demander un petit retour d'expérience sur realm.
Merci
Je ne sais pas si leurs développeurs traà®nent dans le coin mais on a maintenant pas mal d'applis “made in Franceâ€, y compris Nice Weather 2 et Hook, mais ils sont peut-être joignables sur Twitter ?
Tu peux aussi lire des entretiens avec nos utilisateurs sur le site. J'essaie de toujours leur demande ce qu'ils n'aiment pas dans Realm (histoire qu'on continue à améliorer le produit), et on laisse tout dans l'article final quand on publie sur le site
Je sais que c'est mieux de parler à des utilisateurs, mais si tu as besoin de quoi que ce soit, n'hésite pas à me contacter: tim@realm.io
Au moins le SAV est réactif
Mais effectivement peut-être que des retours d'expériences d'utilisateurs m'apporteraient des retours, disons, moins orientés ::)
Salut,
J'utilise actuellement Realm dans le développement d'une application, un jeu. C'est plus pour tester la techno qu'autre chose. Pour moi, dans la majorité des fonctions de CoreData, Realm le fait bien. Pour ceux qui connaissent j'ai un peu l'impression de comparer MySQL (CoreData/SQLite) à du MongoDB.
On a avec Realm une logique assez "SQL" qui permet finalement de faire des requètes vers la base de données avec cette logique SQL. Moi ça me plait bien ! Les fonctions permettant "d'écrire" les données sont faciles d'utilisations. Le fait de sauvegarder et récupérer une donnée sous la forme d'un objet me plait bien et rend facile l'utilisations des données issues de Realm.
Cependant, Realm ne fait pas mieux que CoreData + SQLite. Il le fait différemment et vous l'avez compris plus facilement avec moins de lignes de codes. Je trouve le raisonnement plus "logique" avec cette approche très SQL ou plutôt devrais-je dire no-SQL ! Les plus avancés d'entre vous verrons rapidement qu'il manque des fonctions par rapport à CoreData mais pour suivre le GitHub, le développement va vite !
@iLandes : n'hésites pas si tu as des questions précises, là j'ai fait une grosse généralité
Perso je compte faire une application avec une base de données embarquée avec deux ou trois tables et une vingtaine de champs en tout. Le tout ne devrait pas dépasser les 5000 enregistrements. La bdd ne comporte que des données simple : double, string, date, bool. Les requêtes de recherches sont simples ( "=", "compris entre") et l'utilisateur finale ne fera que de la consultation. Une autre appli non distribuée sera dédiée à la création et maintenance de la base de données embarquées. La mise à jour de la base de données se fera annuellement, certainement en même temps qu'une mise à jour de l'application.
Je cherche donc un système de bdd simple d'apprentissage pour faire des choses simples. C'est pourquoi je m'étais dirigé vers realm.io. J'avais aussi pensé à une solution vu sur viméo dans une Cocoahead de Rennes si mes souvenirs sont bons. Mais c'était il y a pas mal de temps. Si d'autres ont une meilleure RAM que la mienne... Je ne me rappel plus mais c'était un truc qui simplifiait grandement core-data qui me semble disproportionné par rapport à ce que je veux faire. C'est surtout le temps d'apprentissage qui me freine.
En tout cas le support et la communauté qui peut aidé dans une technologie est un vrai plus.
Seulement par 15 ? Comme c'est décevant !
Merci de donner les vrais chiffres et non des approximations. Il y a des 7 dedans. C'est cool les 7 !
T(CD) : Temps nécessaire à l'apprentissage de CoreData, dépend de K, V, S
T(MR) : Temps nécessaire à l'apprentissage de MagicalRecord, dépend de K, V, S
K : Complexité des opérations à réaliser. Dépend de Cx, Nt, Nr, Nq. Formule différente pour CD et MR
Cx : % d'utilisation de la notion de "contexte" dans l'application
Nt : Nombre de tables du modèle de données
Nr : Nombre de relations du modèle de données
Nq : Nombre de requêtes simples (sans prédicat)
Np : Nombre de requêtes avec prédicat
Nx : ∑(Requête complexe mettant en scène plus d'une table * (nombre de tables dans la requête - 1))
V : Vélocité d'apprentissage de la personne
S : Niveau de connaissance déjà existants de la personne sur les concepts de Bases de Données
T = 0,42*K*(100-S)*V^2
K(CD) = (5+3*Cx) * (0,8*Nt+1,8*Nr) * (9*Nq + 12*Nx)
K(MR) = (1+1*Cx) * (0,4*Nt+0,6*Nr) * (4*Nq + 7*Nx)
F = T(CD)/T(MR)
Voilà je te laisse faire le calcul, mais il faut savoir que c'est empirique
Salut,
Je compte m'y intéresser de près dans quelques semaines.
Le site et la communauté ont l'air très actifs.
Couplé à Swift, je trouve les exemples élégants.
Par contre, il y a peu de doc sur les relationships et peu d'exemples.
Donc ma question est: est-ce que ça peut être efficace pour remplacer un modèle à 10 tables par exemple toutes avec des relations entre-elles, des jointures, etc ?
Les requêtes font très "ActiveRecord", et ça, ça me plaà®t... même si c'est du NoSQL derrière.
Il est bizarre ce code. D'où sort ce nombre magique 42 ? Il ne semble relié à rien, et pourtant ça ne marche pas sans lui ..
https://realm.io/news/introducing-realm-mobile-platform/
Le mieux est de regarder la vidéo.
(En outre, leur système de Base de données devient aussi Open-Source).
ça a l'air cool !
T'as capté leur modèle de prix ?
Ils vendent un support pour les moyennes et grosses société.
Il ne semble pas y avoir de frais pour l'hébergement des données.
Avant, j'étais méfiant, il y avait un risque de rachat avec abandon du projet.
Aujourd'hui ce risque se déplace sur la partie serveur.
Intéressant qu'on puisse installer la partie serveur... sur son propre serveur.
Il manque certaines choses comme les suppressions en cascade par exemple mais rien de rédhibitoire.
Je pense que je vais tester le web service installé sur un serveur à moi car la plateforme connectée à l'air géniale.
C'est vrai que le mode entreprise payant n'est pas très clairement définit par contre. En tous cas je n'arrive pas vraiment à savoir si ce que ça apporte.
J'ai toujours été intéressé par Realm mais après discussion avec leur support, j'ai l'impression qu'en cas de structure complexe SQLite à remplacer, c'est plus limité. Par exemple, j'ai des requêtes sur 15 tables avec des INNER JOIN ou LEFT JOIN en pagaille - et ça me paraà®t pas forcément adapté pour ce genre de cas.
Perso pour ma part, j'ai commencé à regarder Realm mais j'ai l'impression que l'intégration avec macOS n'est pas très grande :
- pas d'équivalent de la classe NSPersistentDocument
- les bindings ne sont pas pris en charges, idem pour le NSArrayController
Du coup, je me demande pour moi si ça vaut le coup...
Je ne vois pas le rapport. Tant que les objets sont basés sur NSObject (il me semble que c'est le cas avec Realm), on peut binder dessus et utiliser NSArrayController.