Hi Kilon, Hi Ralph, I wish I could answer with concrete information. But that's not what I spend my time doing. However, I need to correct the impression the following answers give. I think they're discouraging to say the least. On Sat, May 10, 2014 at 2:03 PM, kilon alios <kilon.alios@gmail.com> wrote:
I am no Pharo expert but will try to answer with what I know
1) Pharo download is 16 mb compressed and 58 mb uncompressed.
and can be stripped. It is easy to get a development environment into 16Mb (e.g. Newspeak). Applications can easily fit in 16Mb. Applications don't need to be deployed with sources or changes files.
2) Pharo is a standalone and as such it does not need installation. Everything you need is in a single folder contained in a single zip with a single download. I dont think you can get any easier than that. So its a single task.
But there are scripts to create platform-compatible installers on Mac OS and Win32 if that's what you want.
3) There are people who run Pharo on iOS like DrGeo. But Pharo does not support those platforms and most likely you will experience few problems with it. So its some extra work but its doable. They do represent a larger market and a very important one I agree.
What does "not support" mean? People have successfully deployed apps on both iPhone and Android. Pharo can not (easily) be developed on iPhone but can be deployed there-on. One can't develop iPhone apps on iPhone. you need a Mac for that. Does that mean Apple don't support iPhone??
4) Again I dont know the issues on those platforms but bare in mid, Pharo is a dynamic language and dynamic language are definetly not a first choice for those platforms for game because they are slower than official supported languages. Those are in iOS ObjectiveC and on Android Java. All that assuming your game has some demanding graphics. For simple graphics with not much animation and such you should be ok.
I disagree with 4. If graphics are done by external libraries (and note that even BitBlt in Pharo/Squeak is not implemented in Squeak, but in C) graphics can be as fast in Pharo as in anything else.
Personally I think its not a good idea, because Pharo does not support those platforms well. I think that in that scenario there is a better alternative , that of Javascript + Pharo. Its possible to use JS as front end and Pharo as backend. If you dont want to code in Js there is Amber. Web apps are quite performant so you will be able to do some really impressive graphics with this recipe. You will be using also technologies that are well documented and well tested.
IMO this is a /really bad/ answer. There are Pharo and Squeak apps deployed on Android and iPhone. The answer shouldn't be "this is a bad idea", it should be "you can deploy natively like this..., or you can deploy with a native UI and Smalltalk logic like this...". But the answer should never be "this is a bad idea". Alas I don't spend my time deploying apps so I don't know how to do it, only that people have (I have DrGeo on my iPhone). So can those that know please write an FAQ that answers ralph's question? I wish I could :-/
Also there are like a ton of game libraries for JS out there. Which will lift the amount of work you will need to do for your game.
Kilon, please don't take this personally but someone could easily interpret your answer as "you're better off programming in JavaScript. Pharo can't do deployment. " That's both a terrible and an incorrect answer. I hope we can do much better. -- best, Eliot