[Pharo-dev] Explaining Spec2 and why Bloc is on the roadmap

Alexandre Bergel alexandre.bergel at me.com
Thu May 2 11:45:02 EDT 2019

Hi Stef, 

Thanks for this email. Spec 2 really looks great.
It is also great to foresee an integration of Bloc/Brick in Pharo.


> On May 2, 2019, at 5:27 AM, ducasse <stepharo at netcourrier.com> wrote:
> Dear Pharoers
> We would like to explain what is Spec 2.0 and how Bloc is on the Pharo roadmap. 
> Spec is a way to support a way to express and reuse application interaction logic. 
> Spec was first developed by Benjamin van Ryseghem and others while supervised 
> by Stéphane Ducasse. 
> Over the years we cleaned Spec, but we never took the time to really revisit it, and Spec 
> was never stressed outside the scope of Pharo tools (even if there is some people who 
> used it in their projects, this was not the general case). There was a need to deeply rethink
> the way we express and reuse interaction application logic.
> Spec 2.0 revisits fundamentally Spec. The consortium wants to acknowledge the strong financial 
> support of Schmidt in this new development. Here is a list of points we are working on to support companies 
> to build modern applications with Pharo. 
> 	- adding support for many widgets and at the same time improving existing widgets such as fasttable
> 	- adds much better layouts (we will deprecate the interpreter design)
> 	- introducing a new way to architecture an application: 
> 	Spec20 introduces the notion of application to better handle resources and window flow
> 	- revisiting the internal logic of Spec (to remove useless parts and enhance the ones that works)
> 	- adding many tests
> In addition we want that Spec 2.0 is not tight anymore with Morphic. 
> Why? Because we want to make sure that:
> 	- companies can deploy desktop applications
> 	- we can reuse all the tools logic of Pharo with new widgets sets such as Brick (widgets on top of Bloc) 
> 	without having to rewrite everything. 
> This is why Spec2.0 can optionally render using Gtk3.0. It also means that in the future we can have native widgets. 
> Now that Bloc/Brick is finally reaching a point where it can be tried and eventually adopted, we want to 
> make sure the transition to it will not force us to throw away the tools we developed last ten years. 
> We think that Bloc needs some effort to clean and structure it and Spec2.0 gives the time to let Bloc and Brick
> mature. Also, we want to make sure that in the future we will be able to adopt other backends in case we 
> decide it (Remember new now is old tomorrow and while Bloc/Brick is new and modern,  it will not remain 
> new and modern forever).
> Brick needs to be ready for Pharo consumption, and to make it possible we need to move the image to converge. 
> With Spec 2.0, in future versions we will just need to define a new backend to get all our tools working.
> The Pharo Board

More information about the Pharo-dev mailing list