MonoTouch è ora vietato su iPhone? [chiuso]


155

Un recente post di John Gruber osserva che il seguente legale:

3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs.

È stato rivisto come segue:

3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

E fa la seguente osservazione:

La mia lettura di questo nuovo linguaggio è che i cross-compilatori, come il compilatore da Flash a iPhone nella prossima versione di Adobe Flash Professional CS5, sono vietati. Ciò vieta anche le app compilate utilizzando MonoTouch, uno strumento che compila le app C # e .NET su iPhone.

Questo di fatto vieta l'uso di Monotouch per l'iPhone?


4
Mi chiedo dove questo lasci legalmente Apple e gli sviluppatori di monotouch esistenti. Cosa succede alle app monotouch esistenti?
PeteT

2
@ petebob796: è necessario accettare questa nuova licenza se si desidera inserire qualcosa di nuovo in iTunes Connect, ma dubito che estrarranno dal negozio articoli inviati in precedenza. Tuttavia, / possono / imporre questo con nuove app che non sono basate su 4.0 ma che non sono state precedentemente inviate. Ma come qualsiasi cosa nell'App Store, dovremo solo aspettare e vedere!
Jason Coco,

1
Apparentemente quell'accordo è sotto NDA
Chris S

apple.com/pr/library/2010/09/09statement.html aaaaaaaaaathankyooooooooooo che la follia abbia inizio !!

2
A partire dal 09/09/2010 questo è discutibile. Apple si rilassa Regola 3.3.2 foxbusiness.com/markets/2010/09/09/…
Steve Mitcham

Risposte:


88

Aggiornare -

Questo è cambiato di recente . MonoTouch non dovrebbe più essere in conflitto con l'accordo. Le dichiarazioni che seguono sono puramente storiche!

Sì, sembra abbastanza chiaro dal loro accordo di licenza ora che se l'applicazione originale è scritta in C #, ciò violerebbe la licenza:

... Le applicazioni devono essere originariamente scritte in Objective-C, C, C ++ o JavaScript come eseguite dal motore WebKit del sistema operativo iPhone ...

Lo martellano ancora un po 'oltre:

Le applicazioni che si collegano ad API documentate attraverso una traduzione intermedia, un livello o uno strumento di compatibilità sono vietate

Un po 'triste, MonoTouch e il convertitore Flash CS5 -> iPhone sono davvero fantastici.


7
tuttavia, vedi twitter.com/migueldeicaza/status/11844609073 usando questo, come direbbero un'app MonoTouch da una nativa?
Mauricio Scheffer,

9
Apple di nuovo eh. Risucchiarci con un dispositivo meraviglioso, un'interfaccia grafica pulita, un'interfaccia touch piacevole ... ma ... ci impedisce di sviluppare qualcosa per esso a meno che non abbiamo un mac, ci impedisce di sviluppare qualcosa per esso a meno che non sia un oggetto C / C / C ++. Voglio dire cosa penseremmo tutti se Microsoft arrivasse e dicesse "no - non è possibile sviluppare nulla in Windows a meno che non sia in C - no non è più possibile utilizzare il framework .NET".
Pietro,

33
Questo non ha senso per me. In base a questo accordo, se hai scritto un'app in Flash e poi l'hai tradotta a mano in Objective-C, sembra che violerebbe l'accordo (perché non era "originariamente scritto" in Objective-C).
Michael Myers

3
@John: penso che sia meno che 'vietino' le app native - è più che l'API del loro nuovo sistema operativo ruota attorno a Silverlight / XNA e questo è il modo supportato per fare le cose. Non ho visto nulla per imporre che non è possibile scrivere un Java (o qualsiasi altra lingua) al compilatore Silverlight negli accordi di licenza di Microsoft (ancora).
Ron Warholic,

3
Fino a quando tutto ciò non è avvenuto, il nostro prodotto in sviluppo doveva essere solo iPhone / iPad (a cui importa Android ecc.) E in MonoTouch. Ora abbiamo riconsiderato e ora saremo Obj-C come richiesto, ma saremo anche sicuri di avere il supporto per Android e WinPhone disponibili anche il primo giorno. Un'azienda non può permettersi l'incertezza del comportamento, e quindi Apple ha fatto il contrario di quello che voleva: gli sviluppatori hanno cercato soluzioni multipiattaforma anziché solo Apple. Molto bene.
mj2008,

49

Aggiornare:

Apple ha eliminato (quasi) tutti i requisiti tecnici per le lingue e le librerie per iOS, quindi MonoTouch è senza dubbio una soluzione praticabile. Vedi l'annuncio di Apple .


La maggior parte delle persone qui vuole semplicemente prendere il documento di Apple con la parola e dire "sì, è vietato". Bene, ecco il mio punto di vista: a questo punto, nessuno ha davvero idea se MonoTouch sarà bandito o no, e spiegherò perché:

La versione 3 dell'accordo di Apple (non l'ultima, quella precedente) afferma chiaramente che è illegale utilizzare qualsiasi altro framework per sviluppare applicazioni diverse da quelle fornite da Apple:

3.3.2 Un'applicazione non può di per sé installare o avviare altri codici eseguibili con qualsiasi mezzo, incluso senza limitazione attraverso l'uso di un'architettura plug-in, chiamando altri framework, altre API o altro. Nessun codice interpretato può essere scaricato o utilizzato in un'applicazione ad eccezione del codice interpretato ed eseguito dalle API documentate di Apple e dagli interpreti integrati. http://adcdownload.apple.com/iphone/iphone_sdk_3.2__final/iphone_sdk_agreement.pdf

Anche se questo è il caso (ed era effettivamente il caso dalla 2.x, apple non ha alcun problema nell'accettare applicazioni che fanno esattamente questo. Ad esempio, TUTTI i giochi EA usano gli script Lua e molte e molte persone usano librerie esterne che non sono nativi di iPhone. Anche quando l'iPhone ha queste API native, Apple non ha mai avuto problemi ad accettare applicazioni con versioni diverse di esso, come SQLite.

Il mio punto è che dire "SÌ, saranno banditi" in questo momento è semplicemente WAAY troppo presto. L'unica cosa chiara a questo punto è che Apple potrebbe effettivamente usarlo per vietare le app. Proprio come oggi accettano app che sono contrarie ad alcune delle loro regole, probabilmente continueranno a farlo.

C'è anche il fatto che ci sono centinaia (o probabilmente alcune migliaia?) Di app nel negozio che attualmente eseguono Mono e Apple dovrà accettare gli aggiornamenti per tali app. Le principali app con milioni di vendite sono state create utilizzando Mono (e Lua) e dubito che rimborserebbero ogni singolo utente.

Infine, le applicazioni Enterprise vengono distribuite su iPhone senza l'approvazione di Apple, ed è un grande mercato in cui MonoTouch è attivo (io stesso sviluppo app aziendali). A questo punto non c'è modo che Apple possa vietare MonoTouch per quelle applicazioni, e probabilmente sarà abbastanza per mantenere in vita MonoTouch per lungo tempo.


In genere sono d'accordo con te, fatta eccezione per l'ultima parte - Apple potrebbe facilmente affermare che i futuri aggiornamenti delle app esistenti devono essere trasferiti su Objective-C nativo.
Kendall Helmstetter Gelner,

Bene, anche se le app sono portate su Obj-C, sono state originariamente scritte in una lingua diversa, quindi tecnicamente sarebbero comunque illegali, immagino ... Ecco perché queste regole non hanno davvero senso. Probabilmente lo chiariranno in una successiva revisione, poco prima della versione finale di 4.0.
Eduardo Scoz,

3
La lingua precedente non vietava affatto i framework. Disse chiaramente che ciò che aveva vietato era il lancio di codice eseguibile ed elenca i framework come un esempio di un modo che potrebbe essere fatto. La lingua che hai pubblicato non influenza le app monotipo o le app Flash o qualsiasi altro file binario precompilato che non tenti di interpretare in fase di esecuzione.
fenomas,

27

Aggiornare:

Le nuove modifiche alle sezioni 3.3.1, 3.3.2 e 3.3.9 hanno reso MonoTouch (e tutti gli altri compilatori / lingue / ecc.) Perfettamente accettabili su iPhone. Vedi l' annuncio di Apple


Miguel non sembra pensarlo. Vedi il tweet e la risposta di Miguel . Non reagiamo in modo eccessivo qui e affermiamo che Monotouch è morto, o smettere di svilupparsi con Monotouch fino a quando non saranno stati fatti alcuni chiarimenti da tutte le parti coinvolte.

Detto questo, inizierei sicuramente a mettere il calore su Apple per politiche di sviluppo così draconiane. Cose come questa e il nebuloso processo che costituisce la politica di approvazione delle app per iPhone / iPad / Touch dovrebbero far temere il cuore degli sviluppatori. Qual è il prossimo passo, la loro licenza indica che l'unica piattaforma pubblicitaria che ti è permesso usare è iAd? Non è consentita la distribuzione di app gratuite senza iAd? Aumentare lentamente la quota di Apple delle entrate delle vendite di app? Come sviluppatori in un ecosistema bloccato, siamo una specie di rane in una pentola di acqua calda e Apple sta lentamente aumentando il calore. Ora è il momento di esplorare altre piattaforme mobili, perché man mano che migliorano, la cosa principale che trattiene le persone sulla piattaforma Apple è la mancanza di applicazioni su altre piattaforme.


4
+1 (specialmente per "esplorare altre piattaforme")
Tim

2
+1 anche se mi aspettavo di più da quei link. "No" non è molto eloquente, vero? Il microblogging è un flagello.
Dan Rosenstark,

Vai a esplorare, sto con Apple. Ho 2 Mac e una licenza per sviluppatori che rinnoverò volentieri quest'anno per continuare a sviluppare. Amalo o lascialo, ma smetti di piangere. E vai a comprare un mac già ...
kirk.burleson,

10

Ho trascorso mesi di serate lavorando su idee per un'app killer per iPhone nell'Obiettivo C. Il mio lavoro quotidiano è C #. Ho scaricato MonoTouch C # quando è diventata una valida alternativa e ho appena trascorso 3 mesi a convertire il mio codice in MonoTouch C # specifico per iPhone. Il che mi ha impedito di impazzire passando da C # / Obiettivo C.

Cosa devo fare ora buttare via tutto e ricominciare o mollare!?!

Mi dispiace davvero per i ragazzi di Mono. Questo è chiaramente sbagliato. Una cosa è fermare Adobe che non ha lanciato il proprio prodotto e non ha clienti e fermare MonoTouch che lo fa e ha anche approvato il prodotto nell'AppStore.

Perché qualcuno dovrebbe voler costruire un business e investire in Apple quando lo porteranno via in un attimo senza essere responsabile o discutibile?

Chiaramente gli sviluppatori e i clienti di Apple che si prendono cura di loro e dei loro prodotti è una strada a senso unico.


Monotouch non ha un prodotto approvato nell'app store - ci sono molte applicazioni nell'app store che sono state scritte usando Mono. C'è una grande differenza, in quanto ci sono molte applicazioni da considerare invece di una sola.
Kendall Helmstetter Gelner,

@ Kendall Helmstetter Gelner: ti sbagli. Ci sono app MonoTouch nell'app store.
Tim Scott,

4
@ Tim Scott, sta dicendo ... oh dimenticalo.
Dan Rosenstark,

1
Devi considerare la quantità di tempo di sviluppo che Adobe avrebbe messo nel loro compilatore per iPhone. Apple li ha lasciati proseguire lungo quella strada sapendo che sarebbe arrivata per più di un anno e all'ultimo minuto l'ha portato via. Costando loro milioni in tempo di sviluppo e vendite perse.
PeteT,

@Tim: E quante di queste app sono state sviluppate dalle persone Monotouch? Leggi quello che ho detto di nuovo. @yar: Grazie per aver cercato di spiegare.
Kendall Helmstetter Gelner,

9

Spero che Apple venga sconfitta per questa ridicola politica. L'arroganza non è attraente e generalmente non va bene per gli affari. Questo è uno dei motivi per cui non ho iniziato lo sviluppo di iPhone.

La maggior parte dei fornitori di hardware e SO sono felici di avere strumenti e pubblico aggiuntivi per scrivere sulla propria piattaforma. Apple sta assumendo la posizione che i suoi strumenti (Braindead) sono l'unico gioco in città.

L'annuncio "Grande Fratello" del 1984 è sempre più rilevante ...

MODIFICARE

Il modo in cui è scritto sembra anche implicare che se ho scritto un .net per un traduttore C / apple obiettivo che il codice non è accettabile perché il codice originale non era obiettivo c. È ridicolo (e inapplicabile).


2
Qual è la parte arrogante? Pensi che lo stiano facendo perché pensano che il loro codice sia più pulito o qualcosa del genere?
bpapa,

3
Stai dicendo che non è arrogante?
Tim

4
@bpapa L'arroganza non si limita a problemi tecnici, ma copre anche le opinioni aziendali. Sono arroganti in quanto pensano di riuscire a cavarsela e che è un comportamento accettabile. Solo perché potrebbe essere una "strategia aziendale" non significa che sei esente dall'essere definito stupido e arrogante.
Tim

3
In realtà "riusciranno a cavarsela" perché i dispositivi del sistema operativo iPhone continueranno ad avere enormi successi e gli sviluppatori continueranno a svilupparsi per questo, e nuovi sviluppatori si uniranno al gruppo. Ho fatto una scelta un paio di anni fa, potevo sedermi e lamentarmi di come non potevo fare lo sviluppo Java su iPhone, o potevo imparare Cocoa Touch e creare app per iPhone. Non rimpiangere la mia decisione.
bpapa,

5
@Ben Um, no - è rilevante perché il fratello maggiore di Apple È ... Si chiama ironia.
Tim

7

Unity si basa anche su Mono e, essendo un prodotto commerciale considerevole, immagino che si tratti di un problema di cui non abbiamo ancora sentito la fine.

Vietare tutte le app che non sono scritte in Obj-C / C ++, in teoria vieterebbe anche tutti i giochi Unity, di cui esiste già un gran numero nell'App Store.

Questa domanda è stata posta anche sul sito Unity Answers e la loro risposta ufficiale è:

"Abbiamo appena sentito parlare dell'iPhone OS4.0 e dei nuovi Termini di servizio. Sebbene riteniamo di essere pienamente conformi a questi, in questo momento stiamo facendo tutto il possibile per farlo verificare da Apple. Non appena ne sapremo con precisione, ovviamente condivideremo queste informazioni con tutti. Per favore, tieni duro mentre otteniamo questo sussidio ".

Sii interessante per vedere cosa viene detto da Apple.

Il fatto è, sicuramente, dire che un'app deve essere scritta in una determinata lingua è un po 'un termine improprio, poiché una volta che l'app è stata compilata, è sempre un binario nativo, indipendentemente da come è stata costruita. La mia ipotesi è che tutto ciò che possono cercare è una sorta di firma nel file binario per rilevare con quale strumento è stato costruito. Un approccio imperfetto.

EDIT: C'è una panoramica interessante della situazione su questo blog: monotouch ora morto nell'acqua cosa significa il nuovo accordo di sviluppo per iPhone di Apple


7

Il nuovo accordo di licenza è esplicitamente chiaro al riguardo. Quindi SÌ, sarà vietato.

Consiglio, se vuoi davvero sviluppare per iPhone, prova XCode. Se hai già familiarità con Java o C # o ancora meglio C ++, l'apprendimento di Objective-C non sarà così difficile.

iPhone / iPad è il nuovo business di successo di Apple e faranno di tutto per far crescere questo business, forse non bandiranno le app Monotouch ora, ma chi sa che ci sarà la prossima mossa? Quindi, se sei davvero interessato agli sviluppatori di iPhone, invece di avere incubi, il tuo lavoro potrebbe essere semplicemente respinto. Passa a XCode, almeno per ridurre la percentuale di rifiuto dell'app. Quindi, il mio consiglio.


18
Non è difficile. Chiunque utilizzi il monotouch conosce già l'obiettivo C. È che l'obiettivo C è terribile da sviluppare rispetto ai linguaggi moderni.
James Moore,

3
@jamesmoorecode: +1 è terribile
abatishchev

1
Sì, ho trascorso il tempo a imparare Obj-c e tutte le API di Cocoa Touch, quindi non è un problema per me scrivere un'app nativa come Apple vuole. È solo per questo che vorrei farlo quando potevo usare MonoTouch per farlo molto più velocemente e condividere la "logica aziendale" (ma non l'interfaccia utente) con WP7 e Silverlight per il browser e le app desktop?
U62,

4
C'è un motivo per cui molte app sull'appstore si bloccano regolarmente: obiettivo-C. Anche quelli di alto profilo come digg.com
Chris S,

2
Stamattina ho imparato a lavorare sul treno - non è difficile - ma puzza - è un linguaggio prolisso e arcaico - preferirei scrivere app per iPhone nell'arte ASCII T-SQL.

6

Penso che qualcosa da considerare fortemente sia la motivazione di Apple.

Sono d'accordo con altri sentimenti pubblicati online che Apple sta cercando di prevenire la mercificazione delle applicazioni, vale a dire, avendo sempre più applicazioni scritte usando framework che generano applicazioni che possono essere eseguite su più dispositivi.

Ma non è quello che è Monotouch. Monotouch si basa sull'utilizzo dei framework Apple per scrivere applicazioni, ma tramite Mono, non Objective-C. Quindi, da quel punto di vista, ciò che Monotouch sta facendo non è qualcosa che dovrebbe davvero disturbare Apple.

Continuo a ritenere che gli sviluppatori stiano meglio scrivendo nella lingua nativa della piattaforma che stanno usando, dato che le cose sono generalmente più fluide quando non si introduce un sistema che può avere una mancata corrispondenza dell'impedenza di astrazione - i framework Cocoa sono stati tutti costruiti per essere utilizzati da Objective-C, e hanno più senso quando sei abituato alla filosofia di Objective-C. Ma spero che Apple si stacchi dal lato di consentire l'utilizzo di MonoTouch.


1
Chiunque abbia annullato la mia analisi razionale andrà all'inferno degli sviluppatori, solo per farti sapere (la cui definizione sta scrivendo app mobili destinate solo a Windows Mobile 6.5 per tutta l'eternità). Voglio dire, discutere con me, ma perché il voto negativo per un motivo per cui potrebbe non essere vietato? Perché non provare a capire cosa sta facendo Apple invece di unire il forcone e la brigata della torcia quando la prima torcia è accesa?
Kendall Helmstetter Gelner,

Kendal concordato, +1 per il saldo.
si618,

+1 Un argomento ragionevole
Bill

1
+1 per il perdente e la sua visione diversa. Ogni volta che vado contro le masse del gruppo penso di scendere votato fino a quando non sono costretto a cancellare il post.
kirk.burleson,

5

Tutto ciò che Apple sta dicendo è che ora tutti devono usare le lingue degli anni '80 per sviluppare la concorrenza battendo le applicazioni mobili all'avanguardia ....

Ha perfettamente senso. Mi sembra una strategia vincente.

Ti impedisce inoltre di utilizzare qualsiasi libreria di terze parti che non puoi garantire che siano state sviluppate in C, C ++ o Obiettivo C.

Quindi fondamentalmente significa che non puoi acquistare nelle API di Games come Unity.


2
Bene, considerando che smalltalk-80 è circa una dozzina di anni avanti rispetto a c # ...
Stephan Eggermont,

come sicuramente saprai, l'obiettivo C era sostanzialmente C con alcune estensioni SmallTalk.
AnthonyLambert,

4

Sto solo aggiungendo i miei 2 centesimi. Sembra che dopo aver letto questa parte: (ad esempio, le applicazioni che si collegano alle API documentate attraverso una traduzione intermedia, un livello o uno strumento di compatibilità siano vietate) non c'è nulla da discutere. Li hanno espressi in modo inequivocabile. Non solo stanno vietando MonoTouch e Unity3d, ma sembrano anche vietare Titanium Framework . Tuttavia, dopo aver letto questo articolo, mi sono trovato davvero confuso. Non ho familiarità con le leggi statunitensi, ma è legale? Voglio dire, non stanno infrangendo alcune leggi anti-monopolio?

Oltre a tutto ciò, non riesco a capire la loro motivazione. Non solo perderanno in parte l'interesse degli sviluppatori, ma perderanno anche il rispetto degli sviluppatori, credo.


4

Ad oggi, la Sezione 3.3.1 della licenza del programma per sviluppatori iOS di Apple è stata ripristinata al vecchio testo:

3.3.1 Le applicazioni possono utilizzare solo API documentate nel modo prescritto da Apple e non devono utilizzare né chiamare API private.

Apple ha rilasciato una dichiarazione ufficiale sulle modifiche alla licenza.

Ciò indicherebbe che ora è consentito utilizzare MonoTouch.


+1 per includere il contenuto effettivo e non solo un collegamento o una dichiarazione.
davidtbernal,

3

Un obiettivo del team Mono è il porting di Silverlight su iPhone tramite MonoTouch / Moonlight per lo sviluppo multipiattaforma. È un po 'come il porting di Flash su iPhone. C'è anche Monodroid sulla strada per aiutarci a eseguire il porting delle applicazioni e, sai, Apple esegue Amonk ogni volta che qualcuno dice "Android" :-) IMHO, se Apple sta prendendo di mira Adobe con il nuovo accordo, anche loro stanno prendendo di mira Novel. Probabilmente stiamo ipotizzando e c'è un accordo di non divulgazione, ma molti di noi hanno investito molto tempo su questa piattaforma, quindi è necessario chiarire la situazione. Non possiamo aspettare l'estate prossima per discutere della questione. Ad esempio, un amico mi ha chiesto di aiutare la sua azienda a prototipare un'applicazione MonoTouch per un cliente. Il nuovo accordo riguarda solo la distribuzione dell'App Store? Che dire della distribuzione interna?


perché Apple non parla bene con i ragazzi di Mono e li fa invece abbandonare il supporto per Droid ...
AnthonyLambert,

1
@tony perché abbandonerebbero il supporto per una piattaforma molto più aperta
PeteT,

2

Questo foglio di calcolo di Google Documenti ha un lungo elenco di app che saranno interessate dal nuovo accordo. Alcuni notevoli che sono stati il ​​numero 1 nell'appstore per la loro categoria:

  • Monopolio
  • Magnate della limonata
  • Skee ball
  • I coloni
  • Zombieville

Una delle inclusioni divertenti è Toy Story.


1
Il nuovo accordo copre tutte le versioni del sistema operativo, non solo 4.0.
Philippe Leybaert,

Bene, ho dimenticato che devi firmare un nuovo accordo sul sito
Chris S,

2

oMolte app sono state accettate negli ultimi giorni scritte con l'aiuto di monotouch e unità, mentre sto anche usando sia obj-c, poiché l'annuncio e la modifica dell'accordo, quindi VAI FIGURA, ... il bene mi viene in mente ol'WTF. Sembra un salvadanaio bipolare.

ANCHE, l'ultimo gioco Unity GiantMOTO, che è sotto HOT NEW GAMES - YESTERDAY, ha sulla sua schermata iniziale il caricamento a grandi lettere, ALIMENTATO DA UNITÀ. Quindi, tutte le congetture, le ipotesi, ecc. Sono davvero fuori dalla porta. Potrebbe dire tutto ciò nella nuova versione, NON è certamente applicato. E montouch è l'unica piattaforma di sviluppo che espone COMPLETAMENTE l'API di iPhone e si trasforma COMPLETAMENTE in obj-c usando XCode.


1

Da quanto indicato nel contratto di licenza, le app MonoTouch non saranno chiaramente consentite nell'App Store.

La domanda più interessante è, tuttavia, contro quale framework / app la applicheranno? Dovranno anche scrivere test automatici per verificare se le app sono state scritte in modo nativo o meno, perché le persone che approvano le app non avranno il tempo / le competenze per farlo per ogni singola app. Queste app non inseriranno un adesivo "Uso di MonoTouch / Flash".


1
Immagino che sarà un processo automatizzato. Immagino che il monotouch e il compilatore flash lasceranno dalla conversione schemi di codice comuni che possono essere statisticamente scelti dal codice compilato.
PeteT

3
Sì, se Apple utilizza un processo automatizzato, troverà sicuramente il modello di conversione. Ma questa politica da applicare è assurda. Voglio dire, Obj-C fa schifo il suo linguaggio piuttosto oscuro. Mi piace molto quello che offre MonoTouch.
Shoaib Shaikh,

@Shoaib Sicuramente concordano sul fatto che è assurdo e sposteranno molti sviluppatori su Android e Windows Phone, che per certi versi è positivo per la concorrenza.
PeteT,

1

La risposta breve a tutto quel blob nell'accordo è .

In pratica, Apple si sta sparando ai piedi limitando i programmi a poche lingue:

  • C - che attualmente non è adatto allo sviluppo di applicazioni, a causa della sua natura di basso livello. Oggi è principalmente un linguaggio di programmazione di sistemi.
  • C ++ - il che rende più difficile sparare al tuo telefono, ma quando succede, è con un bazooka. A parte Qt, non ci sono framework applicativi completi da usare in C ++ (e Qt non supporta ancora iPhone).
  • Objective-C - che è stato inventato da Apple e ovviamente sarà supportato.
  • JavaScript in esecuzione in WebKit - sostanzialmente un'applicazione web.

Stanno deliberatamente limitando quali strumenti puoi usare per sviluppare per iPhone, il che quasi sicuramente li metterà nei guai seri. Sono sicuro che una buona parte della community abbandonerà lo sviluppo di iPhone e migrerà su una piattaforma diversa come Windows Mobile, Symbian, Android o Maemo, che sono totalmente aperti - sei libero di scrivere la tua applicazione in LOLCODE.

Oltre a rendere inutile la spazzatura di iPhone per gli sviluppatori, dà anche ad Adobe un bel bacio: Apple blocca deliberatamente Flash da iPad, e ora lo stanno anche bloccando da iPhone. Il nummer è la più grande funzionalità CS5 di Adobe Flash che sta distribuendo applicazioni Flash su iPhone.

tl; dr: con questa mossa Apple si sta praticamente sparando ai piedi.


In primo luogo Apple si è sparata ai piedi e tutti hanno detto: "Apple è condannata a causa dell'architettura chiusa". Si scopre che spararsi al piede - come dirà qualsiasi dipendente che diventa consulente - è spesso una buona strategia.
Dan Rosenstark,

Sì, continua a trattenere il respiro per quel grosso pezzo della community per uscire dallo sviluppo di iPhone!
kirk.burleson,

Objective-C non è davvero inventato da Apple, è solo adottato come LLVM e stesse parti di BSD :)
Emil Marashliev

1

Sono passati mesi dalla debacle del flash ed è abbastanza ovvio che Monotouch e Unity stanno andando bene.

Secondo "Le applicazioni che si collegano ad API documentate attraverso una traduzione intermedia, un livello o uno strumento di compatibilità sono vietate"

Monotouch compila il codice in un binario nativo, non esiste un "livello". Si riferiscono a qualcosa di simile a un runtime .NET, Java JVM o runtime Flash.


Dice di API documentate. Quindi, penso che non importa se si compila o meno nella libreria nativa
vodkhang

Il punto è che vuoi acquistare un Mac per sviluppare l'iPhone. Questo vale non solo per Java e Flash, ma anche per mono, poiché mono ti consente di sviluppare su un computer Windows / Linux. Ma a differenza di Java o Flash, il mono probabilmente non è molto usato, quindi a loro non importa ancora.
Stefan Steiger,

1

Le applicazioni Mono normalmente si compilerebbero per bytecode che è e richiederebbe la compilazione JIT (just in time) per eseguirle, quindi è richiesto un framework .Net o Mono. Tuttavia, nel caso di iOS e Android, l'applicazione Mono viene compilata in codice nativo. Pertanto, agli occhi di Apple, non esiste un terzo livello , Apple non vieterà mai Mono. Quindi puoi sentirti libero di sviluppare con MonoTouch e distribuire le tue app. Per assicurarti ulteriormente, sull'App Store ci sono varie applicazioni Mono (inclusi giochi e applicazioni) che esistono da molto tempo.

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.