[{"data":1,"prerenderedAt":451},["ShallowReactive",2],{"project-8388935":3},{"id":4,"name":5,"line":5,"line_source":6,"title":7,"url":8,"domain":9,"maker":10,"posted_at":11,"year":12,"points":13,"comments":14,"rank_in_year":15,"shown_in_year":16,"top":17,"tier":18,"category":19,"subcategory":20,"format":21,"keywords":22,"reception":27,"sentiment":28,"stance_mix":29,"scored_comments":33,"aspects":34,"strip":45,"post_text":46,"what":47,"said":108,"maker_in_thread":242,"shape":253,"grid":257,"attempts":414,"same_week":415,"maker_shows":41,"maker_hidden":443,"reader_version":444,"card":445},"8388935","Realm for Android","title","Show HN: Realm for Android","http:\u002F\u002Frealm.io\u002Fnews\u002Frealm-for-android\u002F","realm.io","timanglade",1412092826,2014,108,53,260,2272,12,"notable","data","embedded mobile database","library",[23,24,25,26],"android database","sqlite alternative","mobile orm","realm java","debated",0.088,{"positive":30,"neutral":17,"mixed":31,"critical":32},13,0,9,34,{"docs":35,"design":37,"idea":40,"performance":42,"execution":43,"pricing":44},{"positive":31,"critical":36},3,{"positive":38,"critical":39},5,2,{"positive":36,"critical":41},1,{"positive":36,"critical":39},{"positive":39,"critical":31},{"positive":31,"critical":31},[41,41,31,31,36,41,41,31,38,38,41,38,31,38,31,31,41,31,38,36,31,38,31,36,36,38,36,31,41,38,31,36,38,31,38,36,31,36,36,36],null,{"problem":48,"audience":61,"pricing":73,"motivation":81,"time_to_build":46,"stack":85,"openness":105,"stage":106,"team_size":107},{"value":49,"source":50,"evidence":51},"Working with SQLite on Android is verbose and slow; Realm offers a simpler object API and better performance","maker",[52,55,58],{"id":53,"by":10,"text":54},"8390288","Absolutely. SQLite definitely beats us today on documentation, ecosystem — heck even on stability. Beyond offering a more simple API, we hope to have an edge on performance, data…",{"id":56,"by":10,"text":57},"8389507","Hi, I wrote that tagline so maybe I can explain the rationale. We initially called ourselves “a database that runs directly inside phones, tablets & wearables” but received some…",{"id":59,"by":10,"text":60},"8391118","Yes we do have our own db. We love SQLite to death but we just saw an opportunity to start fresh, with a modern design that leverages bitpacking, caching & vectorization, and…",{"value":62,"source":63,"evidence":64},"Android developers storing app data","inferred",[65,69],{"id":66,"by":67,"text":68},"8389454","Ilios","Anything that will reduce the API hell that is working with SQLite on Android is worth a second look. Better speed is just icing on the cake.",{"id":70,"by":71,"text":72},"8389394","hayksaakian","If the main selling point is a nice interface, its not much of an improvemrnt over things like ActiveAndroid (ORM for sqlite) I'll need to read more to judge it on other grounds.",{"value":74,"source":75,"evidence":76},"Free for all","commenter",[77],{"id":78,"by":79,"text":80},"8389403","brmunk","Sure - terms are the same. Free for all!",{"value":82,"source":50,"evidence":83},"Opportunity to start fresh with a modern database design beating ORM performance ceilings",[84],{"id":59,"by":10,"text":60},[86,95],{"value":87,"source":50,"evidence":88},"Java",[89,92],{"id":90,"by":10,"text":91},"8390096","This is good feedback — we definitely expect to be polishing the API quite a bit in the weeks to come, just like we did on iOS> You have to use Realm.createObject because objects…",{"id":93,"by":10,"text":94},"8390541","With those numbers that's an understandable assumption on your part, but as it turns out the dev team did learn its lesson from your helpful pointers around the time we launched…",{"value":96,"source":75,"evidence":97},"C++ core",[98,102],{"id":99,"by":100,"text":101},"8391467","mahyarm","Is realm planning to make a c++ interface version, seeing how it's made in C++? A lot of cross platform cores use C++ since it Works Everywhere(tm) as an FFI to other languages &…",{"id":103,"by":79,"text":104},"8391732","Absolutely! That's actually already there. Even with nice expression based query syntax - looks like natural language :-) We havn't released it though since we plan to rewamp it…","unknown","launched","team",{"praise":109,"objections":126,"requests":165,"questions":199,"alternatives":221},[110,118,122],{"value":111,"source":75,"evidence":112},"Simpler API than SQLite and ORMs",[113,114],{"id":66,"by":67,"text":68},{"id":115,"by":116,"text":117},"8390805","annoia","It's great to finally see a serious alternative for data storage on Android, and not just one wrapping SQLite at that. While you may not be completely sold on Realm, competition…",{"value":119,"source":75,"evidence":120},"Competition for Android data storage is welcome",[121],{"id":115,"by":116,"text":117},{"value":123,"source":50,"evidence":124},"Good performance and smaller disk size",[125],{"id":53,"by":10,"text":54},[127,134,141,148,155],{"value":128,"source":75,"evidence":129},"Requires setters for every model attribute, no public properties",[130],{"id":131,"by":132,"text":133},"8390069","jc4p","Eek so I actually have to make\u002Fuse a setter for every single attribute of my models? That's definitely a deal breaker for me.",{"value":135,"source":75,"evidence":136},"Synchronous I\u002FO unsuitable for the Android main thread",[137],{"id":138,"by":139,"text":140},"8389686","bnr","It looks like all I\u002FO happens synchronously, which means you generally should not run that on Android's main thread. You could just warp all interactions in AsyncTasks, but…",{"value":142,"source":75,"evidence":143},"Lacks SQLite's documentation and ecosystem",[144],{"id":145,"by":146,"text":147},"8390218","lnanek2","Honestly, SQLite has a lot of utilities, tutorials, useful adapters and UI hooks in Android. Core Data similarly on iOS. If you want me to go to your framework instead, you'd…",{"value":149,"source":75,"evidence":150},"Benchmarks did not reuse compiled statements at first",[151],{"id":152,"by":153,"text":154},"8389873","Groxx","Given the insert speeds, I'm guessing they're (still) not reusing compiled statements. I mentioned this last time I saw Realm on the front page[1], but their benchmarks are…",{"value":156,"source":75,"evidence":157},"Gradle plugin and Java version setup problems in docs",[158,161],{"id":159,"by":132,"text":160},"8389724","Just as a heads up your documentation doesn't work with the newest version of the Android Gradle plugin (0.13.0), see here: http:\u002F\u002Fstackoverflow.com\u002Fa\u002F25939518\u002F472021 the…",{"id":162,"by":163,"text":164},"8403566","V-2","Your JavaDocs miss a rather important information that Java SDK needs to be switched from 1.6 to at least 1.7 (in Android Studio, under Project Settings) for the thing to work!…",[166,173,177,188,195],{"value":167,"source":75,"evidence":168},"Easy JSON import into RealmObjects",[169,170],{"id":159,"by":132,"text":160},{"id":171,"by":132,"text":172},"8390194","I was trying to add in a Realm test to a benchmarking project I already have set up to see how quickly I can retrieve a list of Stack Exchange sites from disk\u002Fdb\u002Fetc, the Site…",{"value":174,"source":75,"evidence":175},"Async API with callbacks",[176],{"id":138,"by":139,"text":140},{"value":178,"source":75,"evidence":179},"Windows, .NET and Xamarin support",[180,184],{"id":181,"by":182,"text":183},"8390974","pm","I'm using Realm on iOS at the moment for a reasonably large application. I originally had a C cross-platform core based on SQLite, but I found it too difficult to maintain and…",{"id":185,"by":186,"text":187},"8390854","cwyers","What about Xamarin?",{"value":189,"source":75,"evidence":190},"Phonegap support",[191],{"id":192,"by":193,"text":194},"8390014","bravura","Can you use Realm with Phonegap applications?",{"value":196,"source":75,"evidence":197},"Network sync",[198],{"id":145,"by":146,"text":147},[200,207,214],{"value":201,"source":75,"evidence":202},"Why build a new database instead of an ORM on SQLite",[203],{"id":204,"by":205,"text":206},"8391086","pdpi","So you actually _do_ provide your own db then? I'd love to know a bit more about this. What drove the decision to roll your own? Seeing as how SQLite is pretty mature and widely…",{"value":208,"source":75,"evidence":209},"How to keep Realm objects across configuration changes",[210],{"id":211,"by":212,"text":213},"8391311","zackb","I've always wondered how folks handle the Parcelable[1] interface with libraries like this. If you have a realm object that you want to have in memory between activity…",{"value":215,"source":75,"evidence":216},"Where the 20,000 iOS users estimate comes from",[217],{"id":218,"by":219,"text":220},"8389167","orta","Where does the 20,000 iOS users stat come from? I think it's really cool what Realm is doing.",[222,227,231,235],{"value":223,"source":75,"evidence":224},"SQLite",[225,226],{"id":145,"by":146,"text":147},{"id":66,"by":67,"text":68},{"value":228,"source":75,"evidence":229},"ActiveAndroid",[230],{"id":70,"by":71,"text":72},{"value":232,"source":75,"evidence":233},"Core Data",[234],{"id":145,"by":146,"text":147},{"value":236,"source":75,"evidence":237},"Couchbase Lite",[238],{"id":239,"by":240,"text":241},"8389926","jchrisa","It's good to see more options for mobile data. If you're interested in an open source database that handles the network for you, Couchbase Lite syncs using an Apache CouchDB…",{"comments":243,"answered":244,"key":245},20,14,[246,249,252],{"id":247,"text":248},"8390018","Thanks for the heads-up! We’ll get that fixed shortly. We do support JSON (and GSON) — you can see it at work in our gridViewExample…",{"id":250,"text":251},"8390111","We’re still exploring ways to let people use public properties instead, but that’s one of the things that is hard to do without copying (and paying the huge performance price…",{"id":90,"text":91},{"commenters":254,"max_depth":38,"maker_replies":243,"first_comment_mins":255,"lifespan_hours":256},31,33,98,[258,260,262,264,266,270,273,276,277,278,281,283,286,288,290,293,295,296,297,301,302,304,308,310,313,316,319,321,323,325,327,330,332,334,336,339,340,342,343,345,348,352,355,357,360,364,365,367,369,371,375,377,381,383,386,390,393,398,400,403,405,407,408,410],[159,31,41,259,132,31],"project\u002Fcritical\u002Fdocs",[247,31,31,261,10,41],"maker\u002Fneutral\u002Fdocs",[131,31,41,263,132,31],"project\u002Fcritical\u002Fdesign",[250,31,31,265,10,41],"maker\u002Fneutral\u002Fdesign",[267,31,31,268,269,31],"8391366","other\u002Fneutral\u002Fdesign","tburch",[271,31,31,268,272,31],"8391477","greyskull",[274,31,36,261,275,31],"8390089","emanuelez",[90,31,31,265,10,41],[171,31,41,263,132,31],[279,31,36,280,275,31],"8390624","maker\u002Fneutral\u002Fidea",[152,41,41,282,153,31],"project\u002Fcritical\u002Fperformance",[284,41,31,285,10,41],"8390180","maker\u002Fpositive\u002Fperformance",[287,41,38,285,153,31],"8399082",[93,41,31,289,10,41],"maker\u002Fneutral\u002Fperformance",[291,41,38,292,153,31],"8392469","project\u002Fpositive\u002Fperformance",[294,41,31,289,10,41],"8393379",[145,39,41,259,146,31],[53,39,31,261,10,41],[298,39,38,299,300,31],"8394083","project\u002Fpositive\u002Fdesign","bsaul",[211,36,31,268,212,31],[303,36,38,299,275,31],"8391368",[305,36,31,306,307,31],"8391418","other\u002Fneutral\u002Fnone","makeramen",[309,36,31,268,212,31],"8391627",[311,36,31,306,312,31],"8410010","johncarl81",[314,36,31,268,315,31],"8392092","swanson",[70,317,41,318,71,31],4,"project\u002Fcritical\u002Fidea",[320,317,31,265,10,41],"8389475",[239,38,31,322,240,31],"other\u002Fneutral\u002Fidea",[181,324,38,299,182,31],6,[326,324,31,280,10,41],"8391001",[328,324,38,329,182,31],"8391196","maker\u002Fpositive\u002Fexecution",[138,331,41,282,139,31],7,[333,331,31,289,10,41],"8389971",[66,335,38,299,67,31],8,[337,32,36,338,205,31],"8389438","project\u002Fneutral\u002Fdocs",[56,32,31,261,10,41],[204,32,36,341,205,31],"project\u002Fneutral\u002Fidea",[59,32,31,280,10,41],[162,344,41,259,163,31],10,[115,346,38,347,116,31],11,"project\u002Fpositive\u002Fidea",[349,17,38,350,351,31],"8392905","project\u002Fpositive\u002Fexecution","sungeuns",[353,17,31,354,10,41],"8393381","maker\u002Fpositive\u002Fnone",[218,30,36,356,219,31],"project\u002Fneutral\u002Fnone",[358,30,31,359,10,41],"8389294","maker\u002Fneutral\u002Fnone",[361,30,41,362,363,31],"8390749","maker\u002Fcritical\u002Fnone","mserdarsanli",[99,244,36,341,100,31],[103,244,38,366,79,31],"maker\u002Fpositive\u002Fidea",[368,244,38,347,100,31],"8392144",[370,244,31,329,10,41],"8393392",[372,373,36,341,374,31],"8390178",15,"dedene",[376,373,31,261,10,41],"8390193",[378,379,38,292,380,31],"8389405",16,"kazuki",[382,379,31,285,10,41],"8389467",[384,379,31,385,380,31],"8390038","other\u002Fpositive\u002Fnone",[387,388,36,389,163,31],"8393790",17,"project\u002Fneutral\u002Fdesign",[391,388,38,392,79,31],"8402140","maker\u002Fpositive\u002Fdesign",[394,395,36,396,397,31],"8389372",18,"project\u002Fneutral\u002Fpricing","nicpottier",[78,395,31,399,79,31],"commenter\u002Fpositive\u002Fpricing",[401,395,31,402,10,41],"8389541","maker\u002Fpositive\u002Fpricing",[192,404,36,356,193,31],19,[406,404,31,359,10,41],"8390124",[185,404,36,356,186,31],[409,404,31,356,10,41],"8390903",[411,243,36,412,413,31],"8390941","project\u002Fneutral\u002Fperformance","AmelnCam",[],[416,421,426,430,434,439],{"id":417,"name":418,"points":419,"category":420},"8395689","Taiga",436,"productivity",{"id":422,"name":423,"points":424,"category":425},"8368199","Javelin Browser",373,"consumer_social",{"id":427,"name":428,"points":429,"category":420},"8373914","Airtable",361,{"id":431,"name":432,"points":433,"category":420},"8380817","newfangled.me",142,{"id":435,"name":436,"points":437,"category":438},"8395556","Duckling",136,"languages",{"id":440,"name":441,"points":442,"category":420},"8384110","Moo.do",84,false,"v2",{"id":446,"name":5,"line":5,"ai":443,"cat":19,"year":12,"points":13,"comments":14,"rec":27,"s":447,"top":17,"kw":448,"maker":10,"domain":9,"tier":18,"attempts":31,"strip":449,"url":8,"mix":450,"praise":111,"objection":128,"sub":20},8388935,0.09,[23,24,25,26],"1100311055150500105305033530150350530333",[30,17,31,32],1793990912987]