People that assisted to Pharo Days 2019 (or that follow my twitter account) 
already know this, but it needs to be formally announced: 

We are working on Spec 2.0, and it will provide not just the classic Morphic 
bindings but also a new option for developers: Gtk3 bindings!

Why we want a Spec 2.0 with different backends?

There are reasons that converged to decide us to make it:

First, to provide a validated abstract Spec 2.0 that can be used with different 
backends, preparing Pharo to be able to switch backends without needing to 
recreate the full IDE from scratch each time (a problem we have partially now 
in our way to deprecate Morphic).
Second, because we receive from different sources the requirement of having the 
possibility of developing real native-looking desktop applications. Yes, in 
moment where people talk about the cloud, SaaS and web-applications as the 
"next big thing" (something that is been declared since years, by the way), we 
believe is important to provide this, for two big reasons: 
Because there is still an important place for desktop applications market and 
most medium-size to big business still require them.
Because Pharo itself is a desktop application! (And we need to provide the best 
experience possible on it).

For us, this is a fundamental step to continue improving Pharo itself, and it 
matches also the work we are doing on going real-headless:  Pharo users will be 
able to start the Morphic world, a Gtk application or the next backend to come.

Why Gtk3?

There are some other important players in the "native widgets scene", so why we 
choose Gtk3? 

Again, several reasons  were taken into account: 

Gtk3 is cross platform. Yes, technically is just "native" in linux, but it 
works on Windows and macOS too. 
It is very mature and popular.
It is made in plain C.

Next step: tool migration

The only way to know if you have covered what is needed is actually taking 
real-life use cases and implementing them. We have a list of tools that needs 
to be migrated and we are starting from them: 

Old GT tools will be replaced by new Spec tools (while preserving its power).
Calypso UI needs to be rewritten in Spec 2.0 (it is in plain Morphic now).
Pharo launcher as a standalone application is a good example of what you can do 
with the Gtk3 bindings.

And that's it. Pharo 8.0 will come with Spec 2.0 and users will be able to 
benefit of it immediately :)


A small screenshot of the new Inspector (WIP): 



Esteban

Reply via email to