general questions about squeak

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

general questions about squeak

Esteban Robles Luna
Hi,
I`m new in squeak, but not in smalltalk. I have some questions about
the environment of squeak that will help me to understand it.
- Firstly, I would like to know how the startup process of squeak is,
as detailed as possible.
- Second, MVC projects are just wrapped from morphic?. Later I will
explain why I want to know this.
- Third, who is responsible of opening the main window and if it`s
possible to open other windows without using wxWidgets or something
like that. Is it hardcoded in the vm or elsewhere?
Why I`m asking these questions?
Because I`m interested in using squeak as an alternative for small
commercial projects. I want to know if it`s viable of developing an
MVC with at least one look and feel and a little core of widgets.
I have a look at BobsUI but it`s build on Morphic.
Regards
Esteban
_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: general questions about squeak

Yoshiki Ohshima
  Esteban,

> I`m new in squeak, but not in smalltalk. I have some questions about
> the environment of squeak that will help me to understand it.
> - Firstly, I would like to know how the startup process of squeak is,
> as detailed as possible.

  - The VM compiled by a C compiler is loaded onto the memory.
  - The VM allocates a big chunk of memory and load the content of a
    Squeak .image file on to the chunk pretty much as it is.
  - In the loaded image, the pointers may have different offset when
    it was saved, and the endianness may be different, too.  VM
    adjusts them.
  - Now, VM look for the initial context and compiled method to dive
    in and Squeak code start running.
  - Usually, the initial context is in SmalltalkImage>>snapshot:andQuit:embedded:.
    After doing a few things, it start processing the "start up
    list".
  - The start up list consists of classes that need to do something
    upon startup.  You can inspect StartUp class var of
    SystemDictionary and #startUp: methods of them (on the class
    side).
  - Then the UI process gets started and usual interaction begins.

> - Second, MVC projects are just wrapped from morphic?. Later I will
> explain why I want to know this.

  Yes, I can figure out what you are asking^^;

> - Third, who is responsible of opening the main window and if it`s
> possible to open other windows without using wxWidgets or something
> like that. Is it hardcoded in the vm or elsewhere?

  It pretty much is.

> Why I`m asking these questions?
> Because I`m interested in using squeak as an alternative for small
> commercial projects. I want to know if it`s viable of developing an
> MVC with at least one look and feel and a little core of widgets.
> I have a look at BobsUI but it`s build on Morphic.

  There may be some confusion among os window and os widgets.  From
what I read, you seems to want to use OS widgets.  There are a few
attempts to make the emulation of OS widgets work, but none is well
maintained.

http://minnow.cc.gatech.edu/squeak/2286

  Morphic is in general better to do such look enhancements than MVC
though.  What is the reason for doing it in MVC rather than Morphic.
(I can imagine a few, but want to hear yours).

-- Yoshiki

_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: general questions about squeak

Esteban Robles Luna
Thanks for your reply!

On 10/4/06, Yoshiki Ohshima <[hidden email]> wrote:

>   Esteban,
>
> > I`m new in squeak, but not in smalltalk. I have some questions about
> > the environment of squeak that will help me to understand it.
> > - Firstly, I would like to know how the startup process of squeak is,
> > as detailed as possible.
>
>   - The VM compiled by a C compiler is loaded onto the memory.
>   - The VM allocates a big chunk of memory and load the content of a
>     Squeak .image file on to the chunk pretty much as it is.
>   - In the loaded image, the pointers may have different offset when
>     it was saved, and the endianness may be different, too.  VM
>     adjusts them.
>   - Now, VM look for the initial context and compiled method to dive
>     in and Squeak code start running.
>   - Usually, the initial context is in SmalltalkImage>>snapshot:andQuit:embedded:.
>     After doing a few things, it start processing the "start up
>     list".
>   - The start up list consists of classes that need to do something
>     upon startup.  You can inspect StartUp class var of
>     SystemDictionary and #startUp: methods of them (on the class
>     side).

Yes, this class is responsible of notifying objects that want to know
that the image has opened.

>   - Then the UI process gets started and usual interaction begins.
>

Is this hardcoded in the VM? or is SmalltalkImage responsible of the
start up process and then delegates the control to this process?

> > - Second, MVC projects are just wrapped from morphic?. Later I will
> > explain why I want to know this.
>
>   Yes, I can figure out what you are asking^^;
>
> > - Third, who is responsible of opening the main window and if it`s
> > possible to open other windows without using wxWidgets or something
> > like that. Is it hardcoded in the vm or elsewhere?
>
>   It pretty much is.
>

:-(

> > Why I`m asking these questions?
> > Because I`m interested in using squeak as an alternative for small
> > commercial projects. I want to know if it`s viable of developing an
> > MVC with at least one look and feel and a little core of widgets.
> > I have a look at BobsUI but it`s build on Morphic.
>
>   There may be some confusion among os window and os widgets.  From
> what I read, you seems to want to use OS widgets.  There are a few
> attempts to make the emulation of OS widgets work, but none is well
> maintained.
>

I think that you misunderstand me. The only thing I want from the OS
is that I can open new windows. HostWindowPlugin works?. I want to
have my own widgets implemented in smalltalk, but I want them to look
and feel like OS ones. Why? Because for normal people is costly to get
used to new widgets like Morphic ones.

> http://minnow.cc.gatech.edu/squeak/2286
>
>   Morphic is in general better to do such look enhancements than MVC
> though.  What is the reason for doing it in MVC rather than Morphic.
> (I can imagine a few, but want to hear yours).
>

Because It´s faster, It´s easier for programmers that came from other
smalltalk distributions like VisualWorks, Smalltalk/X, Dolphin to use
it, it`s simple. Many people discard Squeak for doing some projects
because they think it´s UI is not suitable for normal people. I want
Squeak to be my best option for this kind of applications too. I want
to hear yours! I think that each UI framework has it`s advantages and
disadvantages. If I want to develop multimedia application I would
choice Morphic, but what about a simple UI with common widgets? I need
a simple framework like MVC, but with an improved looking.
Regards
Esteban

> -- Yoshiki
>
> _______________________________________________
> Beginners mailing list
> [hidden email]
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>
_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: general questions about squeak

Bert Freudenberg
Am 05.10.2006 um 15:09 schrieb Esteban Robles Luna:
> Is this hardcoded in the VM? or is SmalltalkImage responsible of the
> start up process and then delegates the control to this process?

The VM does not care. It just resumes executing the frozen context,  
that is, whichever context called the snapshot primitive.

> I think that you misunderstand me. The only thing I want from the OS
> is that I can open new windows. HostWindowPlugin works?.

Yes, although it has not been ported to X11, yet. Works on Mac and Win.

> I want to
> have my own widgets implemented in smalltalk, but I want them to look
> and feel like OS ones.

Well, VisualWorks tried, and failed IMHO. *If* you want to get native  
feel, use native widgets.

> Why? Because for normal people is costly to get used to new widgets  
> like Morphic ones.

Hmm, other software (like Firefox) is accepted even with non-native  
look and feel.

> I need a simple framework like MVC, but with an improved looking.

It might be a challenge to make MVC support multiple independently  
updating windows. But sure, this can be done, looking forward to it :)

- Bert -


_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: general questions about squeak

Matthias Berth-2
> > I need a simple framework like MVC, but with an improved looking.

Another route might be to use a web browser with a HTML GUI on the
desktop. Use Seaside to produce HTML and manage state, scriptaculous
for some extra effects.

> Hmm, other software (like Firefox) is accepted even with non-native
> look and feel.

Further down that road you can create an interface just like Mozilla /
Firefox by using the Gecko layout engine where widgets are specified
in XML (XUL)

 http://developer.mozilla.org/en/docs/XULRunner

Callbacks could be done as local HTTP requests, again. Using Gecko
would also give you vector graphics (SVG).

-- Matthias
_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: general questions about squeak

Esteban Robles Luna
On 10/5/06, Matthias Berth <[hidden email]> wrote:

> > > I need a simple framework like MVC, but with an improved looking.
>
> Another route might be to use a web browser with a HTML GUI on the
> desktop. Use Seaside to produce HTML and manage state, scriptaculous
> for some extra effects.
>
> > Hmm, other software (like Firefox) is accepted even with non-native
> > look and feel.
>
> Further down that road you can create an interface just like Mozilla /
> Firefox by using the Gecko layout engine where widgets are specified
> in XML (XUL)
>
>  http://developer.mozilla.org/en/docs/XULRunner
>
> Callbacks could be done as local HTTP requests, again. Using Gecko
> would also give you vector graphics (SVG).
>

I discard this option, because I would like to build distributed
applications. But thanks for your advice. I don´t know about Gecko!.

> -- Matthias
> _______________________________________________
> Beginners mailing list
> [hidden email]
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>


--
Saludos
Esteban
_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: general questions about squeak

Esteban Robles Luna
In reply to this post by Bert Freudenberg
On 10/5/06, Bert Freudenberg <[hidden email]> wrote:
> Am 05.10.2006 um 15:09 schrieb Esteban Robles Luna:
> > Is this hardcoded in the VM? or is SmalltalkImage responsible of the
> > start up process and then delegates the control to this process?
>
> The VM does not care. It just resumes executing the frozen context,
> that is, whichever context called the snapshot primitive.

Ok

>
> > I think that you misunderstand me. The only thing I want from the OS
> > is that I can open new windows. HostWindowPlugin works?.
>
> Yes, although it has not been ported to X11, yet. Works on Mac and Win.
>

Excelent!

> > I want to
> > have my own widgets implemented in smalltalk, but I want them to look
> > and feel like OS ones.
>
> Well, VisualWorks tried, and failed IMHO. *If* you want to get native
> feel, use native widgets.
>
> > Why? Because for normal people is costly to get used to new widgets
> > like Morphic ones.
>
> Hmm, other software (like Firefox) is accepted even with non-native
> look and feel.
>
> > I need a simple framework like MVC, but with an improved looking.
>
> It might be a challenge to make MVC support multiple independently
> updating windows. But sure, this can be done, looking forward to it :)
>

I hope we can do it.
Thanks!

> - Bert -
>
>
> _______________________________________________
> Beginners mailing list
> [hidden email]
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>


--
Saludos
Esteban
_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners