Pharo program "examples"

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Pharo program "examples"

Torsten Bergmann
If your users are "Pharo" users then deploy to STHub, provide a load script (Gofer/Monticell)
or add you goodie to the config browser by having a config in one of the Pharo Meta repositories.

 
But I assume your question is more oriented to building "usual consumer" apps like
Games, a business app, online app, ...:

There is no definitive answer to your question. There are so many scenarios
that could be applied to "build somenthing and deploying with Pharo" that there is no single
answer/solution. It depends on what you need, who and where your users are.


Some examples:
==============
You could have a Pharo app similar to "http://www.drgeo.eu/" for desktop or
Android, ... or a webapp like http://pharo.pharocloud.com, ...

It depends on what you need. You can deploy as a Windows App, a Mac app, a linux app
with our without ZeroConf, a web app that runs on Pharo Cloud or (like http://spesenfuchs.de)
run on Amazon Cloud. You could deploy a Pharo GLASS environment, ...

Usually there are two major steps that all these have in common:

  1. Configuring the image to run the program
       - could be starting the webserver so the web app runs (usually done in Seaside, ...)
       - could be starting the window that you need (if you build a Pharo based window UI with Spec
         for instance as the "PharoLauncher" app does)
       - could mean to open a morph fullscreen (similar to what "Phratch" app does to deploy)
 
       - could mean to additionally throw out classes/packages out that you do not need
         to minimize the image ("stripping an image") or load only the packages you
         need on an already minimal image ("bottom up approach")

     In any case typically the program is already prepared to run in a saved image,
     so when the saved image is opened by the end user it can be cunsumed/used

  2. Deploy and distribute
      - for a webapp one can copy the image to Pharocloud or install you own server with Pharo and Apache or Nginx
      - could mean to just copy the OS specific virtual machine (VM) + image to a desktop machine (or as ZIP),
        (on Windows adopt the Pharo.ini to run this specific image)
      - provide a simple bash script so the packages are downloaded for a unix like scenario (following ZeroConf)
      - provide a PPA/DPKG like distribution as Pharo does for Ubuntu http://pharo.org/download       
      - could mean to have a "one click" similar to the "Pharo one click" with
        all the virtual machines and the image (so it runs portable on different operating
        systems), this is usefull for memory stick like deployment  (see the "portable" ZIPs in http://files.pharo.org/platform/)
      - could mean you build a custom VM with an own icon - for instance for a Windows.exe, optional own
        plugins and an own setup/installer like Pharo Launcher provides (or use the Pharo.exe with Reshacker to exchange the icon)

Some pointers:

LOCAL INSTALLABLE APP
=====================
look at PharoLauncher  http://www.smalltalkhub.com/#!/~Pharo/PharoLauncher  It even comes with a setup (using NSIS installer)
or Phratch (http://phratch.com/). You can download them for end user or install them in Pharo.

Also check the following pointers:

http://lists.gforge.inria.fr/pipermail/pharo-project/2010-February/021450.html
http://squeakvm.org/win32/custom.html
http://joachimtuchel.wordpress.com/2010/02/05/great-summary-on-how-to-deplay-a-pharo-based-application/

or check this from the old lasergame for preparation
http://squeak.preeminent.org/tut2007/html/205.html

Own installer, see "build-windows-installer.sh" file and subdir "windows-installer"
https://github.com/pharo-project/pharo-ci

...


WEB APPLICATIONS
================
Deploying a Zinc (Zn) based web app on your own
http://zn.stfx.eu/zn/build-and-deploy-1st-webapp/

Deploy a Seaside based web app
http://book.seaside.st/book/advanced/deployment/deployment-preparing

Deploy a webapp using Pharocloud
http://pharocloud.com/blog/view/2013-12-04_image_store

http://stackoverflow.com/questions/19350167/can-you-deploy-applications-written-in-smalltalk-squeak-pharo-like-a-java-app
...


AN OWN BOOTABLE OPERATING SYSTEM
================================
http://pillarhub.pharocloud.com/hub/mikefilonov/pharonos