Le 25/2/15 04:02, Petr Fischer a écrit :
Hello!

Suppose, that I need to write simple UI app + write my own UI list component 
(some special behaviour, can’t use default list UI component from Pharo) + I 
need perfect keyboard support (shortcuts, tab navigation + navigation by cursor 
keys in some windows), which also means, that I need perfect UI component 
“focus” support…

Another priority: I do not want to learn things (in exhaustive detail) that 
expire in 2 years.

Current status: I like Smalltalk (Pharo!), know basics of Morphic and I noticed 
some future as Athens and Bloc. I am trying to get out from “closed” app 
development and Apple “closed” technologies as ObjC/Swift/Cocoa and want to be 
little more productive and platform independent. Simple, snappy, attractive and 
smooth UI is the key for me/users.

And now… which direction:

1) old Morphic (simple powerful work with old Morphs etc.)
You can use old Morphic but be prepared to understand or not change/updates sometimes strange behavior, mixed with event update.

I would prefer to spend time building widgets in Bloc rather than fixing the one in Morphic because it is circumvoluted.
But from time to time I will continue to clean it.

2) Morphic + Athens drawing (maybe I don’t understand the connection)
Morphic will run on Athens. It is already based on the work of Nicolai.

3) Bloc
Bloc does not offer widgets. The people from SCG are building Bricks that can work (inside) or on top of Bloc.



Sub-questions:

A) Is Bloc (complete Morphic rewrite, sigh) “one man show”? What about future,

bloc is about future.
Now doing it would be silly but there is a risk. So do we die because we do not move and continue to have a huge system that nobody really understand well or do we try to improve with the risk of failiure. Now alain is one Morphic expert, he wrote miro and miro2 with the ancestor
of Athens (Rome).
  support, long-term issues?
We are working on documentation.
You can for example, open Bloc and execute the examples.
You can try to turn some of them into examples. This is what I did and it helps alain.
Look at Marina CMS framework, even used for Pharo website, but not maintained 
now...
Can I ask yourself a question?
What do you do that is simple that could help us to avoid to focus on simple things and concentrate on the difficult ones. You see this is not a huge challenge. But you should ask yourself the question.

I'm sad about Marina but we could not guess that nicolas would leave Smalltalk like that.

About Bloc I think that the design stabilized and now it is ready for other people to have a look and play with it. Before it was not constructive. We got several iterations (I did not do much, just read the code and ask stupid questions). But I see that it is getting there. Now Bloc-Core is not about widget it is about events, drawing, listeners, space. Then we started to see that we can use Spec on top of Bloc. So this is why I'm starting to clean Spec. But commenting pragmas is a task that anybody could do but apparently I'm the only that is doing.
The next steps are:
    - expose valueHolder via getter (named xxxHolder for consistency)
    - remove all the whenChanged.... that are pure delegation
- verify if the adapter can be just use during widget creation to bind the widget to the model (and not as a middle like now)
    - cleaning more.
Now if somebody wants to step in I can reviews changes.

B) Is Bloc prepared with Retina displays in mind (perfect smooth fonts and 
graphics, scaling, more detailed images for retina etc.)?
    As much as Athens with a cairo back end is.
    Bloc is 100% based on Athens. Athens is a vectorial canvas API



C) Is current keyboard + UI component focus support perfect or pain in...
Nothing is perfect. My mac crashes. I cannot open my old keynote presentations because keynote 09 crashes.
You see the world is complex. Now when keynote crashes I cannot do much.

We should finish a pass on the hardcoded keybindings that are left. But someone should do it.


Isn’t a “bad time” for this decision (Pharo) now?
Now the point is that with Pharo you can fix problems.



Thanks very much for any brief hint, Petr Fischer






Reply via email to