www.thalesgroup.com
www.univ-brest.fr
www.labsticc.fr
Pyramid, a GUI
editor for Pharo
Yann LE GOFF
2
{OPEN}
This talk
Part 1–Whydo weneeda GUI editor ?
Part 2–Whatthe GUI editor cando and cannotdo ?
Part 3–Future plan
3
{OPEN}
Whati have …
al.png
bzh.png
{
"Afghanistan":"AF",
"AlandIslands": "AX",
"Albania": "AL",
…
"Yemen": "YE",
"Zambia": "ZM",
"Zimbabwe": "ZW"
}
Countries.json
Start new game
GeoGame
Italy
Brasil
Spain
France
10 question(s) left
Return to startmenu
5 / 10
Start menu
10 questions
1 pictureof a flag
4 possible answers(onlyone iscorrect)
Score menu
… and whati want
ch.pngzw.png
4
{OPEN}
Whati want
Country 2
Country 3
Country 4
Country 1
1/ 10
Country 2
Country 3
Country 4
Country 1
2/ 10
Country 2
Country 3
Country 4
Country 1
3/ 10
Country 2
Country 3
Country 4
Country 1
4/ 10
Country 2
Country 3
Country 4
Country 1
5 / 10
Country 2
Country 3
Country 4
Country 1
6/ 10
Country 2
Country 3
Country 4
Country 1
7 / 10
Country 2
Country 3
Country 4
Country 1
8/ 10
Country 2
Country 3
Country 4
Country 1
9 / 10
Start a new game
GeoGame
Return to startmenu
3/10
Country 2
Country 3
Country 4
Country 1
10 / 10
5
{OPEN}
Whati alreadymade
Model Views Controller
CountryModel
Flags and Name
Question Model
1 correct answer
3 false answers
Game Model
10 question models
score
Start view
TODO
Questions view
TODO
End view
TODO
Switch betweenthe views
Update the score
Update the views
Update the image
Update the buttons label
Update the questions leftlabel
Update the score label
Addbehaviourto the buttons
6
{OPEN}
LET’SDO IT
DEMO
7
{OPEN}
Whithouta GUI editor
Code Playground Visualize
Master the API
Or youwillintroducebugs
The time spendin the debugger isnot time use for design
Debug
8
{OPEN}
Witha GUI editor
You alwaysvisualizewhatyouare
doing
The editor uses the API for you
You do not needto know the syntax
Easyto test differentoptions.
You are limitedbut no bugs
Becauseweare workingwith
Smalltalkwecanuse the
playgroundsoweare not really
limited.
Be carefullyoucouldaddbugs.
Code and Visualize
9
{OPEN}
WHATPYRAMID ISABOUT ?
To createthe skeletonof new application
To quicklytest new ideas
To understandand debuga UI
10
{OPEN}
LIMITATIONS OF PYRAMID
Dynamicview(tabulations, infinitelayout, menu)
No eventhandler
11
{OPEN}
Codingvs Pyramid
Coding
You learnthe API
You have a higherprecision
You are slow
Pyramid
You are fast
You havedirect feedbacks
You don’tneedknowledge
You willnot learnthe API
You are limitedby the tool
12
{OPEN}
FUTURE PLAN
Betterserialization
Bloc fullyintegrated
Toplofullyintegrated
13
{OPEN}
Questions ?
14
{OPEN}
repositories
https://github.com/Nyan11/GeoPharo
https://github.com/OpenSmock/Pyramid
https://github.com/Nyan11/Stash
The flag gamei created
Pyramidthe GUI editor
Stasha code serializerfor Bloc/Pharo