Hello,
I've decided to end my search for an appropriate language/environment in order to write open-surce multi-platform with Pharo. :-) Playing a bit with 5.0 image, watching Dimitris' tutorial series, reading several articles (I like Richard's Smalltalk-Talk), subscribed to the mailing lists...convinced me that Smalltalk/Pharo is so much refreshing environment to code in comparison with the pale setup present in som many other statically-compiled languages which I was exploring/evaluating, not to speak about the fact that with Pharo one gets complete setup at once without the need for tedious work of bringing editor+other tools together. I'm aware that Pharo (Smalltalk) are different and I really like its development environment, but wonder about deploying. There is old thread from 2013 providing some help about deploying desktop app, but I wonder if something has changed since then making the whole process somewhat more smooth? I run Debian (Sid) where I'll do all my coding, but would like to provide versions of my desktop app for both Windows and Mac OS-es. Any hint how to proceed? I'd like to see see basic examples which would be equivalent to e.g. some 'classical' desktop app having menu bar wit File/Edit/../About items etc. What is different with Pharo? I assume one does not want to expose the whole dev environment to the end-users, so wonder how to do it? Do devs plan to improve deploying of Pharo desktop app in the future? Although it may be strange, but I'm one of those not liking proliferation of JS and using it for almost everything and therefore I prefer to stay with Pharo (vs e.g. Amber) and write desktop app... Sincerely, Gour -- The intricacies of action are very hard to understand. Therefore one should know properly what action is, what forbidden action is, and what inaction is. |
Hi,
I don't have too much time now so I will try to answer fast. First, be careful with Pharo 5 because this is an alpha. There is high chance that some things breake. If you find some bug you can report it on pharo's fogbugz (the link is on Pharo website). For the deployment you have a different virtual machine for OSX/Linux/windows. Very few things should change on the image side. So for a desktop app the user need to install the virtual machine and launch the image you give him. You can also provide the VM with the image directly if you do not want to annoy the user. For now the VM is only 32b, this can create some trouble for Linux users but the 64b VM should come soon! :) maybe for Pharo 6? If I remember well I think there may be a all-in-all VM but someone need to confirm. For now there is not a lot of classic application. I think you can take a look at Dr Geo. For the deployment I have to say that for now there is not a real solution :( If you want to do open source you can use the same method that PharoLauncher that open a window in full screen and let a setting for developers to be able to get a classic Pharo environment. But the user might have acess to the code through GTSpotter or Morph's halos. If you don't want the user to get an acess to the code by any mean you have to cut everything by hand for now. (Disable spotter, disable halo, disable world menu, disable the debugger...). I would like to have a way to lock an image directly from Pharo but I don't have the time to do it for now. If you need some help to do that you can ask when you will code and we can help you. Welcome to Pharo and merry Christmas! -- Cyril Ferlicot Synectique On Friday, December 25, 2015, Saša Janiška <[hidden email]> wrote: Hello, -- Cheers Cyril Ferlicot |
On Pet, 2015-12-25 at 11:48 +0100, Cyril Ferlicot wrote:
> First, be careful with Pharo 5 because this is an alpha. There is high > chance that some things breake. If you find some bug you can report it > on pharo's fogbugz (the link is on Pharo website). OK. No problem. > For the deployment you have a different virtual machine for > OSX/Linux/windows. That's clear. :-) > For now the VM is only 32b, this can create some trouble for Linux > users but the 64b VM should come soon! :) maybe for Pharo 6? Pharo-5 is scheduled for the 1Q/2016? > For now there is not a lot of classic application. I think you can > take a look at Dr Geo. That one looks interesting. Thank you for that. > If you want to do open source you can use the same method that > PharoLauncher that open a window in full screen and let a setting for > developers to be able to get a classic Pharo environment. But the user > might have acess to the code through GTSpotter or Morph's halos. I plan to do open-source, but would like to hide code and other dev tools in order not to confus end-users. > If you don't want the user to get an acess to the code by any mean you > have to cut everything by hand for now. (Disable spotter, disable > halo, disable world menu, disable the debugger...). OK, it means it's possible...Will explore and/or ask. ;) > I would like to have a way to lock an image directly from Pharo +1 > Welcome to Pharo and merry Christmas! Thank you! Sincerely, Gour -- Perform your prescribed duty, for doing so is better than not working. One cannot even maintain one's physical body without work. |
I am on holidays to at London for Christmas with no direct access to my machine. But you can get a very good idea how to do what you want by taking a look at standalone Pharo apps like Phratch and Dr Geo . The good news is that is both very easy and extremely flexible. You can also change the icon of the app and and the name of the Pharo executable to make the user completely unaware officials Pharo existence. You can also add squeak to your google searches because they have been several posts about this in the squeak mailing list . Pharo is incompatible with squeak but it's still a fork of squeak so there is a lot of common ground. After that you can start removing packages you don't need, Pharo is in the process of of being modularlized so that is easy to start with a skeleton image. If you are in need of a specific Pharo library choosing Cuis which is also a squeak fork is simple and much lighter than Pharo image. Squeak , Pharo and Cuis share the same VMs. Las but not least if you are on Windows there has been a thread on our list on how to make window installers for Pharo apps the easy way. You may want to google that too, I think Damien made a guide about it . We can go on and on and on how much Pharo can be customized. I even recently made an auto update functionality for me Pharo project ChronosManager which detects if the github repository has a new release available and downloads it so that the user use always the latest stable release without a need to worry about it or do anything about it ;) On Fri, 25 Dec 2015 at 13:42, Saša Janiška <[hidden email]> wrote: On Pet, 2015-12-25 at 11:48 +0100, Cyril Ferlicot wrote: |
On Pet, 2015-12-25 at 16:01 +0000, Dimitris Chloupis wrote:
> I am on holidays to at London for Christmas with no direct access to > my machine. Thanks a lot for your tutorial series and please, enjoy your holidays. ;) > But you can get a very good idea how to do what you want by taking a > look at standalone Pharo apps like Phratch and Dr Geo . Phratch looks awesome, thank you for the reference. > You can also add squeak to your google searches because they have been > several posts about this in the squeak mailing list . Pharo is > incompatible with squeak but it's still a fork of squeak so there is > a lot of common ground. OK. > After that you can start removing packages you don't need, Pharo is in > the process of of being modularlized so that is easy to start with a > skeleton image. The modularization process is going within V5.0? > If you are in need of a specific Pharo library choosing Cuis which is > also a squeak fork is simple and much lighter than Pharo image. Squeak > , Pharo and Cuis share the same VMs. I do not mind the size of the image since most software written in other programming languages is also usually quite bloated. Moreover, it seesm Cuis is not so actively developed as Pharo, so I tend to focus on staying with Pharo. > Las but not least if you are on Windows there has been a thread on our > list on how to make window installers for Pharo apps the easy way. You > may want to google that too, I think Damien made a guide about it . Well, I only run Linux (Debian), but in order to produce installer for Windows, I might use Windows under vbox, although there is slight problem - the last license of Windows which I own is for XP. :-) In any case, I'm excited to explore the world of Pharo. ;) Sincerely, Gour -- One who is not disturbed in mind even amidst the threefold miseries or elated when there is happiness, and who is free from attachment, fear and anger, is called a sage of steady mind. http://www.atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810 -- The embodied soul may be restricted from sense enjoyment, though the taste for sense objects remains. But, ceasing such engagements by experiencing a higher taste, he is fixed in consciousness. http://www.atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810 -- The embodied soul may be restricted from sense enjoyment, though the taste for sense objects remains. But, ceasing such engagements by experiencing a higher taste, he is fixed in consciousness. http://www.atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810 -- An intelligent person does not take part in the sources of misery, which are due to contact with the material senses. O son of Kuntī, such pleasures have a beginning and an end, and so the wise man does not delight in them. http://www.atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810 -- One must deliver himself with the help of his mind, and not degrade himself. The mind is the friend of the conditioned soul, and his enemy as well. http://www.atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810 |
In reply to this post by Gour
Le 25/12/15 14:41, Saša Janiška a écrit : > On Pet, 2015-12-25 at 11:48 +0100, Cyril Ferlicot wrote: > > >> First, be careful with Pharo 5 because this is an alpha. There is high >> chance that some things breake. If you find some bug you can report it >> on pharo's fogbugz (the link is on Pharo website). > OK. No problem. > >> For the deployment you have a different virtual machine for >> OSX/Linux/windows. > That's clear. :-) > >> For now the VM is only 32b, this can create some trouble for Linux >> users but the 64b VM should come soon! :) maybe for Pharo 6? > Pharo-5 is scheduled for the 1Q/2016? Probably march. > >> For now there is not a lot of classic application. I think you can >> take a look at Dr Geo. > That one looks interesting. Thank you for that. > >> If you want to do open source you can use the same method that >> PharoLauncher that open a window in full screen and let a setting for >> developers to be able to get a classic Pharo environment. But the user >> might have acess to the code through GTSpotter or Morph's halos. have a look at the Pharo launcher. In the future we plan to do better for deployment but for now we deploy an image and control the debugger (check UnhandledError) and menu > I plan to do open-source, but would like to hide code and other dev > tools in order not to confus end-users. > >> If you don't want the user to get an acess to the code by any mean you >> have to cut everything by hand for now. (Disable spotter, disable >> halo, disable world menu, disable the debugger...). > OK, it means it's possible...Will explore and/or ask. ;) > > >> I would like to have a way to lock an image directly from Pharo > +1 > > >> Welcome to Pharo and merry Christmas! > Thank you! > > > Sincerely, > Gour > |
On Pet, 2015-12-25 at 17:38 +0100, stepharo wrote:
> In the future we plan to do better for deployment but for now we > deploy an image and control the debugger (check UnhandledError) and > menu OK. Good. Sincerely, Gour -- A person is considered still further advanced when he regards honest well-wishers, affectionate benefactors, the neutral, mediators, the envious, friends and enemies, the pious and the sinners all with an equal mind. |
In reply to this post by kilon.alios
Hi Dimitris,
2015-12-25 13:01 GMT-03:00 Dimitris Chloupis <[hidden email]>:
If you don't mind to share, I could try to integrate it in ApplicationUpdater http://smalltalkhub.com/#!/~hernan/ApplicationUpdater Cheers, Hernán
|
As I said I away but if you are in hurry you can see the code here https://github.com/kilon/ChronosManager/blob/master/ChronosManager.package/ChronosManager.class/class/updateToLatestVersion.st The idea is that the class carries the current release of the project that is installed while the latest release is read online from inside a release file which is a simple text file with release information written in human readable format. Regex is used to detect a v0.1 pattern and top most find is used for fetching the number of latest release. Autoupdate also checks internet connection with github so the user never see an error in case of failure to connect instead it just does not update. Next step will be to clean up and delete any previously downloaded files via autoupdate. This way image folder won't grow in size in each autoupdate. UIManager can be used to alert the user for a new update and ask for permission to download it. There is no reason for git to be installed for autoupdate to work , only thing needed is a normal Pharo image. When I return to Athens I will improve it further and document it. On Fri, 25 Dec 2015 at 17:05, Hernán Morales Durand <[hidden email]> wrote:
|
2015-12-25 14:37 GMT-03:00 Dimitris Chloupis <[hidden email]>:
Thank you Dimitris, no rush for this.
So each method/class change will increase number to a new class version?
Ok, the AppUpdater uses periodicity to set the frequency of updates. I will try to generalize to handle internet connection and other repositories like GitHub.
Cool :)
Have a nice trip. Cheers, Hernán
|
Yes exactly the version is returned by the class. Obviously that should increase with each new release but for me at least that's sensible coding. I was also considering a better scheme for the periodical checks so your code could help me there because I don't want more than one check per month. So it seems we can help each other ;) On Fri, 25 Dec 2015 at 19:19, Hernán Morales Durand <[hidden email]> wrote:
|
In reply to this post by kilon.alios
On Sat, Dec 26, 2015 at 3:01 AM, Dimitris Chloupis
<[hidden email]> wrote: > I am on holidays to at London for Christmas with no direct access to my > machine. > > But you can get a very good idea how to do what you want by taking a look at > standalone Pharo apps like Phratch and Dr Geo . The good news is that is > both very easy and extremely flexible. You can also change the icon of the > app and and the name of the Pharo executable to make the user completely > unaware officials Pharo existence. You can also add squeak to your google > searches because they have been several posts about this in the squeak > mailing list . Pharo is incompatible with squeak but it's still a fork of > squeak so there is a lot of common ground. > > After that you can start removing packages you don't need, Pharo is in the > process of of being modularlized so that is easy to start with a skeleton > image. If you are in need of a specific Pharo library choosing Cuis which is > also a squeak fork is simple and much lighter than Pharo image. Squeak , > Pharo and Cuis share the same VMs. > > Las but not least if you are on Windows there has been a thread on our list > on how to make window installers for Pharo apps the easy way. You may want > to google that too, I think Damien made a guide about it . > > We can go on and on and on how much Pharo can be customized. I even recently > made an auto update functionality for me Pharo project ChronosManager which > detects if the github repository has a new release available and downloads > it so that the user use always the latest stable release without a need to > worry about it or do anything about it ;) Cool. Is that something possible to extract? It would be nice to see such added to PharoLauncher. cheers -ben |
In reply to this post by Gour
>> After that you can start removing packages you don't need, Pharo is in >> the process of of being modularlized so that is easy to start with a >> skeleton image. > The modularization process is going within V5.0? Yes and it started from day one. We are continuously working on it. It is just a daunting task. We changed a lot of design decision to support a modular system (such as settings) and we will continue to do. And I can tell you that it will pay off for real :) People only look at the top of the iceberg but below we are working a lot (like new way of expressing start up dependencies). >> If you are in need of a specific Pharo library choosing Cuis which is >> also a squeak fork is simple and much lighter than Pharo image. Squeak >> , Pharo and Cuis share the same VMs. > I do not mind the size of the image since most software written in other > programming languages is also usually quite bloated. > > Moreover, it seesm Cuis is not so actively developed as Pharo, so I tend > to focus on staying with Pharo. People are fun. They want excellent tools like GSpotter but not their cost :). For your information we are working on a bootstrap and during our experience we got a small core in 80k :) So once the bootstrap will be ready for Pharo 50 we will start to build Pharo incrementally from this core. So yes Pharo is moving and our goal is to change the programmer experience. > Well, I only run Linux (Debian), but in order to produce installer for > Windows, I might use Windows under vbox, although there is slight > problem - the last license of Windows which I own is for XP. :-) > > In any case, I'm excited to explore the world of Pharo. ;) Super :) > > > Sincerely, > Gour > > -- > One who is not disturbed in mind even amidst the threefold > miseries or elated when there is happiness, and who is free > from attachment, fear and anger, is called a sage of steady mind. > > http://www.atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810 > > -- > The embodied soul may be restricted from sense enjoyment, > though the taste for sense objects remains. But, ceasing > such engagements by experiencing a higher taste, > he is fixed in consciousness. > > http://www.atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810 > > -- > The embodied soul may be restricted from sense enjoyment, > though the taste for sense objects remains. But, ceasing > such engagements by experiencing a higher taste, > he is fixed in consciousness. > > http://www.atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810 > > -- > An intelligent person does not take part in the sources of misery, > which are due to contact with the material senses. O son of Kuntī, > such pleasures have a beginning and an end, and so the wise man does > not delight in them. > > http://www.atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810 |
In reply to this post by Ben Coman
There is an auto update in Pharo.
This is the one we use for building it. Have a look at the way the script loader is built. It fetches a numbered collection of cs and compares their number with the current number of the image and load the delta. stef Le 25/12/15 22:50, Ben Coman a écrit : > On Sat, Dec 26, 2015 at 3:01 AM, Dimitris Chloupis > <[hidden email]> wrote: >> I am on holidays to at London for Christmas with no direct access to my >> machine. >> >> But you can get a very good idea how to do what you want by taking a look at >> standalone Pharo apps like Phratch and Dr Geo . The good news is that is >> both very easy and extremely flexible. You can also change the icon of the >> app and and the name of the Pharo executable to make the user completely >> unaware officials Pharo existence. You can also add squeak to your google >> searches because they have been several posts about this in the squeak >> mailing list . Pharo is incompatible with squeak but it's still a fork of >> squeak so there is a lot of common ground. >> >> After that you can start removing packages you don't need, Pharo is in the >> process of of being modularlized so that is easy to start with a skeleton >> image. If you are in need of a specific Pharo library choosing Cuis which is >> also a squeak fork is simple and much lighter than Pharo image. Squeak , >> Pharo and Cuis share the same VMs. >> >> Las but not least if you are on Windows there has been a thread on our list >> on how to make window installers for Pharo apps the easy way. You may want >> to google that too, I think Damien made a guide about it . >> >> We can go on and on and on how much Pharo can be customized. I even recently >> made an auto update functionality for me Pharo project ChronosManager which >> detects if the github repository has a new release available and downloads >> it so that the user use always the latest stable release without a need to >> worry about it or do anything about it ;) > Cool. Is that something possible to extract? It would be nice to see > such added to PharoLauncher. > cheers -ben > > |
In reply to this post by Ben Coman
It's possible if releases are published / committed in a Github repo. It can even include VM and all other dependencies. As a matter of facts this code can work for even the updating Pharo itself completely bypassing Pharolauncher. GitHub and git can easily handle binary files of any size. On Fri, 25 Dec 2015 at 21:52, Ben Coman <[hidden email]> wrote: On Sat, Dec 26, 2015 at 3:01 AM, Dimitris Chloupis |
In reply to this post by Gour
On December 25, 2015 11:17:01 AM GMT+01:00, "Saša Janiška" <[hidden email]> wrote:
>Hello, > >I've decided to end my search for an appropriate language/environment >in >order to write open-surce multi-platform with Pharo. :-) > >Playing a bit with 5.0 image, watching Dimitris' tutorial series, >reading several articles (I like Richard's Smalltalk-Talk), subscribed >to the mailing lists...convinced me that Smalltalk/Pharo is so much >refreshing environment to code in comparison with the pale setup >present >in som many other statically-compiled languages which I was >exploring/evaluating, not to speak about the fact that with Pharo one >gets complete setup at once without the need for tedious work of >bringing editor+other tools together. > >I'm aware that Pharo (Smalltalk) are different and I really like its >development environment, but wonder about deploying. > >There is old thread from 2013 providing some help about deploying >desktop app, but I wonder if something has changed since then making >the >whole process somewhat more smooth? > >I run Debian (Sid) where I'll do all my coding, but would like to >provide versions of my desktop app for both Windows and Mac OS-es. > >Any hint how to proceed? The PharoLauncher is a desktop app with a Windows installer, with a MacOS drag&Drop window, and with Unix distribution-dependent packages. Useful URLs: http://www.smalltalkhub.com/#!/~Pharo/PharoLauncher https://github.com/pharo-project/pharo-ci/tree/master/ci-jobs/pharo https://ci.inria.fr/pharo/view/all/job/Launcher/ -- Damien Cassou http://damiencassou.seasidehosting.st "Success is the ability to go from one failure to another without losing enthusiasm." --Winston Churchill |
Free forum by Nabble | Edit this page |