Development Environment tode or jade

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

Development Environment tode or jade

BrunoBB
Hi All,

I'm developing an application with Jade (a Dolphin Smalltalk client), so i develop directly on GemStone.

Since the creation of tode i was asking to my self if i should switch to tode instead of using jade.
(i installed tode just to play and not going too deep with it)

I have a couple of basic question:
* Do you use Pharo as development environment ? (like some kind of gembuilder (without replicates))
   (you develop on Pharo and after you finish load packages into Gemstone)

* After you finish the development phase do you test in Pharo or in GemStone ? (may be both ?)

* When you find a bug in Production (GemStone) you made the change there and then put the change on Pharo ? How do you proceed ?

* How do you handle:
   - System performOnServer: (GS methdod)
   - Rc (reduce conflict) classes ?
This last point is important i use "System performOnServer:" plus a MySQL client to query a Database, i know Pharo has some DB package but is not available in GemStone, how do you handle these kind of cases ?

Regards,
bruno
Reply | Threaded
Open this post in threaded view
|

Re: [Glass] Development Environment tode or jade

GLASS mailing list
On Wed, Apr 15, 2015 at 10:42 AM, BrunoBB via Glass <[hidden email]> wrote:
Hi All,

I'm developing an application with Jade (a Dolphin Smalltalk client), so i
develop directly on GemStone.

Since the creation of tode i was asking to my self if i should switch to
tode instead of using jade.
(i installed tode just to play and not going too deep with it)

I know Dale is very close to pushing out a major enhancement to tODE. He has been working on the documentation, which is usually the hardest part, as we all know. You probably want to wait for that.
 

I have a couple of basic question:
* Do you use Pharo as development environment ? (like some kind of
gembuilder (without replicates))
   (you develop on Pharo and after you finish load packages into Gemstone)

tODE uses Pharo to provide the GUI. Virtually everything tODE presents is the server state. It's browsers show you the server code. Its debugger shows you the server processes. etc.
 

* After you finish the development phase do you test in Pharo or in GemStone
? (may be both ?)

This question is irrelevant, now.
 

* When you find a bug in Production (GemStone) you made the change there and
then put the change on Pharo ? How do you proceed ?

This question is irrelevant, now.
 

* How do you handle:
   - System performOnServer: (GS methdod)
   - Rc (reduce conflict) classes ?
 
"handle" is rather vague. Can you elaborate your concern?

This last point is important i use "System performOnServer:" plus a MySQL
client to query a Database, i know Pharo has some DB package but is not
available in GemStone, how do you handle these kind of cases ?

For this, you may need something that Dale is about to publish.

 

Regards,
bruno



--
View this message in context: http://forum.world.st/Development-Environment-tode-or-jade-tp4819752.html
Sent from the GLASS mailing list archive at Nabble.com.
_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass


_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: [Glass] Development Environment tode or jade

GLASS mailing list
In reply to this post by BrunoBB


On 04/15/2015 10:42 AM, BrunoBB via Glass wrote:

> Hi All,
>
> I'm developing an application with Jade (a Dolphin Smalltalk client), so i
> develop directly on GemStone.
>
> Since the creation of tode i was asking to my self if i should switch to
> tode instead of using jade.
> (i installed tode just to play and not going too deep with it)
>
> I have a couple of basic question:
> * Do you use Pharo as development environment ? (like some kind of
> gembuilder (without replicates))
>     (you develop on Pharo and after you finish load packages into Gemstone)
In tODE, Pharo is used as a very thin client ... everything that you do
in tODE (including  creating custom windows and development tools) is
done on the server (GemStone) ...
>
> * After you finish the development phase do you test in Pharo or in GemStone
> ? (may be both ?)
Just test in GemStone and there are tools for running tests.
>
> * When you find a bug in Production (GemStone) you made the change there and
> then put the change on Pharo ? How do you proceed ?
You just fix in GemStone ...

 From these last two questions I am wondering if you are really asking
questions about the "develop in Pharo, deploy in GemStone" model... if
so then consider tODE as a the development environment that you would
use when working with GemStone ...


>
> * How do you handle:
>     - System performOnServer: (GS methdod)
>     - Rc (reduce conflict) classes ?
Okay, this really does look like you are asking about the "develop in
Pharo, deploy in GemStone" which isn't directly related to tODE ...

> This last point is important i use "System performOnServer:" plus a MySQL
> client to query a Database, i know Pharo has some DB package but is not
> available in GemStone, how do you handle these kind of cases ?
This last question is a slightly different question and Richard's
cryptic comments are aimed at something that I will "pre-announce" to
this list later today:) Some of Richard's "irrelevant now" comments may
be a bit optimistic (in the short term):).

If we consider that there are currently two development models:
   1. develop in GemStone, deploy in GemStone
   2. develop in Pharo, deploy in GemStone

The third model would be classified as "develop in Pharo, deploy in
Pharo and store data in GemStone" ...

You'll have to wait until after lunch and later today for more details:)

Dale



_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: [Glass] Development Environment tode or jade

GLASS mailing list
In reply to this post by BrunoBB
Hi Bruno,

I have only been able to play a little with Tode, which afaik is the replacement for GemTools, and I never used Jade.
So, I cannot comment on this part of your question, but I will react to a couple of your other questions.

> I have a couple of basic question:
> * Do you use Pharo as development environment ? (like some kind of
> gembuilder (without replicates))
>   (you develop on Pharo and after you finish load packages into Gemstone)

We develop 95% of the time in Pharo. The remaining 5% we develop in Gemstone (currently using Gemtools, later on with tode) for code that is specific to Gemstone (transactions, rc classes, indexing structures, etc..).
The way we work is that we build abstractions around those parts that need differing implementations in Pharo and GemStone. We do that by building extensions to Grease and applications of the Factory design pattern in general.

This is, however, nothing like building with Gembuilder. This way of development is actually ‘just' developing an application that should run both on Pharo and Gemstone. You develop in Pharo, publish your packages in monticello or github and load them in Gemstone. Metacello also play a crucial role here to smooth loading on both platforms, while keeping your entire project spec (with Common, Pharo-specific and Gemstone-specific packages) in a single place.

> * After you finish the development phase do you test in Pharo or in GemStone
> ? (may be both ?)

We test using both, and we test continuously with automated tests on build servers.

> * When you find a bug in Production (GemStone) you made the change there and
> then put the change on Pharo ? How do you proceed ?

That would be a hot fix. Obviously, you need to integrate that change in your code base as well. So, we will just ‘copy/paste’ that back into the main codebase.
If a fix would be a lot more complex than just fixing a couple of lines, we would develop the fix in Pharo, publish the packages and load them in Gemstone.

> * How do you handle:
>   - System performOnServer: (GS methdod)
>   - Rc (reduce conflict) classes ?
> This last point is important i use "System performOnServer:" plus a MySQL
> client to query a Database, i know Pharo has some DB package but is not
> available in GemStone, how do you handle these kind of cases ?


Gemstone is a pretty good database, you know ;)
You can perform external commands in Pharo as well, and these dialect differences (or differences in libraries) is where you would typically build a less optimal solution in Pharo (because it’s just for development) and have a Gemstone-only codebase.

_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: [Glass] Development Environment tode or jade

BrunoBB
Hi,

Thanks for all answer i'm getting the picture now.

I think i get confused with this:
http://forum.world.st/Internationalization-Gettext-with-Seaside-td4813614.html

tode is used as a thin client but everything is done in GemStone (like in Jade).

But some people develop in Pharo and deploy in GemStone.
In this model some considerations has to be made with rc classes, indexing and so on.
I think that internationalization with Gettext use this model (develop in Pharo and deploy in GemStone).

I will wait for the announcement.

Regards,
Bruno



Reply | Threaded
Open this post in threaded view
|

Re: [Glass] Development Environment tode or jade

GLASS mailing list


On 04/15/2015 12:16 PM, BrunoBB via Glass wrote:
>
> But some people develop in Pharo and deploy in GemStone.
> In this model some considerations has to be made with rc classes, indexing
> and so on.
For the RC classes, I think that the "standard procedure" is to have a
platform-specific collection class method that returns a Dictionary in
Pharo and an RcKeyValueDictionary in GemStone ... See GrPlatform for
some examples.

Indexing is a bit trickier, but again can be handled by using
platform-specific methods that isolate the platform-specific methods ...

Dale
_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass