On 13 Mar, 2008, at 23:14, mario alejandro wrote:
> I'm a developer with 10+ of experience in developing with
> Delphi, .NET, Python, FoxPro and other small langauges. I have 2
> years working in the windows mobile plataform and with the release
> of the iphone sdk I wish port my actual solution (for take orders)
> to iphone.
> Despite I understan the c-derivates languages and looking at Objc-c
> is not that bad as C++, as you can see on my language list I prefer
> run away anything that smell as C ;)
> I know pyObjc is already ported to iPhone. Let's imagine that the
> Apple licence restriction allow to use python here.... how good can
> be use pyObjc instead of go native?
The rest message was written without access to an actual iPhone or
Touch, and hence not necessarily based on reality :-).
> I don't need a explanation on how great is python, I know. I wonder
> - I can acces the specific abilities of iphone as the contact,
> photos, accelerometer & seudo-gps?
A PyObjC port would allow access to all Objective-C API's, just like
on the desktop. So I guess the anwser to your question is "yes".
> - Is a nightmare the deployment or is a pice of cake? The end-user
> need install complex unix-like things, install outside the python
> interpreter, mess with the iphone configuration or jailbreak it?
That depends on what Apple will allow. If Apple allows PyObjC
applications on the appstore deployment would be easy. Even with a
jail-broken phone it should be possible to tweak py2app to build
standalone .app bundles that can be installed using Installer.app.
But please not that this does require some enginering work: py2app is
currently not able to do cross-builds.
> - I lost the debugging & tracing or is full suported?
I don't understand the question.
A question you don't specifically ask is: what are the advantages and
disadvantages of using Python instead of Objective-C on the iPhone.
Let's start with two major-ish disadvantages: you're .app bundle will
be relatively large because you will have to embed Python (or you have
to use a jailbroken device and a package manager application). A
second disadvantage is raw speed: Python code is slower than C code,
and this tends to be more noticable on slow devices like an iPhone.
That said, we've deployed hybrid Python/C++ applications on iPaq
devices (C++ GUI, Python for everything else) and those are perfectly
usable on devices slower than an iPhone.
The major advantages of Python are the availability of loads of useful
libraries and a very rapid development process due to having very high
level language. Those advantages are just as useful on a mobile device
as on the desktop and server. This should at least allow you to
prototype your application in Python.