Re-implement BlogApplication in Formula rather than Magritte?

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

Re-implement BlogApplication in Formula rather than Magritte?

Freddy-2

Since the BlogApplication needs to be fixed anyway, may I suggest that
it be re-written using Formula rather than Magritte?

This is another one of Nico Petton's fine articles describing how
Formula provides a simple way to specify forms and data validation.
It's a very well thought-out package.

http://smalltalk.gnu.org/blog/nico/formula-building-nice-validated-forms-iliad-ease

Rather than fix the BlogApplication to work with the latest Iliad API,
it'd be good to re-write it as a sample Formula application to
illustrate how Formula works.



Reply | Threaded
Open this post in threaded view
|

Re: Re-implement BlogApplication in Formula rather than Magritte?

Nicolas Petton
Le vendredi 05 mars 2010 à 11:48 -0800, Freddy a écrit :

> Since the BlogApplication needs to be fixed anyway, may I suggest that
> it be re-written using Formula rather than Magritte?
>
> This is another one of Nico Petton's fine articles describing how
> Formula provides a simple way to specify forms and data validation.
> It's a very well thought-out package.
>
> http://smalltalk.gnu.org/blog/nico/formula-building-nice-validated-forms-iliad-ease
>
> Rather than fix the BlogApplication to work with the latest Iliad API,
> it'd be good to re-write it as a sample Formula application to
> illustrate how Formula works.
Hi Freddy,

That's a nice idea :)

We really need more examples in Iliad anyway. What about a real blog
application using formula, with blog comments, etc?

I was also thinking about writing another application example, a book
store maybe, demonstrating formula, routes, and sequences.

Cheers!

Nico


signature.asc (204 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Re-implement BlogApplication in Formula rather than Magritte?

Freddy-2

On 6 mar, 02:48, Nicolas Petton <[hidden email]> wrote:

> Le vendredi 05 mars 2010 à 11:48 -0800, Freddy a écrit :
>
> > Rather than fix the BlogApplication to work with the latest Iliad API,
> > it'd be good to re-write it as a sample Formula application to
> > illustrate how Formula works.
>
> Hi Freddy,
>
> That's a nice idea :)
>
> We really need more examples in Iliad anyway. What about a real blog
> application using formula, with blog comments, etc?

Hi Nico,

Thanks, I think using Formula for these types of applications would be
an excellent idea.  It would be really good to have a real blog
application as well.  The only caveat is that I think that the
examples should be simple and lightweight to get the main points
across.  Thus perhaps, we can have 2 versions: a simple, unpolished
blog application that goes into the Iliad-More-Examples package which
illustrates how to use Formula and how to show build widgets in Iliad,
and a  fully developed, full-featured blog application that goes into
some other directory, such as Iliad-Applications.


> I was also thinking about writing another application example, a book
> store maybe, demonstrating formula, routes, and sequences.
>

Now that would be fantastic!  People who would like to use Iliad for e-
commerce on-line shopping applications would be very interested in the
details of how Iliad connects its components.

May I suggest one other application?  At one time, you posted a
message to the Seaside list asking how to create a web application
(main application) that consists of a navigation menu (sidebar) and a
contents component.

http://lists.squeakfoundation.org/pipermail/seaside/2007-April/011830.html

When the user selects an item from the navigation panel (sidebar), the
contents page should then update.  The web app would consist of a
parent widget with 2 child widgets: the sidebar and the contents
window.  The question is how should one structure the code.  In
Seaside, the preferred solution would be to use Announcements:

http://onsmalltalk.com/maintaining-loose-coupling-in-seaside-components

This way, the 2 child applications can communicate with each other
without having to know about their parent, thereby reducing coupling,
and making for more re-usable components.   This is a great solution
for Seaside, and a great solution for Iliad as well. I think an
example of such as design would be of tremendous benefit for Iliad
users, as they can then start to build re-usable components for
Iliad.  In fact, we can then start putting together a library or
repository of re-usable widgets for Iliad so that developers can
quickly create web applications in Iliad with very little effort.

I've come to really like Iliad, because I think it has the nicest set
of abstractions for web development.  It does much of what Seaside
does (allowing widgets to call/showOn other widgets as well as embed
themselves in other widgets) without continuations and without an
overly complex design.  It also takes the nice element composability
of Aida/Web along with its deep integration with Javascript and Ajax
so that one can build a web page easily in either top-down or bottom-
up fashion, without having to create a large tree of nested rendering
code that Seaside requires.

I've very pleased with how pleasant and effortless it has been to
create web apps in Iliad. Thus, I think a library of highly re-usable
widgets would make web programming a pure joy in Iliad, compared to
any other web framework around.
Reply | Threaded
Open this post in threaded view
|

Re: Re-implement BlogApplication in Formula rather than Magritte?

Nicolas Petton

> Hi Nico,
>
> Thanks, I think using Formula for these types of applications would be
> an excellent idea.  It would be really good to have a real blog
> application as well.  The only caveat is that I think that the
> examples should be simple and lightweight to get the main points
> across.  Thus perhaps, we can have 2 versions: a simple, unpolished
> blog application that goes into the Iliad-More-Examples package which
> illustrates how to use Formula and how to show build widgets in Iliad,
> and a  fully developed, full-featured blog application that goes into
> some other directory, such as Iliad-Applications.
>
>
> > I was also thinking about writing another application example, a book
> > store maybe, demonstrating formula, routes, and sequences.
> >
>
> Now that would be fantastic!  People who would like to use Iliad for e-
> commerce on-line shopping applications would be very interested in the
> details of how Iliad connects its components.
>
> May I suggest one other application?  At one time, you posted a
> message to the Seaside list asking how to create a web application
> (main application) that consists of a navigation menu (sidebar) and a
> contents component.
>
> http://lists.squeakfoundation.org/pipermail/seaside/2007-April/011830.html
Ouch! That's old, I was learning Seaside back then :-)

>
> When the user selects an item from the navigation panel (sidebar), the
> contents page should then update.  The web app would consist of a
> parent widget with 2 child widgets: the sidebar and the contents
> window.  The question is how should one structure the code.  In
> Seaside, the preferred solution would be to use Announcements:
>
> http://onsmalltalk.com/maintaining-loose-coupling-in-seaside-components
>
> This way, the 2 child applications can communicate with each other
> without having to know about their parent, thereby reducing coupling,
> and making for more re-usable components.   This is a great solution
> for Seaside, and a great solution for Iliad as well. I think an
> example of such as design would be of tremendous benefit for Iliad
> users, as they can then start to build re-usable components for
> Iliad.  In fact, we can then start putting together a library or
> repository of re-usable widgets for Iliad so that developers can
> quickly create web applications in Iliad with very little effort.
Yes, Announcemenents are a very good solution. I often use them in my
applications. Now to use them in an example, we have to use a compatible
implementation across dialects, or even include one in Iliad.

>
> I've come to really like Iliad, because I think it has the nicest set
> of abstractions for web development.  It does much of what Seaside
> does (allowing widgets to call/showOn other widgets as well as embed
> themselves in other widgets) without continuations and without an
> overly complex design.  It also takes the nice element composability
> of Aida/Web along with its deep integration with Javascript and Ajax
> so that one can build a web page easily in either top-down or bottom-
> up fashion, without having to create a large tree of nested rendering
> code that Seaside requires.
Thanks a lot!

>
> I've very pleased with how pleasant and effortless it has been to
> create web apps in Iliad. Thus, I think a library of highly re-usable
> widgets would make web programming a pure joy in Iliad, compared to
> any other web framework around.

Yes, that's the idea behind Iliad-More-UI. Unfortunately, a lot of
widgets are still missing there.

Cheers!

Nico


signature.asc (204 bytes) Download Attachment