Computer Science Canada

What languages does iPhone apps and Android apps accept?

Author:  Cancer Sol [ Thu Mar 07, 2013 7:41 pm ]
Post subject:  What languages does iPhone apps and Android apps accept?

^Title
Also, would C++ or java be alright for making iPhone or Android apps/games?

Author:  Insectoid [ Thu Mar 07, 2013 9:27 pm ]
Post subject:  RE:What languages does iPhone apps and Android apps accept?

iPhone apps are usually written in Objective-C. Android apps are mostly written in Java, but some other languages can be used, though programs written in those languages may be limited to phones running specific hardware setups.

Author:  [Gandalf] [ Fri Mar 08, 2013 12:33 am ]
Post subject:  RE:What languages does iPhone apps and Android apps accept?

Android supports C and C++ through their Android NDK.

I've heard that Apple's Objective-C compiler supports at least part of C++, hence the convoluted "Objective-C++".

Author:  Tony [ Fri Mar 08, 2013 2:24 am ]
Post subject:  RE:What languages does iPhone apps and Android apps accept?

Additionally, Ruby for iOS -- http://www.rubymotion.com/

And the entire realm of magic of "my app is a webpage that's bundled with its own copy of a browser" that is http://phonegap.com/

Author:  mirhagk [ Fri Mar 08, 2013 10:27 am ]
Post subject:  RE:What languages does iPhone apps and Android apps accept?

Yeah HTML apps are picking up, because they run on every device without doing any additional work. There's also the option to use Xamarin and cross-compile .net apps to android and iOS, which means you can use any .NET language that is compiled (C#, F#, Visual Basic) as well as possibly using languages which aren't compiled but interpreted on the device (Ruby and Python) although that may be slower. If you were willing to do a little extra work you may be even to twist compile a little bit in order to make the Python compiler work on phone devices (I'm considering trying to do just that).

Using Xamarin and cross-compiling is a good alternative to HTML or native apps because you get the speed of native without having to rewrite your apps. Only the interfacing with the device and UI would be different, and if you use something like monogame (which wraps around either openGL or directX) the UI would be the same as well.

Author:  Cancer Sol [ Fri Mar 08, 2013 12:40 pm ]
Post subject:  Re: What languages does iPhone apps and Android apps accept?

So far, I only know turing and C++. I'm going to learn java next year so I'll probably try using c++ for now.

Author:  Tony [ Fri Mar 08, 2013 1:42 pm ]
Post subject:  Re: What languages does iPhone apps and Android apps accept?

Cancer Sol @ Fri Mar 08, 2013 12:40 pm wrote:
So far, I only know turing and C++.

You know some Turing and a tiny subset of C++ Wink http://compsci.ca/blog/you-dont-know-that-programming-language/

Author:  Cancer Sol [ Fri Mar 08, 2013 4:16 pm ]
Post subject:  Re: What languages does iPhone apps and Android apps accept?

Tony @ 3/8/2013, 1:42 pm wrote:
Cancer Sol @ Fri Mar 08, 2013 12:40 pm wrote:
So far, I only know turing and C++.

You know some Turing and a tiny subset of C++ Wink http://compsci.ca/blog/you-dont-know-that-programming-language/

I know Razz
I don't even really know much, can't even make a game. I'm just trying to plan out things earlier right now Razz

Author:  Cancer Sol [ Fri Mar 08, 2013 4:18 pm ]
Post subject:  Re: RE:What languages does iPhone apps and Android apps accept?

mirhagk @ 3/8/2013, 10:27 am wrote:
Yeah HTML apps are picking up, because they run on every device without doing any additional work. There's also the option to use Xamarin and cross-compile .net apps to android and iOS, which means you can use any .NET language that is compiled (C#, F#, Visual Basic) as well as possibly using languages which aren't compiled but interpreted on the device (Ruby and Python) although that may be slower. If you were willing to do a little extra work you may be even to twist compile a little bit in order to make the Python compiler work on phone devices (I'm considering trying to do just that).

Using Xamarin and cross-compiling is a good alternative to HTML or native apps because you get the speed of native without having to rewrite your apps. Only the interfacing with the device and UI would be different, and if you use something like monogame (which wraps around either openGL or directX) the UI would be the same as well.

I'll think about that later Razz
So turing would work too? O_O

Author:  Insectoid [ Fri Mar 08, 2013 4:22 pm ]
Post subject:  RE:What languages does iPhone apps and Android apps accept?

Quote:
possibly using languages which aren't compiled but interpreted on the device


This is against Apple's iOS TOS.

Author:  Cancer Sol [ Fri Mar 08, 2013 7:56 pm ]
Post subject:  Re: RE:What languages does iPhone apps and Android apps accept?

Insectoid @ 3/8/2013, 4:22 pm wrote:
Quote:
possibly using languages which aren't compiled but interpreted on the device


This is against Apple's iOS TOS.


So only Objective-C is allowed?

Author:  Insectoid [ Fri Mar 08, 2013 8:00 pm ]
Post subject:  RE:What languages does iPhone apps and Android apps accept?

And languages that compile to Objective-C or whatever VM Objective-C compiles to. But yeah, pretty much only obective-C.

Author:  Tony [ Fri Mar 08, 2013 8:03 pm ]
Post subject:  RE:What languages does iPhone apps and Android apps accept?

Not only Objective-C, as the thread above clearly shows. That particular point just prevents the mechanism to modify the source of the program after the app approval process.

That is, if your program can run arbitrary code, then it's a way to sneak in unapproved behavior/content pass the moderators.

Author:  Cancer Sol [ Sat Mar 09, 2013 10:13 am ]
Post subject:  Re: What languages does iPhone apps and Android apps accept?

Okay then... I guess I shouldn't even think about making iPhone apps then Razz
Does android have any strict restrictions like apple?

Author:  mirhagk [ Tue Mar 12, 2013 5:18 pm ]
Post subject:  RE:What languages does iPhone apps and Android apps accept?

Yeah Apple's TOS is completely ridiculous. I mean at what point is dynamic programming not allowed? Python is not allowed, Lua is not allowed, are simply commands given in a text file allowed? Can you have the following:
code:
create goblins 100
create kobolds 50
create dragon 1

Because's that's essential a scripting language for creating enemies.

Does anyone know where in the TOS it talks about this? Also wouldn't this mean that you can't build a browser, since you can't allow javascript, and even html/css (which has been proven to be turing complete)? Does this mean browsers violate the TOS or have to have some alternate approval? If javascript is allowed, then can I use javascript in my application?

Author:  mirhagk [ Wed Mar 13, 2013 10:54 am ]
Post subject:  Re: RE:What languages does iPhone apps and Android apps accept?

Insectoid @ Fri Mar 08, 2013 4:22 pm wrote:
Quote:
possibly using languages which aren't compiled but interpreted on the device


This is against Apple's iOS TOS.

No it is not, I just read through it:
http://www.scribd.com/doc/41213383/iOS-Developer-Program-License-Agreement
Specifically look at 3.3.2, you're allowed to use an interpreted language so long as it's included in the package and not downloaded any other way. You can also use javascript but can only download and run it using Apple's WebKit framework (which means that all browsers legally must share the same scripting engine, and therefore no other company can make a faster browser in terms of javascript speed, which I personally think violates some sort of anti-competitive law, but that's a separate point). This means running pyhton code interpreted on the device is 100% allowed, so long as all the python code is packaged within the app, and not downloaded. You in theory could also use WebKit to download and run javascript, and interface with that as a way to add a scripting/modding capability. It might even be allowed to extract you're scripts to an isolated storage, and run the scripts from there, and tell the user "Do not put any new scripts in this folder Wink"[/url]

Author:  Cancer Sol [ Mon Mar 25, 2013 7:23 pm ]
Post subject:  Re: RE:What languages does iPhone apps and Android apps accept?

mirhagk @ 3/13/2013, 10:54 am wrote:
Insectoid @ Fri Mar 08, 2013 4:22 pm wrote:
Quote:
possibly using languages which aren't compiled but interpreted on the device


This is against Apple's iOS TOS.

No it is not, I just read through it:
http://www.scribd.com/doc/41213383/iOS-Developer-Program-License-Agreement
Specifically look at 3.3.2, you're allowed to use an interpreted language so long as it's included in the package and not downloaded any other way. You can also use javascript but can only download and run it using Apple's WebKit framework (which means that all browsers legally must share the same scripting engine, and therefore no other company can make a faster browser in terms of javascript speed, which I personally think violates some sort of anti-competitive law, but that's a separate point). This means running pyhton code interpreted on the device is 100% allowed, so long as all the python code is packaged within the app, and not downloaded. You in theory could also use WebKit to download and run javascript, and interface with that as a way to add a scripting/modding capability. It might even be allowed to extract you're scripts to an isolated storage, and run the scripts from there, and tell the user "Do not put any new scripts in this folder Wink"[/url]


Oh, that's good Razz
If Turing is used, what will it look like? o_O

Edit: Wow... you actually read the long thing xD I barely read ToA's.

Author:  Insectoid [ Mon Mar 25, 2013 8:25 pm ]
Post subject:  RE:What languages does iPhone apps and Android apps accept?

Turing definitely won't work. It's Windows-only.

Author:  Cancer Sol [ Tue Mar 26, 2013 7:45 am ]
Post subject:  Re: RE:What languages does iPhone apps and Android apps accept?

Insectoid @ 3/25/2013, 8:25 pm wrote:
Turing definitely won't work. It's Windows-only.

Oh xD

Would it at least run on a mac or linux though?

Author:  mirhagk [ Tue Mar 26, 2013 3:22 pm ]
Post subject:  RE:What languages does iPhone apps and Android apps accept?

Nope. There have been attempts to make Turing cross-platform, but there's actually a ton of stuff to Turing, most of which is never actually used so a lot of the projects are slow-moving or stagnant. Open Turing is you're best bet right now.

Author:  Cancer Sol [ Tue Mar 26, 2013 4:13 pm ]
Post subject:  Re: What languages does iPhone apps and Android apps accept?

Since c++ works... how does someone do that? I'm just wondering Razz
Is there some kind of way to convert your program? (I'm guessing not though lol, probably something else)

Author:  mirhagk [ Tue Mar 26, 2013 4:24 pm ]
Post subject:  RE:What languages does iPhone apps and Android apps accept?

C++ runs natively on android and windows phone. I know C works fine on iOS, and for C++ it requres a little work but
http://lmbtfy.com/?q=C%2B%2B+on+iphone

Author:  Cancer Sol [ Tue Mar 26, 2013 4:38 pm ]
Post subject:  Re: RE:What languages does iPhone apps and Android apps accept?

mirhagk @ 3/26/2013, 4:24 pm wrote:
C++ runs natively on android and windows phone. I know C works fine on iOS, and for C++ it requres a little work but
http://lmbtfy.com/?q=C%2B%2B+on+iphone


I'd prefer http://lmgtfy.com/?q=C%2B%2B+on+iphone better xD
I'll just worry with that later actually Razz

P.s. Thanks for introducing that site to me Razz


: