I’m trying to return to Smalltalk after a 15+ year break (VisualAge, ENfin/2 ST-80 etc), and have been trying to get back into the saddle with Pharo 8 and Pharo 9. Since I have no legacy code - I’ve opted for Pharo 9 knowing a stable release isn’t far away. My goal is to produce several applications for private use, and regain some competence in Smalltalk along the way. The apps are business accounting/investing style apps - not too technical. I’m really not keen on the prospect of using any of the other ‘mainstream’ alternatives we have today. I’m confident I can build a domain model easily enough, but the Pharo environment is my stumbling point - especially building the GUI with Spec2. I’m really spinning my wheels trying to get a useful Spec2 application built. It needs to have menus, a toolbar, tabbed notebooks, tree lists etc - plus a dozen or so tabular panes (to view/maintain my domain model). Ideally it would also be able to use ODBC or UDBC or Excel etc for transaction storage. I’ve been through all the building blocks in SpDemo but there a just too many concepts to familiarise with and test bit by bit as I buildup a more realistic functioning application. It has been very frustraing and time consuming. I understand why there are not yet solid guides available (book, tutorial, examples) , so I thought the best way would be to use an existing Spec2 application to help me get it going. I think this would save me many weeks of effort. Could anyone point me to at a working non-trivial application that I could share and use a starting point. Any suggestions to help me get into the heart of my application would be most welcome…! |
Hi, Check at this : Is a fairly advanced application so you will probably have some issues to get into (also because I didn't have time to properly document it yet). Esteban On May 11 2021, at 12:21 pm, [hidden email] wrote:
|
Ah, a disclaimer: so far, just me and a little bit Santiago tested this installation... for sure you will find problems. Feel free to ask :) Esteban On May 11 2021, at 12:57 pm, Esteban Lorenzano <[hidden email]> wrote:
|
In reply to this post by MarkODAus
Hope it helps you.
Regards,
Sebastian
From: [hidden email] <[hidden email]>
Sent: 11 May 2021 06:21 To: [hidden email] <[hidden email]> Subject: [Pharo-users] Looking for more non-trivial example application based on Spec2 to learn from... I’m trying to return to Smalltalk after a 15+ year break (VisualAge, ENfin/2 ST-80 etc), and have been trying to get back into the saddle with Pharo 8 and Pharo 9. Since I have no legacy code - I’ve opted for Pharo 9 knowing a stable release isn’t far away. My goal is to produce several applications for private use, and regain some competence in Smalltalk along the way. The apps are business accounting/investing style apps - not too technical. I’m really not keen on the prospect of using any of the other ‘mainstream’ alternatives we have today. I’m confident I can build a domain model easily enough, but the Pharo environment is my stumbling point - especially building the GUI with Spec2. I’m really spinning my wheels trying to get a useful Spec2 application built. It needs to have menus, a toolbar, tabbed notebooks, tree lists etc - plus a dozen or so tabular panes (to view/maintain my domain model). Ideally it would also be able to use ODBC or UDBC or Excel etc for transaction storage. I’ve been through all the building blocks in SpDemo but there a just too many concepts to familiarise with and test bit by bit as I buildup a more realistic functioning application. It has been very frustraing and time consuming. I understand why there are not yet solid guides available (book, tutorial, examples) , so I thought the best way would be to use an existing Spec2 application to help me get it going. I think this would save me many weeks of effort. Could anyone point me to at a working non-trivial application that I could share and use a starting point. Any suggestions to help me get into the heart of my application would be most welcome…! |
In reply to this post by MarkODAus
Many thanks Esteban - I will study the code to get a feel for what kinds of approach I would need to use. It didn’t install properly as you warned - but that’s OK - I only need to peruse the code at this point. First impressions are that it has a bit of complex detail that handles some of the platform & backend GUI work. I suppose ideally these would be reworked somewhat so the the Chrono application doesn’t need to deal with any of that stuff? Nevertheless is is going to be very useful and I thank you for your help :-) Cheers Mark |
In reply to this post by MarkODAus
Hi Sebastian Thanks for providing your application - No problems loading it on Windows 10 . Your application is pitched at the right level for the GUI work that I need to do. It looks like it will be very useful indeed. It is also really good to be able to compare it to Esteban’s more complex example, as I’m sure having both will help me with problem solving and better understanding of the Spec2 framework. Many thanks :-) Mark |
In reply to this post by MarkODAus
On May 11 2021, at 6:22 pm, [hidden email] wrote:
uh? where? if that is the case it should have gone long time ago... and I was sure I got rid of it. Esteban
|
In reply to this post by MarkODAus
I am playing with the idea of setting a bunch of techtalk sessions to "build an application from scratch". I need to book the time but I think it can be a good idea. Esteban On May 11 2021, at 6:35 pm, [hidden email] wrote:
|
+1
|
In reply to this post by MarkODAus
I'm glad to hear 🙂
From: [hidden email] <[hidden email]>
Sent: 11 May 2021 12:35 To: [hidden email] <[hidden email]> Subject: [Pharo-users] Re: Looking for more non-trivial example application based on Spec2 to learn from... Hi Sebastian
Thanks for providing your application - No problems loading it on Windows 10 . Your application is pitched at the right level for the GUI work that I need to do. It looks like it will be very useful indeed.
It is also really good to be able to compare it to Esteban’s more complex example, as I’m sure having both will help me with problem solving and better understanding of the Spec2 framework.
Many thanks :-) Mark |
In reply to this post by MarkODAus
Agree ! I think it would be very valuable to have a "build an application from scratch” tutorials/talks/guide. Perhaps it would also result in a small well designed sample application (e.g. Personal Organiser/To Do Lists) that new folk can work their way through; once they have got familiar enough with the language and tools using existing resources (i.e. no need to repeat basic concepts). |
In reply to this post by MarkODAus
Hi Esteban I’m new and may be wrong and apologise if so … ! It just looked like the Crono package has a few things I didn’t expect :
This may be just a naming and packaging thing rather than any criticism of design. In summary, as a simple consumer of the framework there was (some) surprising detail in the Crono package and classes that didn’t seem relevant to any new application I would be writing. Hence I would have hoped not to have to clone these details (or even deal with them…). Does that sound fair? - or do I have the wrong end of the stick !! Cheers Mark |
hi, ah, those are correct presenters/applications.
this application is one of the ones I use to test concepts that may or may not make their path to vanilla Spec :) Esteban On May 11 2021, at 7:30 pm, [hidden email] wrote:
|
In reply to this post by Esteban Lorenzano
When? :) I‘m in! Norbert Am 11.05.2021 um 18:39 schrieb Esteban Lorenzano <[hidden email]>:
|
I am currently working on a administrative system to keep track of our sheeps (about 30 ewes and 50-60 lambs a year). It is not finished yet, but if anyone wants I can make the currently private git public or give access.The intended user is my wife who is not an easy customer :-)
It uses a sqllite database, and a home rolled orm - I can provide a sample database as well. The code is in English, while the labels and such is in Danish. It tries to strike a balance between generic structures and performance, for example using pragmas in the domain model to drive important parts of the gui. Best, Kasper |
In reply to this post by MarkODAus
Hi Kasper Yes please! - that would also be an interesting project to look at… Cheers Mark |
Hi Mark - not to distract you, as its good to see someone pushing on the Spec integration with a real use case - but an alternate is a web application. Presumably you are familiar with Seaside but there is another kid in town that I’ve been having a lot of fun with with - CodeParadise - which uses MVP with the UI hosted transparently as minimal client side image (via the magic of Pharo Candle to create a minimal Dom based headless image that runs on the SqueakJS VM) using WebComponents. I’m still in awe over how this works and brings numerous Smalltalk technologies together (although - seeing Esteban demo a native spec app earlier this month was very cool too).
CP is still pretty heavily in development (so the same doc scarcity as well - https://github.com/ErikOnBike/CodeParadise) - but I’ve been helping Erik get Shoelace (https://shoelace.style/components/card) working in it - and that has a decent rich set of UI components that you can hook up (there isn’t a tree view though - not sure if that’s some CSS trickery to accomplish this). There was a presentation on it a few months ago - https://vimeo.com/457353130 Anyway - welcome to Pharo and isn’t it fun to pick up on Smalltalk again? Tim
|
In reply to this post by MarkODAus
Hi Tim Thanks for the suggestion - I’m aware of the alternative of using a web application architecture using something like Seaside (and now CodeParadise too - thanks). But I’m more interested at the moment in getting on top of a more traditional application for these personal apps I want to build for my desktop PC. My needs may change of course - and I’m sure will look at doing some web apps in the future... More importantly - YES - it is great to be back in a ST environment again , and of course it is still so very very addictive !! [ Before resuming I spent some time familiarising myself with the mainstream tools the industry seems to have adopted in the last 10-20 years. I must say I was quite surprised and even disappointed about the complexity, verbosity and incomprehensible syntax of some, and the sloppiness (or is it flexibility?) of others. I really was not keen to have to pick up one of those again. I had somehow hoped or expected that language and environment design would have been much slicker and more fully evolved by now…] Cheers Tim, and thanks for the suggestion… Mark |
Mark & Sebastian, Sebastian, the link you provided is to a RewriteToolsSet... I don't understand how this provides insights into a Spec2 solution? - but admittedly I didn't dig too deep - I saw WorldMenu items and went 'woah-stop!', lol. I'm hoping there was another link Mark referenced that perhaps didn't come through my email chain :) I REALLY want to learn how others use Spec2 in an integrated way (interconnected presenters, model refreshes, etc.). I've written 6 apps in Pharo (all with Spec2 GUI) and I still don't feel as if I'm doing things correctly. I can 'get things to work' and I'm pretty pleased with them in general, but I usually run up against the same 'refresh' issues, especially around notebooks. Esteban is a wealth of information and has been very helpful for my basic understanding - but I can envision him shaking his head at my feeble attempts and questions (just kidding Esteban!). I am VERY interested to review Spec2 code others are successfully using, so I can hopefully get past whatever brainblock I have in my Spec2 designs. ... and I would very much like to be involved in a Spec2 workshop/session/whatever! Happy Pharo-ing! Russ (whalehead on discord) On Wed, May 12, 2021 at 5:32 AM <[hidden email]> wrote:
Russ Whaley [hidden email] |
In reply to this post by Esteban Lorenzano
It would be great 🖖 Em ter., 11 de mai. de 2021 às 13:38, Esteban Lorenzano <[hidden email]> escreveu:
and so we lay... we lay in the same grave....
|
Free forum by Nabble | Edit this page |