Can Realm (DB) and Pharo play together (or can we have a Pharo Realm Object Server to ROS) ?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Can Realm (DB) and Pharo play together (or can we have a Pharo Realm Object Server to ROS) ?

cedreek
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


 
Reply | Threaded
Open this post in threaded view
|

Re: Can Realm (DB) and Pharo play together (or can we have a Pharo Realm Object Server to ROS) ?

tblanchard
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.


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


On Sep 10, 2017, at 3:14 AM, Cédrick Béler <[hidden email]> 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


 

Reply | Threaded
Open this post in threaded view
|

Re: Can Realm (DB) and Pharo play together (or can we have a Pharo Realm Object Server to ROS) ?

cedreek
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.


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


On Sep 10, 2017, at 3:14 AM, Cédrick Béler <[hidden email]> 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


 


Reply | Threaded
Open this post in threaded view
|

Re: Can Realm (DB) and Pharo play together (or can we have a Pharo Realm Object Server to ROS) ?

SergeStinckwich
In reply to this post by cedreek
Hi Cedrick,
If you want to develop mobile app, you should discuss with Noury and have a look to Pharo/JS:

​Can you move such discussions on pharo-users mailing-list and not pharo-dev ?
Thank you.​


On Sun, Sep 10, 2017 at 12:14 PM, Cédrick Béler <[hidden email]> 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


 



--
Serge Stinckwich
UCN & UMI UMMISCO 209 (IRD/UPMC)
Every DSL ends up being Smalltalk
http://www.doesnotunderstand.org/
Reply | Threaded
Open this post in threaded view
|

Re: Can Realm (DB) and Pharo play together (or can we have a Pharo Realm Object Server to ROS) ?

Stephan Eggermont-3
In reply to this post by cedreek
On 11-09-17 11:37, Cédrick Béler wrote:
>> I do a lot of iOS development.  I've looked at Realm.  I don't trust
>> it.  I do like Sqlite.  

https://danluu.com/file-consistency/





Reply | Threaded
Open this post in threaded view
|

Re: Can Realm (DB) and Pharo play together (or can we have a Pharo Realm Object Server to ROS) ?

Denis Kudriashov
In reply to this post by cedreek
Hi Cedrick.

Look at Voyage https://github.com/pharo-nosql/voyage. Maybe Realm can be easily supported as another backend.

2017-09-10 12:14 GMT+02:00 Cédrick Béler <[hidden email]>:
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