Hi Todd, 

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.

Thanks for sharing. I definitely will have a look soon.


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.

Just to be sure, If I understand well, the realm data store (on mobiles devices) is fully open source (Apache 2.0). I think it was not the case at start in 2014 but it is now. They are seen as an alternative to SQLite. https://github.com/realm 

This is the other component of the architecture that is closed source (the realm object server).


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.

Thanks for the proposition, 

See you soon

C��drick



-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/) 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/ | bash