The first task involved would be to get Apple to allow apps written in Python to be posted on their App Store, which I suspect is not going to happen.
Wow - really?
Can you explain the reasoning?
Collateral damage in the war between Adobe and Apple. The way Apple forbid Flash-based apps from being developed for iPhone was by requiring all iPhone apps to be developed using a combination of C++, Objective-C or JavaScript. They've since loosened the restriction a bit to allow for apps to have "certain portions" developed in another language, but that's widely regarded as a measure to allow apps which have extensions, etc. developed in a scripting language, like Unity, rather than allowing apps completely developed in another language. This created such a firestorm on the web I'm surprised to find someone who wasn't aware of this.
Regards,
Kevin
···
On Aug 27, 2010, at 8:37 AM, Jeshua Lacock wrote:
On Aug 27, 2010, at 9:34 AM, Kevin Ollivier wrote:
I was aware of the new agreement, but I didn't really think it through to Python.
I just read this however:
"Technically, as long as the interpreted code ISN'T downloaded (excluding JavaScript), the app may be approved. Rhomobiles "Rhodes" framework does just that, bundling mobile Ruby, a lightweight version of Rails, and your app for distribution via the app-store. Because both the interpreter and the interpreted code are packaged into the final application - Apple doesn't find it objectionable.
Even after the latest apple press release - rhodes apps (mobile ruby) are still viable on the app-store. I'd find it hard to believe that tinyPy or pyObjC wouldn't find a place if there is a willing developer community."
On Aug 27, 2010, at 9:45 AM, Kevin Ollivier wrote:
On Aug 27, 2010, at 8:37 AM, Jeshua Lacock wrote:
On Aug 27, 2010, at 9:34 AM, Kevin Ollivier wrote:
The first task involved would be to get Apple to allow apps written in Python to be posted on their App Store, which I suspect is not going to happen.
Wow - really?
Can you explain the reasoning?
Collateral damage in the war between Adobe and Apple. The way Apple forbid Flash-based apps from being developed for iPhone was by requiring all iPhone apps to be developed using a combination of C++, Objective-C or JavaScript. They've since loosened the restriction a bit to allow for apps to have "certain portions" developed in another language, but that's widely regarded as a measure to allow apps which have extensions, etc. developed in a scripting language, like Unity, rather than allowing apps completely developed in another language. This created such a firestorm on the web I'm surprised to find someone who wasn't aware of this.
The first task involved would be to get Apple to allow apps written in Python to be posted on their App Store, which I suspect is not going to happen.
Wow - really?
Can you explain the reasoning?
Collateral damage in the war between Adobe and Apple. The way Apple forbid Flash-based apps from being developed for iPhone was by requiring all iPhone apps to be developed using a combination of C++, Objective-C or JavaScript. They've since loosened the restriction a bit to allow for apps to have "certain portions" developed in another language, but that's widely regarded as a measure to allow apps which have extensions, etc. developed in a scripting language, like Unity, rather than allowing apps completely developed in another language. This created such a firestorm on the web I'm surprised to find someone who wasn't aware of this.
Hi Kevin,
I was aware of the new agreement, but I didn't really think it through to Python.
Have you read the actual terms?
I just read this however:
"Technically, as long as the interpreted code ISN'T downloaded (excluding JavaScript), the app may be approved. Rhomobiles "Rhodes" framework does just that, bundling mobile Ruby, a lightweight version of Rails, and your app for distribution via the app-store. Because both the interpreter and the interpreted code are packaged into the final application - Apple doesn't find it objectionable.
Even after the latest apple press release - rhodes apps (mobile ruby) are still viable on the app-store. I'd find it hard to believe that tinyPy or pyObjC wouldn't find a place if there is a willing developer community."
So it seems plausible...
Well, "interpreted code" was how it was phrased in older versions of the iPhone SDK agreement, and in fact, there were Python apps approved during that time, including one using PyGame. However, Apple's recent SDK agreement updates mention Objective-C, C++ and JavaScript by name as the only languages you can use to develop apps in. It even forbids 'translating' other language apps into those languages, which sounds like it forbids even Python -> C / C++ conversion.
If you want to test your theory, though, you'll need to finish up the iPhone port being worked on in wxWidgets trunk then work out whatever issues crop up with the bindings code. It is certainly possible that they will approve the app anyway if it meets their standards for a native LNF.
Regards,
Kevin
···
On Aug 27, 2010, at 8:51 AM, Jeshua Lacock wrote:
On Aug 27, 2010, at 9:45 AM, Kevin Ollivier wrote:
On Aug 27, 2010, at 8:37 AM, Jeshua Lacock wrote:
On Aug 27, 2010, at 9:34 AM, Kevin Ollivier wrote:
Plus there would need to be a tool like py2app that could target iOS, and we would also need the ability to rebuild any other extension modules needed by the app for the platform...
···
On 8/27/10 9:07 AM, Kevin Ollivier wrote:
Hi Jeshua,
On Aug 27, 2010, at 8:51 AM, Jeshua Lacock wrote:
On Aug 27, 2010, at 9:45 AM, Kevin Ollivier wrote:
On Aug 27, 2010, at 8:37 AM, Jeshua Lacock wrote:
On Aug 27, 2010, at 9:34 AM, Kevin Ollivier wrote:
The first task involved would be to get Apple to allow apps written in Python to be posted on their App Store, which I suspect is not going to happen.
Wow - really?
Can you explain the reasoning?
Collateral damage in the war between Adobe and Apple. The way Apple forbid Flash-based apps from being developed for iPhone was by requiring all iPhone apps to be developed using a combination of C++, Objective-C or JavaScript. They've since loosened the restriction a bit to allow for apps to have "certain portions" developed in another language, but that's widely regarded as a measure to allow apps which have extensions, etc. developed in a scripting language, like Unity, rather than allowing apps completely developed in another language. This created such a firestorm on the web I'm surprised to find someone who wasn't aware of this.
Hi Kevin,
I was aware of the new agreement, but I didn't really think it through to Python.
"Technically, as long as the interpreted code ISN'T downloaded (excluding JavaScript), the app may be approved. Rhomobiles "Rhodes" framework does just that, bundling mobile Ruby, a lightweight version of Rails, and your app for distribution via the app-store. Because both the interpreter and the interpreted code are packaged into the final application - Apple doesn't find it objectionable.
Even after the latest apple press release - rhodes apps (mobile ruby) are still viable on the app-store. I'd find it hard to believe that tinyPy or pyObjC wouldn't find a place if there is a willing developer community."
So it seems plausible...
Well, "interpreted code" was how it was phrased in older versions of the iPhone SDK agreement, and in fact, there were Python apps approved during that time, including one using PyGame. However, Apple's recent SDK agreement updates mention Objective-C, C++ and JavaScript by name as the only languages you can use to develop apps in. It even forbids 'translating' other language apps into those languages, which sounds like it forbids even Python -> C / C++ conversion.
If you want to test your theory, though, you'll need to finish up the iPhone port being worked on in wxWidgets trunk then work out whatever issues crop up with the bindings code. It is certainly possible that they will approve the app anyway if it meets their standards for a native LNF.
On Aug 27, 2010, at 9:45 AM, Kevin Ollivier wrote:
Can you explain the reasoning?
Collateral damage in the war between Adobe and Apple. The way Apple forbid Flash-based apps from being developed for iPhone was by requiring all iPhone apps to be developed using a combination of C++, Objective-C or JavaScript. They've since loosened the restriction a bit to allow for apps to have "certain portions" developed in another language, but that's widely regarded as a measure to allow apps which have extensions, etc. developed in a scripting language, like Unity, rather than allowing apps completely developed in another language. This created such a firestorm on the web I'm surprised to find someone who wasn't aware of this.
Collateral damage in the war between Adobe and Apple. The way Apple forbid Flash-based apps from being developed for iPhone was by requiring all iPhone apps to be developed using a combination of C++, Objective-C or JavaScript. They've since loosened the restriction a bit to allow for apps to have "certain portions" developed in another language, but that's widely regarded as a measure to allow apps which have extensions, etc. developed in a scripting language, like Unity, rather than allowing apps completely developed in another language. This created such a firestorm on the web I'm surprised to find someone who wasn't aware of this.
Good news!
Indeed! I have a feeling this change is permanent and really going to put the whole 'interpreted languages' business to bed. Better yet, you don't need to bother with Python -> C/C++ conversion now, though using a tool like Psyco may provide some tangible performance benefits.
Would anyone like to collaborate with me getting wxPython ported to the iPhone now?
I don't have much time to devote to it myself at the moment, but I'll at least be happy to give you some advice and help troubleshoot. You might want to create a branch from Robin's wxPython HG repo to work on so others can download and test it periodically too.
Put that script in the root of the Python and wxWidgets source dirs and run it, and see if it works okay.
For the wxPython side, I'm not 100% sure what will be needed, because it uses distutils to build, and distutils may just correctly copy over all the settings from when you built Python for iPhone. Running setup.py might Just Work, or there may be more that needs done there.
Regards,
Kevin
···
On Sep 9, 2010, at 1:14 PM, Jeshua Lacock wrote:
On Aug 27, 2010, at 9:45 AM, Kevin Ollivier wrote:
There are some places in our setup.py and config.py that assume things when running on a Mac that may not be good assumptions when building for iPhone, but those should be easy to isolate and to work-around by checking WXPORT or something like that.
···
On 9/10/10 11:45 AM, Kevin Ollivier wrote:
For the wxPython side, I'm not 100% sure what will be needed, because it uses distutils to build, and distutils may just correctly copy over all the settings from when you built Python for iPhone. Running setup.py might Just Work, or there may be more that needs done there.