O MonoTouch agora está proibido no iPhone? [fechadas]

155

Um post recente de John Gruber observa que os seguintes juridicos:

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

Foi revisado da seguinte forma:

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 faz a seguinte observação:

Minha leitura desse novo idioma é que são proibidos os compiladores cruzados, como o compilador de Flash para iPhone no próximo lançamento do Adobe Flash Professional CS5 da Adobe. Isso também proíbe aplicativos compilados usando o MonoTouch - uma ferramenta que compila aplicativos C # e .NET para o iPhone.

Isso de fato proíbe o uso do Monotouch para o iPhone?

Tom Greene
fonte
4
Eu me pergunto onde isso deixa legalmente os desenvolvedores de Apple e monotouch existentes. O que acontece com os aplicativos monotouch existentes?
Petet
2
@ petebob796: Você precisa aceitar esta nova licença se quiser colocar algo novo no iTunes Connect, mas duvido que eles retirem itens da loja que foram enviados anteriormente. No entanto, eles podem / aplicar isso com novos aplicativos que não são baseados no 4.0, mas que não foram enviados anteriormente. Mas, como qualquer coisa na App Store, teremos que esperar para ver!
Jason Coco
1
Aparentemente, esse acordo está sob NDA
Chris S
apple.com/pr/library/2010/09/09statement.html aaaaaaaaaathankyooooooooooo deixe a loucura começar !!
2
Em 9/9/2010, isso é discutível. Apple está relaxando Regra 3.3.2 foxbusiness.com/markets/2010/09/09/…
Steve Mitcham

Respostas:

88

Atualização -

Isso mudou recentemente . O MonoTouch não deve mais entrar em conflito com o contrato. Quaisquer declarações abaixo são puramente históricas!

Sim, parece bastante claro no contrato de licença deles agora que, se o aplicativo original for escrito em C #, ele estará violando a licença:

... Os aplicativos devem ser originalmente escritos em Objective-C, C, C ++ ou JavaScript, conforme executado pelo mecanismo WebKit do iPhone OS ...

Eles ainda o martelam um pouco mais:

Os aplicativos vinculados às APIs documentadas por meio de uma ferramenta ou camada intermediária de tradução ou compatibilidade são proibidos

Que chatice, o MonoTouch e o conversor do Flash CS5 -> iPhone são muito legais.

Lance McNearney
fonte
7
no entanto, consulte twitter.com/migueldeicaza/status/11844609073 usando isso. Como eles diferenciam um aplicativo MonoTouch de um nativo?
Mauricio Scheffer
9
Apple novamente hein. Nos sugando com um dispositivo maravilhoso, interface gráfica limpa, interface de toque agradável ... mas ... nos impedindo de desenvolver qualquer coisa para ele, a menos que tenhamos um mac, nos impedindo de desenvolver qualquer coisa para ele, a menos que seja objeto C / C / C ++. Quero dizer, o que todos nós pensamos se a Microsoft surgisse e dissesse 'não - não é possível desenvolver nada no Windows, a menos que seja em C - não, você não pode mais usar o .NET framework'.
9788 Peter
33
Isso não faz sentido para mim. Sob este contrato, se você escreveu um aplicativo no Flash e o traduziu manualmente para o Objective-C, parece que isso violaria o contrato (porque não foi "originalmente escrito" no Objective-C).
Michael Myers
3
@ John: Eu acho que é menos que eles estão 'banindo' aplicativos nativos - é mais que a API do novo sistema operacional gira em torno do Silverlight / XNA e essa é a maneira suportada de fazer as coisas. Não vi nada para impor que você não possa escrever um Java (ou qualquer outra linguagem) no compilador Silverlight nos contratos de licença da Microsoft (ainda).
Ron Warholic
3
Até que tudo isso acontecesse, nosso produto em desenvolvimento deveria ser apenas iPhone / iPad (que se preocupa com o Android etc.) e no MonoTouch. Agora reconsideramos e agora seremos Obj-C conforme necessário, mas também teremos suporte para Android e WinPhone disponíveis no dia 1 também. Uma empresa não pode arcar com a incerteza de comportamento e, portanto, a Apple fez o oposto do que queria - fez os desenvolvedores procurarem soluções de plataforma cruzada em vez de apenas a Apple. Bem feito.
fácil
49

Atualizar:

A Apple eliminou (quase) todos os requisitos técnicos para idiomas e bibliotecas para iOS, portanto o MonoTouch é sem dúvida uma solução viável. Veja o anúncio da Apple .


A maioria das pessoas aqui simplesmente quer pegar o documento da Apple com a palavra e dizer "sim, está proibido". Bem, aqui está o meu ponto de vista: neste momento, ninguém realmente tem idéia se o MonoTouch será banido ou não, e eu explicarei o porquê:

O contrato da Apple versão 3 (não a mais recente, a anterior) afirma claramente que é ilegal usar outras estruturas para desenvolver aplicativos diferentes dos fornecidos pela Apple:

3.3.2 Um Aplicativo não pode, por si só, instalar ou iniciar outro código executável por qualquer meio, incluindo, sem limitação, o uso de uma arquitetura de plug-in, chamando outras estruturas, outras APIs ou outros. Nenhum código interpretado pode ser baixado ou usado em um Aplicativo, exceto o código que é interpretado e executado pelas APIs documentadas e pelos intérpretes internos da Apple. http://adcdownload.apple.com/iphone/iphone_sdk_3.2__final/iphone_sdk_agreement.pdf

Mesmo que esse seja o caso (e na verdade desde o 2.x, a apple não tem nenhum problema em aceitar aplicativos que fazem exatamente isso. Por exemplo, TODOS os jogos da EA usam scripts Lua, e muitas pessoas usam bibliotecas externas que Mesmo que o iPhone possua essas APIs nativas, a Apple nunca teve problemas em aceitar aplicativos com versões diferentes, como o SQLite.

O que quero dizer é que dizer "SIM, eles serão banidos" agora é simplesmente muito cedo. A única coisa clara neste momento é que a Apple poderia de fato usá-lo para banir aplicativos. Assim como eles aceitam aplicativos hoje contra algumas de suas regras, provavelmente continuarão fazendo isso.

Há também o fato de existirem centenas (ou provavelmente alguns milhares?) De aplicativos na loja atualmente executando o Mono, e a Apple precisará aceitar atualizações para esses aplicativos. Os principais aplicativos com milhões de vendas foram criados usando o Mono (e Lua), e duvido que reembolsariam todos os usuários.

Por fim, os aplicativos corporativos são implantados nos iPhones sem a aprovação da Apple, e esse é um grande mercado no qual o MonoTouch está (eu mesmo desenvolvo aplicativos corporativos). Neste momento, não há como a Apple banir o MonoTouch para esses aplicativos, e isso provavelmente será suficiente para manter o MonoTouch vivo por um longo tempo.

Eduardo Scoz
fonte
Eu geralmente concordo com você, exceto na última parte - a Apple poderia dizer facilmente que futuras atualizações de aplicativos existentes devem ser portadas para o Objective-C nativo.
Kendall Helmstetter Gelner
Bem, mesmo que os aplicativos sejam portados para o Obj-C, eles foram originalmente escritos em um idioma diferente, então tecnicamente ainda seriam ilegais, eu acho. É por isso que essas regras realmente não fazem sentido. Eles provavelmente esclarecerão isso na próxima revisão, pouco antes do lançamento final da 4.0.
Eduardo Scoz
3
O idioma anterior não baniu as estruturas. Afirmou claramente que o que foi proibido foi o lançamento de código executável e lista as estruturas como um exemplo de como isso pode ser feito. O idioma que você postou não afeta os aplicativos monotipados, Flash ou qualquer outro binário pré-compilado que não tente interpretar em tempo de execução.
Fenomas
27

Atualizar:

Novas alterações nas seções 3.3.1, 3.3.2 e 3.3.9 tornaram o MonoTouch (e todos os outros compiladores / idiomas / etc) perfeitamente aceitáveis ​​no iPhone. Veja o anúncio da Apple


Miguel parece não pensar assim. Veja o tweet e a resposta de Miguel . Não exagere aqui e diga que o Monotouch está morto ou pare de desenvolver com o Monotouch até que alguns esclarecimentos tenham sido feitos por todas as partes envolvidas.

Dito isto, eu definitivamente começaria a aquecer a Apple para essas políticas draconianas de desenvolvimento. Coisas assim, e o processo nebuloso que é a política de aprovação dos aplicativos para iphone / ipad / touch devem causar medo nos corações dos desenvolvedores. O que vem a seguir, a licença deles informando que a única plataforma de anúncios que você tem permissão para usar é o iAd? Não está permitindo a distribuição de aplicativos gratuitos sem o iAd? Aumentando lentamente a participação da Apple na receita de vendas de aplicativos? Como desenvolvedores de um ecossistema bloqueado, somos uma espécie de sapos em uma panela de água quente, e a Apple está aumentando lentamente o calor. Agora é a hora de explorar outras plataformas móveis, porque à medida que elas melhoram, a principal coisa que mantém as pessoas na plataforma Apple é a falta de aplicativos em outras plataformas.

Kris Erickson
fonte
4
+1 (especialmente para "explorar outras plataformas")
Tim
2
+1, embora eu esperasse mais desses links. "Não" não é muito revelador, é? Microblogging é um flagelo.
Dan Rosenstark
Vá explorar, eu vou ficar com a Apple. Eu tenho 2 macs e uma licença de desenvolvedor que terei prazer em renovar este ano para continuar desenvolvendo. Ame ou deixe, mas pare de chorar por causa disso. E apenas ir comprar um mac já ...
kirk.burleson
10

Passei meses à noite trabalhando em idéias para um aplicativo matador de iPhone no Objetivo C. Meu trabalho diário é em C #. Baixei o MonoTouch C # quando ele se tornou uma alternativa viável e passei apenas três meses convertendo meu código em MonoTouch C # específico do iPhone. O que me impediu de enlouquecer ao mudar de C # / Objetivo C.

O que eu faço agora jogue tudo fora e comece de novo ou desista!?!

Sinto muito pelos caras Mono. Isso está completamente errado. Uma coisa é impedir a Adobe que não lançou seu produto e não possui clientes, além de impedir o MonoTouch que também possui o produto aprovado na AppStore.

Por que alguém iria querer construir um negócio e investir na Apple quando retiraria tudo em um instante sem ser responsável ou questionável?

Claramente, os desenvolvedores e clientes da Apple cuidando deles e de seus produtos são uma via de mão única.

AnthonyLambert
fonte
O Monotouch não possui um produto aprovado na loja de aplicativos - existem muitos aplicativos que foram escritos usando o Mono. Há uma grande diferença, pois existem muitos aplicativos a serem considerados em vez de apenas um.
Kendall Helmstetter Gelner
@ Kendall Helmstetter Gelner: Você está errado. Existem aplicativos MonoTouch na loja de aplicativos.
Tim Scott
4
@ Tim Scott, ele está dizendo ... oh esqueça.
Dan Rosenstark
1
Você deve considerar a quantidade de tempo de desenvolvimento que o Adobe teria gasto no compilador do iPhone. A Apple deixou que continuassem por esse caminho, sabendo que estava chegando por mais de um ano e, no último minuto, o levou embora. Custando milhões a eles em tempo de desenvolvimento e vendas perdidas.
PeteT
@ Tim: E quantos desses aplicativos foram desenvolvidos pelo pessoal da Monotouch? Leia o que eu disse novamente. @ yar: Obrigado por tentar explicar.
Kendall Helmstetter Gelner
9

Espero que a Apple seja criticada por essa política ridícula. A arrogância não é atraente e geralmente é ruim para os negócios. Essa é uma das razões pelas quais não iniciei o desenvolvimento do iPhone.

A maioria dos fornecedores de hardware e sistemas operacionais tem prazer em ter ferramentas e público-alvo adicionais para gravar em sua plataforma. A Apple está assumindo a posição de que suas ferramentas (braindead) são o único jogo na cidade.

O anúncio "Big Brother" de 1984 é cada vez mais relevante ...

EDITAR

O modo como está escrito também parece implicar que, se eu escrevesse um .net para um tradutor C / apple objetivo, o código não seria aceitável porque o código original não era objetivo c. Isso é ridículo (e inexequível.)

Tim
fonte
2
Qual é a parte arrogante? Você acha que eles estão fazendo isso porque acham que seu código é mais limpo ou algo assim?
Bpapa
3
Você está dizendo que não é arrogante?
Tim
4
@bpapa A arrogância não se limita a questões técnicas - também abrange as visões de negócios. Eles são arrogantes, pois pensam que podem se safar e ser um comportamento aceitável. Só porque pode ser uma "estratégia de negócios" não significa que você está isento de ser chamado de estúpido e arrogante.
Tim
3
Na verdade, eles "vão se safar" porque os dispositivos iPhone OS continuarão a ter grandes sucessos e os desenvolvedores continuarão a desenvolver para isso, e novos desenvolvedores se unirão. Fiz uma escolha há alguns anos atrás, pude me lamentar sobre como não conseguia desenvolver o Java no iPhone ou aprender o Cocoa Touch e criar aplicativos para iPhone. Não me arrependo da minha decisão.
bpapa
5
@ Ben Hum, não - é relevante porque a Apple é o irmão mais velho ... É chamado de ironia.
Tim
7

A unidade também se baseia no Mono e, como esse é um produto comercial considerável, imagino que esse seja um problema que ainda não ouvimos no final.

A proibição de todos os aplicativos não escritos no Obj-C / C ++ proibiria, em teoria, também todos os jogos do Unity, dos quais já existe um grande número na loja de aplicativos.

Essa pergunta também foi feita no site do Unity Answers, e sua resposta oficial é:

"Acabamos de ouvir falar do iPhone OS4.0 e dos novos Termos de Serviço. Embora acreditemos estar em total conformidade com eles, agora estamos fazendo todo o possível para que isso seja verificado pela Apple. Assim que soubermos com precisão, é claro que compartilharemos essas informações com todo mundo. Por favor, aguarde enquanto resolvemos isso. "

Seja interessante ver o que eles dizem pela Apple.

O fato é que, com certeza, dizer que um aplicativo precisa ser escrito em um determinado idioma é um pouco inadequado, pois uma vez que o aplicativo é compilado, ele sempre é um binário nativo, independentemente de como ele foi construído. Meu palpite é que tudo o que eles podem procurar é algum tipo de assinatura no binário para detectar com qual ferramenta ele foi construído. Uma abordagem falho.

EDIT: Há uma visão geral interessante da situação neste blog: monotouch agora morto na água o que significa o novo acordo de desenvolvedor de maçãs do iphone

Ira Rainey
fonte
7

O novo contrato de licença é explicitamente claro sobre isso. Então, sim, será banido.

Conselho, se você realmente deseja desenvolver para o iPhone, tente o XCode. Se você já está familiarizado com Java ou C # ou ainda com C ++ melhor, aprender Objective-C não será tão difícil.

O iPhone / iPad é um novo negócio de sucesso da Apple, e eles farão qualquer coisa para manter esse negócio em crescimento, talvez não banam os aplicativos Monotouch agora, mas quem sabe o próximo passo? Portanto, se você está realmente realmente interessado no desenvolvedor do iPhone, em vez de ter pesadelos, seu trabalho pode ser apenas rejeitado. Basta mudar para o XCode, pelo menos isso reduzirá a porcentagem de rejeições do seu aplicativo. Portanto, meu conselho.

medopal
fonte
18
Não é que seja difícil. Qualquer pessoa que use o monotouch já conhece o Objetivo C. É que o Objetivo C é terrível de se desenvolver em comparação às linguagens modernas.
James Moore
3
@jamesmoorecode: +1 is terrible
abatishchev
1
Gastei tempo aprendendo Obj-c e todas as APIs do Cocoa Touch, por isso não é um problema escrever um aplicativo nativo da maneira que a Apple deseja. É por isso que eu gostaria de fazer isso quando podia usar o MonoTouch para fazê-lo muito mais rápido e compartilhar a 'lógica de negócios' (mas não a interface do usuário) com o WP7 e o Silverlight para os aplicativos de navegador e de desktop?
U62
4
Há uma razão para muitos aplicativos na loja de aplicativos falharem regularmente: objetivo-C. Mesmo os de alto perfil, como digg.com
Chris S
2
Aprendi obj. No trem para o trabalho hoje de manhã - não é difícil - mas fede - é uma linguagem detalhada e arcaica - prefiro escrever aplicativos para iPhone na arte ASCII do T-SQL.
6

Eu acho que algo a considerar fortemente é a motivação da Apple.

Concordo com outros sentimentos publicados on-line de que a Apple está tentando impedir a mercantilização de aplicativos - ou seja, tendo cada vez mais aplicativos escritos usando estruturas que geram aplicativos que podem ser executados em vários dispositivos.

Mas não é isso que Monotouch é. O Monotouch é sobre o uso das estruturas da Apple para escrever aplicativos - mas através do Mono, não do Objective-C. Portanto, desse ponto de vista, o que o Monotouch está fazendo não é algo que realmente deveria incomodar a Apple.

Eu continuo afirmando que é melhor os desenvolvedores escreverem no idioma nativo da plataforma que estão usando, pois as coisas geralmente são mais suaves quando você não apresenta um sistema que pode ter incompatibilidade de impedância de abstração - as estruturas Cocoa foram todas construídas para serem usadas a partir de Objective-C, e eles fazem mais sentido quando você está acostumado com a filosofia do Objective-C. Mas espero que a Apple se incline para permitir o uso do MonoTouch.

Kendall Helmstetter Gelner
fonte
1
Quem desvalorizou minha análise racional está indo para o inferno dos desenvolvedores, apenas para que você saiba (cuja definição é escrever aplicativos móveis direcionados apenas ao Windows Mobile 6.5 por toda a eternidade). Quero dizer, discuta comigo, mas por que o voto negativo por uma razão pela qual ele pode não ser banido? Por que não tentar entender o que a Apple está fazendo em vez de apenas juntar-se à brigada de forcado e tocha quando a primeira tocha está acesa?
Kendall Helmstetter Gelner
Kendal concordou, +1 em saldo.
si618
+1 Um argumento razoável
Bill
1
+1 para o oprimido e sua visão diferente. Toda vez que vou contra as massas do grupo, acho que sou votado até ser forçado a excluir o post.
kirk.burleson
5

Tudo o que a Apple está dizendo é que agora você deve usar os idiomas dos anos 80 para desenvolver sua concorrência superando os aplicativos móveis de última geração ....

Faz todo o sentido. Parece uma estratégia vencedora para mim.

Também impede você de usar bibliotecas de terceiros que você não pode garantir que foram desenvolvidas em C, C ++ ou Objetivo C.

Então, basicamente, isso significa que você não pode comprar APIs de jogos, como o Unity.

AnthonyLambert
fonte
2
Um bem, considerando que Smalltalk-80 é de cerca de uma dúzia de anos antes do c # ...
Stephan Eggermont
como você sem dúvida sabe que o Objetivo C era basicamente C com algumas extensões do SmallTalk.
AnthonyLambert
4

Apenas adicionando meus 2 centavos. Parece que depois de ler esta parte: (por exemplo, aplicativos vinculados a APIs documentadas por meio de uma tradução intermediária ou camada ou ferramenta de compatibilidade são proibidos) não há nada a discutir. Eles os expressaram sem ambiguidade. Não apenas eles estão proibindo o MonoTouch e o Unity3d, como também estão proibindo o Titanium Framework . No entanto, depois de ler este artigo, fiquei realmente confuso. Eu não estou familiarizado com as leis dos EUA, mas é legal? Quero dizer, eles não estão violando algumas leis antimonopólio?

Além de tudo isso, não consigo entender a motivação deles. Eles não apenas perderão parcialmente o interesse dos desenvolvedores, mas também o respeito dos desenvolvedores, eu acho.

n535
fonte
4

Atualmente, a Seção 3.3.1 da Licença do programa para desenvolvedores da Apple iOS foi revertida para o texto antigo:

3.3.1 Os aplicativos podem usar APIs documentadas apenas da maneira prescrita pela Apple e não devem usar ou chamar APIs privadas.

A Apple divulgou uma declaração oficial sobre as alterações de licença.

Isso indicaria que agora é permitido usar o MonoTouch.

Jeff
fonte
+1 por incluir conteúdo real e não apenas um link ou declaração.
Davidtbernal
3

Um objetivo da equipe Mono é portar o Silverlight para o iPhone por meio do MonoTouch / Moonlight para o desenvolvimento de plataformas cruzadas. É como transportar o Flash para o iPhone. Há também o Monodroid a caminho para nos ajudar a portar aplicativos e, você sabe, a Apple fica louca toda vez que alguém diz "Android" :-) IMHO, se a Apple está mirando a Adobe com o novo contrato, ela também está voltada para a Novel. Provavelmente estamos especulando e há um NDA, mas muitos de nós investimos muito tempo nessa plataforma, portanto, precisamos esclarecer a situação. Mal podemos esperar no próximo verão para discutir esse assunto. Por exemplo, um amigo me pediu para ajudar sua empresa a criar um protótipo de um aplicativo MonoTouch para um cliente. O novo contrato afeta apenas a distribuição da App Store? E a distribuição interna?

Tajomaru
fonte
por que não a Apple conversa bem com os caras Mono e levá-los a perder o suporte para Droid vez ....
AnthonyLambert
1
@tony, por que eles abandonariam o suporte para uma plataforma muito mais aberta
PeteT
2

Esta planilha do Google Docs possui uma longa lista de aplicativos que serão afetados pelo novo contrato. Alguns notáveis ​​que foram o número 1 na appstore por sua categoria:

  • Monopólio
  • Lemonade Tycoon
  • Skee ball
  • Os colonos
  • Zombieville

Uma das inclusões engraçadas é Toy Story.

Chris S
fonte
1
O novo contrato cobre todas as versões do sistema operacional, não apenas a 4.0.
Philippe Leybaert
Bom ponto, eu esqueci que você tem que assinar um novo acordo sobre o local
Chris S
2

oMuitos aplicativos foram aceitos nos últimos dias escritos com a ajuda do monotouch e da unidade, enquanto eu também o uso assim como o obj-c, desde o anúncio e a alteração do contrato, então, FIGURA, ... o bom ol'WTF vem à mente. Parece um banco piggy bipolar.

TAMBÉM, o último Unity Game GiantMOTO, que está sob HOT NEW GAMES - YESTERDAY, tem em sua tela inicial onLoad em grandes letras, POWERED BY UNITY. Então, todas as conjecturas, suposições etc. estão realmente fora da porta. Pode dizer tudo o que na nova versão, certamente não é aplicada. E o montouch é o único plataforma de desenvolvimento que EXPOSTA TOTALMENTE a API do iPhone e cria COMPLETAMENTE no obj-c usando o XCode.

Sebas
fonte
1

Pelo que o contrato de licença diz, os aplicativos MonoTouch claramente não serão permitidos na AppStore.

A questão mais interessante é, porém, contra qual estrutura / aplicativos eles a aplicarão? Eles também terão que escrever testes automatizados para verificar se os aplicativos foram escritos nativamente ou não, porque as pessoas que aprovam os aplicativos não terão tempo / habilidades para fazer isso em todos os aplicativos. Esses aplicativos não colocarão um adesivo 'Como usar o MonoTouch / Flash'.

mgw
fonte
1
Eu acho que será um processo automatizado. Eu acho que o monotouch e o compilador flash deixarão padrões de código comuns da conversão, que podem ser estatisticamente selecionados a partir do código compilado.
Petet
3
Sim, se a Apple usar algum processo automatizado, certamente encontrará o padrão de conversão. Mas essa política de aplicar é absurda. Quero dizer, o Obj-C suga sua linguagem realmente meio obscura. Eu realmente gosto do que o MonoTouch está oferecendo.
Shoaib Shaikh
@Shoaib Certamente concorda que é um absurdo e moverá muitos desenvolvedores para o Android e Windows Phone, o que de certa forma é bom para a concorrência.
Petet
1

A resposta curta para toda essa bolha no contrato é SIM .

A Apple está basicamente se atirando no pé, limitando os programas a alguns idiomas:

  • C - o que não é realmente adequado para o desenvolvimento de aplicativos atualmente, devido à sua natureza de baixo nível. Hoje em dia é principalmente uma linguagem de programação de sistemas.
  • C ++ - o que dificulta a filmagem do telefone, mas quando isso acontece, é com uma bazuca. Além do Qt, não há estruturas de aplicativos completas para usar em C ++ (e o Qt ainda não suporta o iPhone).
  • Objective-C - que foi inventado pela Apple e, claro, será suportado.
  • JavaScript em execução no WebKit - basicamente um aplicativo da web.

Eles estão deliberadamente limitando as ferramentas que você pode usar para desenvolver o iPhone, o que quase certamente os colocará em sérios problemas. Tenho certeza de que uma parte de bom tamanho da comunidade simplesmente encerrou o desenvolvimento do iPhone e migrou para uma plataforma diferente, como Windows Mobile, Symbian, Android ou Maemo, totalmente aberta - você pode escrever seu aplicativo no LOLCODE.

Além de possivelmente tornar o iPhone inútil para desenvolvedores, também dá um beijo agradável na Adobe: a Apple bloqueia deliberadamente o Flash do iPad e agora eles também estão bloqueando o iPhone. O número é o maior recurso do Adobe Flash CS5: a implantação de aplicativos Flash no iPhone.

tl; dr: A Apple está basicamente atirando no próprio pé com esse movimento.

CMircea
fonte
A Apple atirou no próprio pé em primeiro lugar e todos disseram: "A Apple está condenada devido à arquitetura fechada". Acontece que dar um tiro no próprio pé - como qualquer funcionário que se torna consultor lhe dirá - geralmente é uma boa estratégia.
Dan Rosenstark
Sim, continue prendendo a respiração para que parte da comunidade de bom tamanho saia do desenvolvimento do iPhone!
Kirk.burleson
Objective-C não é realmente inventado pela Apple, é apenas adotada como LLVM e mesmas partes do BSD :)
Emil Marashliev
1

Já se passaram meses após o desastre instantâneo e é óbvio que Monotouch e Unity estão indo muito bem.

Conforme "Os aplicativos vinculados a APIs documentadas por meio de uma camada ou ferramenta intermediária de tradução ou compatibilidade são proibidos"

O Monotouch compila o código em um binário nativo, não há "camada". Eles estão se referindo a algo como um tempo de execução .NET, Java JVM ou Flash.

Doobi
fonte
Ele diz sobre APIs documentadas. Então, eu acho que não importa se você compilar a biblioteca nativa ou não
vodkhang
O ponto é que você precisa comprar um Mac para desenvolver para o iPhone. Isso se aplica não apenas a Java e Flash, mas também a mono, porque mono permite que você desenvolva em um computador com Windows / Linux. Mas, diferentemente do Java ou Flash, o mono provavelmente não é muito usado, então eles ainda não se importam.
Stefan Steiger
1

Os aplicativos mono normalmente compilam no bytecode, que é e exigiria a compilação JIT (just in time) para executá-los, portanto, é necessária uma estrutura .Net ou mono. No entanto, no caso de iOS e Android, o aplicativo Mono é compilado para o código nativo. Portanto, aos olhos da Apple, não há terceira camada , a Apple nunca proibirá Mono. Assim, você pode se sentir à vontade para desenvolver com o MonoTouch e distribuir seus aplicativos. Para garantir mais ainda, existem vários aplicativos Mono (incluindo jogos e aplicativos) na AppStore que existem há muito tempo.

Peyman
fonte