Quali linguaggi di programmazione è possibile utilizzare per sviluppare applicazioni per iPhone, iPod Touch e iPad (iOS)?


84

Quali linguaggi di programmazione è possibile utilizzare per sviluppare applicazioni per iPhone, iPod Touch e iPad (iOS)?

Inoltre, ci sono piani in futuro per espandere la quantità di linguaggi di programmazione che iOS supporterà?

Risposte:


46

Apple ha revocato le restrizioni sulle app C / C / C ++ non Objective: non è possibile caricare codice che non è nel pacchetto dell'app.

MonoTouch ti consente di usare i linguaggi .NET - C # è direttamente supportato, ma se hai Windows, puoi creare assembly in qualsiasi linguaggio .NET e usarlo.

Ci sono voci secondo cui Apple supporterà direttamente altre lingue: continuo a sentire ruby, ma sono solo voci.

Penso che Lua venga utilizzato per la logica di gioco su molte app.

MODIFICA (nel 2018): in genere puoi utilizzare qualsiasi lingua che puoi compilare per iOS o persino installare interpreti di lingua. La cosa principale che non puoi fare è caricare il codice da Internet che non era nel bundle dell'app.

Le persone lo fanno sempre in ogni caso (vedi React Native apps che caricano JavaScript dai server), ma, tecnicamente, non è consentito. La cosa principale che attirerà l'attenzione di Apple se crei una sorta di App Store che carica intere cose simili ad App.

EDIT (nel 2020): da @Pylot nei commenti: So che è passato molto tempo, ma ora almeno tecnicamente puoi caricare codice che non è incorporato nell'app, poiché puoi scrivere con JavaScript usando la webview. Non restare la tua risposta è sbagliato o altro, sono decisamente d'accordo con te. ma stavo cercando qualcosa e ho trovato questo post lungo la strada. Ho pensato che se qualcuno lo vede, potrebbe aiutarli.


3
Objective-C ++ è il ponte tra ObjC e C ++, quindi va bene.
Lou Franco

RubyMotion ti consente di creare app iOS native utilizzando Ruby. Tuttavia non è gratuito.
Uygar Y

1
Ho provato Lua per la logica all'interno della mia app, anche con luasqlite (soluzione aziendale, quindi nessun rifiuto del negozio potrebbe essere coinvolto, indipendentemente dal fatto che accadesse o meno) e posso testimoniare che funziona meravigliosamente. Tieni presente che Lua ha un footprint di memoria molto basso, quindi puoi effettivamente eseguire dozzine di interpreti contemporaneamente senza consumare fino a un Mb di memoria (che è quello che ho fatto in realtà ...). Vedi anche gran.pancho.villa risposta su Swift.
Rick77

1
So che è passato molto tempo, ma ora almeno tecnicamente puoi caricare codice che non è incorporato nell'app, poiché puoi scrivere con JavaScript usando la webview. Non restare la tua risposta è sbagliato o altro, sono decisamente d'accordo con te. ma stavo cercando qualcosa e ho trovato questo post lungo la strada. Ho pensato che se qualcuno lo vede, potrebbe aiutarli.
Pylot

@pylot - ho aggiunto il tuo commento alla risposta - grazie
Lou Franco

17

Il contratto SDK e le linee guida dell'App Store sono stati modificati (circa settembre 2010).

Ora puoi probabilmente utilizzare qualsiasi linguaggio compilato che si compili nello stesso formato di file oggetto ARM statico prodotto da Xcode e che si collegherà (solo) alle API pubbliche all'interno dei framework e delle librerie di Apple. Tuttavia, non è possibile utilizzare un linguaggio compilato JIT a meno che non si precompili tutto il codice oggetto prima dell'invio ad Apple per la revisione.

Puoi utilizzare qualsiasi linguaggio interpretato, purché incorpori l'interprete e non consenti all'interprete o all'app di scaricare ed eseguire codice interpretabile diverso dal codice incorporato nell'app bundle prima dell'invio ad Apple per la revisione o codice sorgente digitato -in dall'utente.

Gli obiettivi C e C saranno probabilmente ancora il linguaggio di programmazione più ottimale per tutto ciò che richiede prestazioni elevate e il supporto API più recente (* vedi aggiornamento sotto), poiché questi sono i linguaggi per i quali Apple si rivolge ai suoi framework iOS e ottimizza i suoi chipset del processore ARM. Apple supporta anche l'uso di Javascript / HTML5 all'interno di una UIWebView. Queste sono le uniche lingue per le quali Apple ha annunciato il supporto. Qualsiasi altra cosa dovrai trovare supporto altrove.

Ma, se proprio vuoi, ci sono almeno una mezza dozzina di interpreti BASIC ora disponibili nell'App Store iOS, quindi anche la metodologia di programmazione "Stone Age" è ora consentita.

Aggiunto: (*) A partire dalla fine del 2014, è anche possibile sviluppare app utilizzando il nuovo linguaggio di programmazione Swift di Apple. Dall'inizio del 2015, i file binari inviati devono includere il supporto a 64 bit (arm64).


11

Con l'intenzione di ritirare lentamente il vecchio Objective-C, Apple ha introdotto un nuovo linguaggio di programmazione, chiamato Swift, per progettare app e applicazioni da eseguire su dispositivi Apple iOS e computer Apple Macintosh.

Apple afferma: " Swift è un nuovo linguaggio di programmazione per app iOS e OS X che si basa sul meglio di C e Objective-C, senza i vincoli della compatibilità C. Swift adotta schemi di programmazione sicuri e aggiunge funzionalità moderne per rendere la programmazione più facile, più flessibile e più divertente. La lavagna pulita di Swift, supportata dai framework Cocoa e Cocoa Touch maturi e molto amati, è un'opportunità per reinventare il funzionamento dello sviluppo del software " .

Presentazione di swift

inserisci qui la descrizione dell'immagine


6

Quali linguaggi di programmazione è possibile utilizzare per sviluppare applicazioni per iPhone, iPod Touch e iPad (iOs)?

Ruby, Python, Lua, Scheme, Lisp, Smalltalk, C #, Haskell, ActionScript, JavaScript, Objective-C, C ++, C. Sono solo quelli che mi vengono in mente in questo momento. Sono sicuro che ce ne sono centinaia se non migliaia di altri. (Ad esempio, non c'è motivo per cui non è possibile utilizzare alcun linguaggio .NET con MonoTouch, ovvero VB.NET, F #, Nemerle, Boo, Cobra, ...)

Inoltre, ci sono piani in futuro per espandere la quantità di linguaggi di programmazione che iOs supporterà?

Sicuro. Praticamente ogni comunità di linguaggi di programmazione su questo pianeta sta attualmente lavorando per far funzionare il proprio linguaggio su iOS.

Inoltre, molte persone stanno lavorando su linguaggi di programmazione progettati specificamente per dispositivi touch come iPod touch, iPhone e iPad, ad esempio il linguaggio Thyrd di Phil Mercurio .


4
-1. Ruby, Python e ActionScript non funzionano ancora su iOS. In passato, ci sono stati tentativi di far funzionare CL e Scheme, ma non credo che siano aggiornati. Stessa cosa con Haskell. JavaScriptCore è un framework privato in questo momento; puoi scrivere Objective-C usando JS in una visualizzazione web, ma è davvero goffo.
Jonathan Sterling

4
@ Jonathan Sterling: Dovresti dirlo agli sviluppatori che vendono app Ruby tramite l'App Store da oltre un anno. Sono sicuro che sarebbero molto interessati a sapere che le loro app non esistono.
Jörg W Mittag

4
Rhomobile non conta. Quelle non sono app native reali. Sono solo bloccati in una visualizzazione Web.
Jonathan Sterling

@ Jonathan Sterling: potrei essere un po 'in ritardo per la festa qui, ma Actionscript è supportato su iOS, tramite AIR per iOS. (Ed era al momento del commento originale Oct-10). Ottiene anche prestazioni piuttosto grandi ...
Marty Pitt il

5

Il linguaggio di programmazione di iOS (e Mac OS) è Objective-C e C. Devi usare la piattaforma Xcode per sviluppare app iOS, nella prossima versione che è ora disponibile in versione beta, Xcode 4 supporta anche C ++.


Non è necessario utilizzare Xcode per sviluppare app iOS o Objective C o C ++. Ad esempio puoi usare RubyMotion che fa uso degli strumenti della riga di comando. Inoltre, ci sono una serie di soluzioni di sviluppo di terze parti per lo sviluppo di un'app che può essere eseguita su iOS e Android
Martin Lockett,

4

Ora è anche possibile utilizzare OCaml per lo sviluppo di applicazioni iOS. Non fa parte della distribuzione standard e richiede modifiche fornite dalla società Psellos. Vedere qui per ulteriori informazioni: http://psellos.com/ocaml/ .


2

Questo potrebbe essere un vecchio thread, ma vorrei menzionare Appcelerator Titanium , che consente a chiunque sia esperto in HTML5 / JavaScript / CSS di sviluppare applicazioni iOS.


Se non sbaglio, puoi sostituire JavaScript con Ruby o Python quando usi Titanium.
Torbjørn

2

Ormai è consentito solo Objective-C ... ma da pochi mesi è consentito scrivere script che verranno interpretati nella propria applicazione.

Quindi potresti essere in grado di scrivere un interprete LUA o un interprete Python, quindi scrivere una parte della tua applicazione in questo linguaggio di scripting. Se desideri che la tua applicazione venga accettata sull'App Store, questi script devono essere inclusi nell'applicazione (la tua applicazione non può scaricarla da Internet, ad esempio)

vedere le nuove regole dell'app store



1

È possibile utilizzare il linguaggio di programmazione "smart BASIC". È un linguaggio BASIC genuino ma molto avanzato con tutta la sua potenza e semplicità. Utilizzando il suo SDK gratuito, il codice BASIC può essere facilmente pubblicato come applicazione App Store autonoma. Ci sono molte app nell'App Store, scritte in un linguaggio di programmazione "smart BASIC".

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.