Hey Cédrick, I do a lot of iOS development. I've looked at Realm. I don't trust it. I do like Sqlite. I have written the following frameworks for iOS. https://github.com/tblanchard/objectivefmdb I use it constantly on iOS development. I would like to port it to Pharo, possibly with GLORP front end. I have an equivalent library written in PHP (I like PHP for server work) that works against a PostgreSQL database. I use this a lot to field iOS apps with server back ends very quickly. I'm happy to share it all. But I think trying to get Realm, a proprietary data store to work well with Pharo something of a waste of time due to the proprietary nature of it. I am happy to help you out though - I've written a LOT of persistence active record type things and am pretty dang handy with GLORP as well. Drop me a note if you want to collaborate. -Todd Blanchard tblanchard@mac.com
On Sep 10, 2017, at 3:14 AM, Cédrick Béler <cdrick65@gmail.com> wrote:
Hello all,
Iâve spent some time in the summer in what I call my quest to the ultimate and easy and fun architecture to prototype some personal administration apps and have fun :-) Iâll share some experience and wonder if there are alternative in Pharo.
I want app that are mobile firsts, then manageable with a computer (for more complex administrative tasks). I want them reactive (I especially like reactive data driven application like meteor.js), ubiquitous around my devices and not always connected (offline-first - this is very important if not the first objective).
Ok, so I was lurking around looking for server and mobile distributed databases and I finally found Realm (https://realm.io/products/realm-mobile-platform/ <https://realm.io/products/realm-mobile-platform/>) which is a cool architecture plenty of promises, well documented, lots of tutorials... The architecture is composed of 2 products: - Realm DB [1] that runs on mobile device - multiplatform - fully open-source - performant - an object DB with some limitation though - Realm Object Server (ROS) [2] - provide two-way data sync simple and easy - BUT proprietary even if free for developers ⦠the entry point for serious developments (in particular access programmatically to the server) is very expensive ! 1500$mo !
The developer edition with is free is already quite outstanding to me. Looks at this demo page on GitHub [3] !
But⦠without any control to the ROS, I find ROS quite limited finally. I may then use the DB part, ROS free for what really need sync reactivity between devices or between group of people (like a black board), but store all less transient information to WhateverNoSQLDB probably in REST.
Anyway I want to share that with you because it rings a smalltalk bell in my head⦠itâs about object data, live feeling, and I want to use Pharo on the server :)
Maybe some people here have thought of an alternative ROS in Pharo or Gemstone ? Any ideas or remarks ? I was aware of sebastian Flow living full-stack framework attempt but donât know more.
TIA Cédrick
NB: Pharo looks more and more great ! Congratulations guys for you job ! I hope ESUG was nice. Iâve just tried Telepharo on Pharo 6 (64 bit). Really great work too... It works like a charm, out of the box on low cost dedicated ubuntu servers [4] => 10â¬mo Pharo 64 tinyBenchmarks is 2,75 times slower than on my Mac mini Core i5 2,5GHz from 2012 with SSD (I guess itâs not that bad and usable for personal applications servers). I think itâ about 3 times faster than on a raspberry Pi. Mac mini (32 bit version): '1329870129 bytecodes/sec; 108576799 sends/secâ Dedibox Low Cost server (64 bit version)â '595695171 bytecodes/sec; 39441333 sends/sec'
NB2: to download/install Pharo from command line, on the web site instructions, it seems it lacks the trailing slash. I had to add it. curl get.pharo.org/64 <http://get.pharo.org/64>/ | bash
[1] https://realm.io/products/realm-mobile-database/ <https://realm.io/products/realm-mobile-database/> [2] https://realm.io/products/realm-mobile-platform/ <https://realm.io/products/realm-mobile-platform/> [3] https://github.com/realm-demos <https://github.com/realm-demos> [4] https://www.online.net/fr/serveur-dedie/dedibox-sc <https://www.online.net/fr/serveur-dedie/dedibox-sc>