¿MonoTouch ahora está prohibido en el iPhone? [cerrado]

155

Una publicación reciente de John Gruber señala que la siguiente jerga legal:

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

Se ha revisado de la siguiente manera:

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).

Y hace la siguiente observación:

Mi lectura de este nuevo lenguaje es que los compiladores cruzados, como el compilador de Flash a iPhone en el próximo lanzamiento de Adobe Flash Professional CS5, están prohibidos. Esto también prohíbe las aplicaciones compiladas con MonoTouch, una herramienta que compila aplicaciones C # y .NET para el iPhone.

¿De hecho, esto prohíbe el uso de Monotouch para el iPhone?

Tom Greene
fuente
44
Me pregunto dónde deja legalmente Apple y los desarrolladores existentes de monotouch. ¿Qué pasa con las aplicaciones monotouch existentes?
PeteT
2
@ petebob796: debe aceptar esta nueva licencia si desea agregar algo nuevo a iTunes Connect, pero dudo que retiren cosas de la tienda que se enviaron anteriormente. Sin embargo, pueden / pueden / aplicar esto con nuevas aplicaciones que no están basadas en 4.0 pero que no se han enviado previamente. Pero como cualquier cosa en la App Store, ¡solo tendremos que esperar y ver!
Jason Coco
1
Al parecer, ese acuerdo está bajo NDA
Chris S
apple.com/pr/library/2010/09/09statement.html aaaaaaaaaathankyooooooooooo ¡que comience la locura!
2
A partir del 9/9/2010 esto es discutible. Apple se relaja Regla 3.3.2 foxbusiness.com/markets/2010/09/09/…
Steve Mitcham

Respuestas:

88

Actualización

Esto cambió recientemente . MonoTouch ya no debe entrar en conflicto con el acuerdo. ¡Cualquier declaración a continuación es puramente histórica!

Sí, parece bastante claro por su acuerdo de licencia ahora que si la aplicación original está escrita en C #, entonces estaría violando la licencia:

... Las aplicaciones deben estar escritas originalmente en Objective-C, C, C ++ o JavaScript tal como las ejecuta el motor del iPhone OS WebKit ...

Incluso lo martillan un poco más:

Las aplicaciones que enlazan a API documentadas a través de una traducción intermedia o una capa o herramienta de compatibilidad están prohibidas

Como un fastidio, MonoTouch y el convertidor Flash CS5 -> iPhone son muy geniales.

Lance McNearney
fuente
77
sin embargo, vea twitter.com/migueldeicaza/status/11844609073 usando eso, ¿cómo distinguirían una aplicación MonoTouch de una nativa?
Mauricio Scheffer
9
Apple otra vez eh. Aspirando con un dispositivo maravilloso, una interfaz gráfica limpia, una interfaz táctil agradable ... pero ... deteniéndonos a desarrollar cualquier cosa a menos que tengamos una Mac, evitando que desarrollemos algo a menos que sea un objeto C / C / C ++. Quiero decir, ¿qué pensaríamos todos si Microsoft apareciera y dijera 'no, no se puede desarrollar nada en Windows a menos que esté en C, no, ya no se puede usar .NET Framework'.
Peter
33
Esto no tiene ningún sentido para mí. Según este acuerdo, si escribió una aplicación en Flash y luego la tradujo a mano a Objective-C, parece que violaría el acuerdo (porque no estaba "originalmente escrita" en Objective-C).
Michael Myers
3
@John: Creo que es menos que estén 'prohibiendo' aplicaciones nativas; es más que la API de su nuevo sistema operativo gira en torno a Silverlight / XNA y esa es la forma compatible de hacer las cosas. No he visto nada que indique que no se puede escribir un Java (o cualquier otro idioma) en el compilador de Silverlight en los acuerdos de licencia de Microsoft (todavía).
Ron Warholic
3
Hasta que sucediera todo esto, nuestro producto en desarrollo debía ser solo iPhone / iPad (a quien le importa Android, etc.) y en MonoTouch. Ahora lo hemos reconsiderado, y ahora seremos Obj-C según sea necesario, pero también nos aseguraremos de contar con soporte para Android y WinPhone disponible el día 1 también. Una empresa no puede permitirse la incertidumbre del comportamiento y, por lo tanto, Apple ha hecho lo contrario de lo que quería: los desarrolladores buscaron soluciones multiplataforma en lugar de solo Apple. Bien hecho.
mj2008
49

Actualizar:

Apple ha eliminado (casi) todos los requisitos técnicos para idiomas y bibliotecas para iOS, por lo que MonoTouch es sin duda una solución viable. Ver el anuncio de Apple .


La mayoría de la gente aquí simplemente quiere tomar el documento de Apple por la palabra y decir "sí, está prohibido". Bueno, aquí está mi punto de vista: en este punto, nadie tiene idea de si MonoTouch va a ser prohibido o no, y explicaré por qué:

La versión 3 del acuerdo de Apple (no la última, la anterior) establece claramente que es ilegal usar cualquier otro marco para desarrollar aplicaciones que no sean las proporcionadas por Apple:

3.3.2 Una Aplicación no puede instalar o lanzar otro código ejecutable por ningún medio, incluido, entre otros, el uso de una arquitectura de complemento, llamar a otros marcos, otras API u otros. No se puede descargar ni usar ningún código interpretado en una Aplicación, excepto el código interpretado y ejecutado por las API documentadas de Apple y los intérpretes incorporados. http://adcdownload.apple.com/iphone/iphone_sdk_3.2__final/iphone_sdk_agreement.pdf

Aunque ese es el caso (y en realidad fue el caso desde 2.x, Apple no tiene ningún problema para aceptar aplicaciones que hacen exactamente eso. Por ejemplo, TODOS los juegos de EA usan scripts Lua, y muchas personas usan bibliotecas externas que no son nativos del iPhone. Incluso cuando el iPhone tiene esas API nativas, Apple nunca tuvo problemas para aceptar aplicaciones con diferentes versiones, como SQLite.

Mi punto es que decir "SÍ, serán prohibidos" en este momento es simplemente MUY temprano. Lo único claro en este momento es que Apple podría usar eso para prohibir aplicaciones. Al igual que hoy aceptan aplicaciones que están en contra de algunas de sus reglas, probablemente continuarán haciéndolo.

También existe el hecho de que hay cientos (¿o probablemente algunos miles?) De aplicaciones en la tienda que actualmente ejecutan Mono, y Apple tendrá que aceptar actualizaciones para esas aplicaciones. Las principales aplicaciones con millones de ventas se crearon usando Mono (y Lua), y dudo que reembolsen a cada usuario.

Por último, las aplicaciones empresariales se implementan en iPhones sin la aprobación de Apple, y ese es un gran mercado en el que se encuentra MonoTouch (yo mismo desarrollo aplicaciones empresariales). En este punto, no hay forma de que Apple pueda prohibir MonoTouch para esas aplicaciones, y eso probablemente sea suficiente para mantener a MonoTouch vivo durante mucho tiempo.

Eduardo Scoz
fuente
Generalmente estoy de acuerdo con usted, excepto en la última parte: Apple podría decir fácilmente que las futuras actualizaciones de las aplicaciones existentes deben ser portadas a Objective-C nativo.
Kendall Helmstetter Gelner
Bueno, incluso si las aplicaciones se portan a Obj-C, originalmente se escribieron en un idioma diferente, por lo que técnicamente seguirían siendo ilegales, supongo ... Es por eso que estas reglas realmente no tienen ningún sentido. Probablemente lo aclararán en una revisión siguiente, justo antes del lanzamiento final de 4.0.
Eduardo Scoz
3
El lenguaje anterior no prohibía los marcos en absoluto. Dice claramente que lo que prohibió fue lanzar código ejecutable, y enumera los marcos como un ejemplo de una forma que podría hacerse. El idioma que ha publicado no afecta a las aplicaciones de monotipo ni a las aplicaciones Flash ni a ningún otro binario precompilado que no intente interpretar en tiempo de ejecución.
fenomas
27

Actualizar:

Los nuevos cambios en las secciones 3.3.1, 3.3.2 y 3.3.9 han hecho que MonoTouch (y todos los demás compiladores cruzados / idiomas / etc.) sean perfectamente aceptables en el iPhone. Ver el anuncio de Apple


Miguel no parece pensar eso. Vea el tweet y la respuesta de Miguel . No reaccionemos de forma exagerada aquí y digamos que Monotouch está muerto, o dejemos de desarrollar con Monotouch hasta que todas las partes involucradas hayan hecho algunas aclaraciones.

Dicho esto, definitivamente comenzaría a ponerle calor a Apple por esas políticas de desarrollo tan draconianas. Cosas como esta, y el nebuloso proceso que es la política de aprobación de las aplicaciones iphone / ipad / touch deberían generar temor en los corazones de los desarrolladores. ¿Qué sigue, su licencia que indica que la única plataforma de anuncios que puede usar es iAd? ¿No permite la distribución de aplicaciones gratuitas sin iAd? ¿Aumenta lentamente la participación de Apple en los ingresos de las ventas de aplicaciones? Como desarrolladores en un ecosistema cerrado, somos como ranas en una olla de agua caliente, y Apple está aumentando lentamente el calor. Ahora es el momento de explorar otras plataformas móviles, porque a medida que mejoran, lo principal que atrae a las personas a la plataforma Apple es la falta de aplicaciones en otras plataformas.

Kris Erickson
fuente
44
+1 (especialmente para "explorar otras plataformas")
Tim
2
+1 aunque esperaba más de esos enlaces. "No" no es muy revelador, ¿verdad? El microblogging es un flagelo.
Dan Rosenstark
Ve a explorar, me quedo con Apple. Tengo 2 macs y una licencia de desarrollador que con mucho gusto renovaré este año para poder seguir desarrollando. Ámalo o déjalo, pero deja de llorar por eso. Y solo ve a comprar una Mac ...
kirk.burleson
10

Pasé meses de noches trabajando en ideas para una aplicación asesina de iPhone en el Objetivo C. Mi trabajo diario es C #. Descargué MonoTouch C # cuando se convirtió en una alternativa viable y acabo de pasar 3 meses convirtiendo mi código a MonoTouch C # específico para iPhone. Lo que me impidió volverme loco al cambiar de C # / Objetivo C.

¡¿Qué hago ahora, lo tiro todo y empiezo de nuevo o me doy por vencido?!

Lo siento mucho por los chicos de Mono. Esto es completamente incorrecto. Una cosa es detener a Adobe que no ha lanzado su producto y no tiene clientes, y detener a MonoTouch que sí lo hizo y también tiene un producto aprobado en la AppStore.

¿Por qué alguien querría construir un negocio e invertir en Apple cuando se lo quitarán todo en un momento sin ser responsables ni cuestionables?

Claramente, los desarrolladores y clientes de Apple que los cuidan a ellos y sus productos es una calle de sentido único.

AnthonyLambert
fuente
Monotouch no tiene un producto aprobado en la tienda de aplicaciones: hay muchas aplicaciones en la tienda de aplicaciones que se escribieron con Mono. Hay una gran diferencia, ya que hay muchas aplicaciones para considerar en lugar de solo una.
Kendall Helmstetter Gelner
@ Kendall Helmstetter Gelner: Estás equivocado. Hay aplicaciones MonoTouch en la tienda de aplicaciones.
Tim Scott,
44
@Tim Scott, está diciendo ... oh, olvídalo.
Dan Rosenstark
1
Sin embargo, debe considerar la cantidad de tiempo de desarrollo que adobe hubiera dedicado a su compilador de iPhone. Apple les permitió continuar por ese camino sabiendo que vendría por más de un año y en el último minuto se lo llevaron. Les costó millones en tiempo de desarrollo y ventas perdidas.
PeteT
@Tim: ¿Y cuántas de esas aplicaciones fueron desarrolladas por la gente de Monotouch? Lee lo que dije de nuevo. @ año: Gracias por intentar explicar.
Kendall Helmstetter Gelner
9

Espero que Apple sea derrotado por esta política ridícula. La arrogancia no es atractiva y generalmente es mala para los negocios. Esta es una de las razones por las que no he comenzado el desarrollo de iPhone.

La mayoría de los proveedores de hardware y SO están contentos de tener herramientas y audiencia adicionales para escribir en su plataforma. Apple está adoptando la postura de que sus herramientas (braindead) son el único juego en la ciudad.

El anuncio de "Gran Hermano" de 1984 es cada vez más relevante ...

EDITAR

La forma en que está escrito también parece implicar que si escribí un traductor .net al objetivo C / apple, el código no es aceptable porque el código original no era objetivo c. Eso es ridículo (e inaplicable).

Tim
fuente
2
¿Cuál es la parte arrogante? ¿Crees que están haciendo esto porque piensan que su código es más limpio o algo así?
bpapa
3
¿Estás diciendo que no es arrogante?
Tim
44
@bpapa Arrogance no se limita a cuestiones técnicas, sino que también cubre las opiniones empresariales. Son arrogantes porque piensan que pueden salirse con la suya y que es un comportamiento aceptable. El hecho de que pueda ser una "estrategia comercial" no significa que esté exento de ser llamado estúpido y arrogante.
Tim
3
En realidad, "se saldrán con la suya" porque los dispositivos iPhone OS continuarán siendo un gran éxito y los desarrolladores continuarán desarrollándose para ello, y los nuevos desarrolladores se unirán al redil. Hice una elección hace un par de años, podía sentarme y quejarme acerca de cómo no podía desarrollar Java en el iPhone, o podía aprender Cocoa Touch y hacer aplicaciones para iPhone. No te arrepientas de mi decisión.
bpapa
55
@Ben Um, no, es relevante porque Apple ES hermano mayor ... Se llama ironía.
Tim
7

Unity también se basa en Mono y, al ser un producto comercial considerable, imagino que este es un problema que aún no hemos escuchado.

Prohibir todas las aplicaciones que no están escritas en Obj-C / C ++, en teoría también prohibiría todos los juegos de Unity, de los cuales ya hay un gran número en la tienda de aplicaciones.

Esta pregunta también se hizo en el sitio de Unity Answers, y su respuesta oficial es:

"Acabamos de escuchar sobre el iPhone OS4.0 y los nuevos Términos de Servicio. Si bien creemos que cumplimos con estos, estamos haciendo todo lo posible para que Apple lo verifique. Tan pronto como sepamos con precisión, por supuesto, compartiremos esa información con todos. Por favor, espere mientras lo escuchamos ".

Sea interesante para ver lo que Apple les cuenta.

La cuestión es que decir con certeza que una aplicación debe escribirse en cierto idioma es un nombre poco apropiado, ya que una vez que la aplicación se compila, siempre es un binario nativo, independientemente de cómo se haya creado. Supongo que todo lo que pueden buscar es algún tipo de firma en el binario para detectar con qué herramienta se creó. Un enfoque defectuoso.

EDITAR: Hay una visión general interesante de la situación en este blog: monotouch ahora muerto en el agua, ¿qué significa el nuevo acuerdo de desarrollador de iPhone de Apple?

Ira Rainey
fuente
7

El nuevo acuerdo de licencia es explícitamente claro al respecto. Entonces SÍ, será prohibido.

Consejo, si realmente quieres desarrollar para iPhone, prueba XCode. Si ya está familiarizado con Java o C # o aún mejor C ++, entonces aprender Objective-C no será tan difícil.

iPhone / iPad es un nuevo negocio exitoso de Apple, y harán cualquier cosa para mantener este negocio en crecimiento, tal vez no prohibirán las aplicaciones Monotouch ahora, pero ¿quién sabe el próximo paso? Entonces, si está realmente muy interesado en el desarrollo del iPhone, en lugar de tener pesadillas, su trabajo podría ser rechazado. Simplemente cambie a XCode, al menos eso reducirá el porcentaje de rechazo de su aplicación. Por lo tanto, mi consejo.

medopal
fuente
18
No es que sea difícil. Cualquiera que use monotouch ya conoce el Objetivo C. Es que el Objetivo C es terrible de desarrollar en comparación con los lenguajes modernos.
James Moore el
3
@jamesmoorecode: +1 eso es terrible
abatishchev
1
Sí, pasé el tiempo para aprender Obj-c y todas las API de Cocoa Touch, por lo que no es un problema para mí escribir una aplicación nativa como Apple quiere. Es solo por eso que querría hacer eso cuando podría usar MonoTouch para hacerlo mucho más rápido y compartir la 'lógica de negocios' (pero no la interfaz de usuario) con WP7 y Silverlight para el navegador y las aplicaciones de escritorio.
U62
44
Hay una razón por la que muchas aplicaciones en la tienda de aplicaciones se bloquean regularmente: objetivo-C. Incluso los de alto perfil como digg.com
Chris S
2
Aprendí obj c en el tren al trabajo esta mañana, no es difícil, pero apesta, es un lenguaje detallado y arcaico, prefiero escribir aplicaciones para iPhone en el arte ASCII T-SQL.
6

Creo que algo a tener en cuenta es la motivación de Apple.

Estoy de acuerdo con otros sentimientos publicados en línea de que Apple está tratando de evitar la mercantilización de las aplicaciones, es decir, tener cada vez más aplicaciones escritas utilizando marcos que generan aplicaciones que pueden ejecutarse en múltiples dispositivos.

Pero eso no es lo que es Monotouch. Monotouch se trata de usar los marcos de Apple para escribir aplicaciones, pero a través de Mono, no Objective-C. Entonces, desde ese punto de vista, lo que Monotouch está haciendo no es algo que realmente deba molestar a Apple.

Todavía sostengo que es mejor que los desarrolladores escriban en el idioma nativo de la plataforma que están utilizando, ya que las cosas son generalmente más fluidas cuando no se introduce un sistema que puede tener una falta de coincidencia de impedancia de abstracción: los marcos de Cocoa se construyeron para ser utilizados Objective-C, y tienen más sentido cuando estás acostumbrado a la filosofía de Objective-C. Pero sí espero que Apple deje de permitir el uso de MonoTouch.

Kendall Helmstetter Gelner
fuente
1
Quien haya rechazado mi análisis racional irá al infierno del desarrollador, solo para hacerle saber (la definición de esto es escribir aplicaciones móviles dirigidas solo a Windows Mobile 6.5 por toda la eternidad). Quiero decir, discuta conmigo, pero ¿por qué el voto negativo por una razón por la que bien podría no estar prohibido? ¿Por qué no tratar de entender qué está haciendo Apple en lugar de unirse a la brigada de horcas y antorchas cuando se enciende la primera antorcha?
Kendall Helmstetter Gelner
De acuerdo Kendal, +1 para el equilibrio.
si618
+1 Un argumento razonable
Bill
1
+1 para el desvalido y su punto de vista diferente. Cada vez que voy en contra de las masas del grupo creo que me votan mal hasta que me veo obligado a eliminar la publicación.
kirk.burleson
5

Todo lo que Apple dice es que ahora deben usar los idiomas de los años 80 para desarrollar su competencia superando las aplicaciones móviles de última generación ...

Tiene mucho sentido. Suena como una estrategia ganadora para mí.

También le impide usar bibliotecas de terceros que no puede garantizar que se hayan desarrollado en C, C ++ u Objective C.

Básicamente significa que no puedes comprar en API de juegos como Unity.

AnthonyLambert
fuente
2
Un pozo, considerando que smalltalk-80 tiene una docena de años de ventaja sobre c # ...
Stephan Eggermont
como sin duda sabe, el objetivo C era básicamente C con algunas extensiones SmallTalk.
AnthonyLambert
4

Solo agrego mis 2 centavos. Parece que después de leer esta parte: (por ejemplo, las aplicaciones que enlazan a API documentadas a través de una traducción intermedia o una capa o herramienta de compatibilidad están prohibidas) no hay nada que discutir. Los han expresado sin ambigüedad. No solo están prohibiendo MonoTouch y Unity3d, parece que también están prohibiendo Titanium Framework . Sin embargo, después de leer este artículo, me encontré realmente confundido. No estoy familiarizado con las leyes estadounidenses, pero ¿es legal? Quiero decir, ¿no están violando algunas leyes antimonopolio?

Además de todo esto, no puedo entender su motivación. No solo perderán en parte el interés de los desarrolladores, sino que también perderán el respeto de los desarrolladores, creo.

n535
fuente
4

A partir de hoy, la Sección 3.3.1 de la Licencia del Programa para Desarrolladores de Apple iOS se ha revertido al texto anterior:

3.3.1 Las aplicaciones solo pueden usar API documentadas de la manera prescrita por Apple y no deben usar ni llamar a ninguna API privada.

Apple ha publicado una declaración oficial sobre los cambios de licencia.

Esto indicaría que ahora está permitido usar MonoTouch.

Jeff
fuente
+1 por incluir contenido real y no solo un enlace o una declaración.
davidtbernal
3

Uno de los objetivos del equipo Mono es llevar Silverlight al iPhone mediante MonoTouch / Moonlight para el desarrollo multiplataforma. Eso es un poco como portar Flash al iPhone. También hay Monodroid en el camino para ayudarnos a portar aplicaciones y, ya sabes, Apple se ejecuta cada vez que alguien dice "Android" :-) En mi humilde opinión, si Apple está apuntando a Adobe con el nuevo acuerdo, también está apuntando a Novela. Probablemente estamos especulando y hay una NDA, pero muchos de nosotros invertimos mucho tiempo en esta plataforma, por lo que debemos aclarar la situación. No podemos esperar el próximo verano para discutir este asunto. Por ejemplo, un amigo me pidió que ayudara a su empresa a crear un prototipo de una aplicación MonoTouch para un cliente. ¿El nuevo acuerdo solo afecta la distribución de la App Store? ¿Qué pasa con la distribución interna?

Tajomaru
fuente
¿Por qué Apple no habla amablemente con los chicos de Mono y hace que abandonen el soporte para Droid en su lugar ...
AnthonyLambert
1
@tony ¿por qué se les cae el apoyo a una plataforma mucho más abierta
Petet
2

Esta hoja de cálculo de Google Docs tiene una larga lista de aplicaciones que se verán afectadas por el nuevo acuerdo. Algunos notables que han sido # 1 en la tienda de aplicaciones para su categoría:

  • Monopolio
  • Magnate de limonada
  • Bola skee
  • Los colonos
  • Zombieville

Una de las inclusiones divertidas es Toy Story.

Chris S
fuente
1
El nuevo acuerdo cubre todas las versiones del sistema operativo, no solo 4.0.
Philippe Leybaert
Buen punto, olvidé que tienes que firmar un nuevo acuerdo en el sitio
Chris S
2

o Muchas aplicaciones han sido aceptadas en los últimos días escritas con la ayuda de monotouch y unity, mientras que también las estoy usando, así como obj-c, desde el anuncio y el cambio en el acuerdo, así que VAYA A LA IMAGEN, ... lo bueno OL'WTF viene a la mente. Es una alcancía bipolar, parece.

TAMBIÉN, el último Unity Game GiantMOTO, que está bajo HOT NEW GAMES - YESTERDAY, tiene en su pantalla de inicio onLoad en letras grandes, POWERED BY UNITY. Entonces, todas las conjeturas, suposiciones, etc. están realmente fuera de la puerta. Podría decir todo eso en la nueva versión, ciertamente NO se aplica. Y montouch es la única plataforma de desarrollo que expone TOTALMENTE la API de iPhone y se construye COMPLETAMENTE en obj-c usando XCode.

Sebas
fuente
1

Por lo que dice el acuerdo de licencia, las aplicaciones MonoTouch claramente no se permitirán en la AppStore.

Sin embargo, la pregunta más interesante es, ¿contra qué marco / aplicaciones la harán cumplir? También tendrán que escribir pruebas automatizadas para verificar si las aplicaciones se escribieron de forma nativa o no, porque las personas que aprueban las aplicaciones no tendrán el tiempo / las habilidades para hacerlo en cada aplicación. Estas aplicaciones no pondrán una pegatina allí 'Usando MonoTouch / Flash'.

mgw
fuente
1
Supongo que será un proceso automatizado. Supongo que monotouch y el compilador flash dejarán patrones de código comunes de la conversión que pueden seleccionarse estadísticamente del código compilado.
PeteT
3
Sí, si Apple utiliza algún proceso automatizado, seguramente encontrará el patrón de conversión. Pero esta política de aplicar es absurda. Quiero decir que Obj-C apesta su lenguaje realmente oscuro. Realmente me gusta lo que ofrece MonoTouch.
Shoaib Shaikh
@Shoaib Ciertamente está de acuerdo en que es absurdo y moverá a muchos desarrolladores a Android y Windows Phone, lo que de alguna manera es bueno para la competencia.
PeteT
1

La respuesta corta a todo ese blob en el acuerdo es .

Apple básicamente se está disparando en el pie al limitar los programas a unos pocos idiomas:

  • C, que no es realmente adecuado para el desarrollo de aplicaciones en estos días, debido a su naturaleza de bajo nivel. Hoy es principalmente un lenguaje de programación de sistemas.
  • C ++: lo que hace que sea más difícil disparar a su teléfono, pero cuando sucede, es con una bazuca. Además de Qt, no hay marcos de aplicación completos para usar en C ++ (y Qt aún no es compatible con iPhone).
  • Objective-C, que fue inventado por Apple y, por supuesto, será compatible.
  • JavaScript se ejecuta en WebKit, básicamente una aplicación web.

Están limitando deliberadamente qué herramientas puedes usar para desarrollar para iPhone, lo que casi seguro los meterá en serios problemas. Estoy seguro de que una buena parte de la comunidad simplemente abandonará el desarrollo de iPhone y migrará a una plataforma diferente como Windows Mobile, Symbian, Android o Maemo, que son totalmente abiertas: puede escribir su aplicación en LOLCODE.

Además de posiblemente hacer basura de iPhone para desarrolladores, también le da un beso a Adobe: Apple bloquea deliberadamente Flash desde iPad, y ahora también lo está bloqueando desde iPhone. El número es la característica más grande de Adobe Flash CS5 es implementar aplicaciones Flash en iPhone.

tl; dr: Apple básicamente se está disparando en el pie con este movimiento.

CMircea
fuente
Apple se disparó en el pie en primer lugar y todos dijeron: "Apple está condenada debido a la arquitectura cerrada". Resulta que pegarse un tiro en el pie, como le dirá cualquier empleado que se convierta en consultor, suele ser una buena estrategia.
Dan Rosenstark
¡Sí, sigue aguantando la respiración por esa buena parte de la comunidad para abandonar el desarrollo de iPhone!
kirk.burleson
Objective-C no fue realmente inventado por Apple, solo se adoptó como LLVM y las mismas partes de BSD :)
Emil Marashliev
1

Han pasado meses después de la debacle de Flash y es bastante obvio que Monotouch y Unity están bien.

Según "Las aplicaciones que enlazan a API documentadas a través de una traducción intermedia o una capa o herramienta de compatibilidad están prohibidas"

Monotouch compila el código en un binario nativo, no hay "capa". Se refieren a algo como un tiempo de ejecución de .NET, Java JVM o tiempo de ejecución de Flash.

Doobi
fuente
Dice sobre las API documentadas. Entonces, creo que no importa si compilas en una biblioteca nativa o no
vodkhang
El punto es, el deseo que necesita para comprar una Mac para desarrollar para el iPhone. Esto se aplica no solo para Java y Flash, sino también para mono, porque mono le permite desarrollar en una computadora Windows / Linux. Pero a diferencia de Java o Flash, el mono probablemente no se usa mucho, por lo que todavía no les importa.
Stefan Steiger
1

Las aplicaciones Mono normalmente se compilarían en bytecode, que es y requeriría una compilación JIT (justo a tiempo) para ejecutarlas, por lo que se requiere un marco .Net o un marco Mono. Sin embargo, en el caso de iOS y Android, la aplicación Mono compila en código nativo. Por lo tanto, a los ojos de Apple, no hay una tercera capa , Apple nunca prohibirá Mono. Para que pueda desarrollar con MonoTouch y distribuir sus aplicaciones. Para garantizarle aún más, hay varias aplicaciones Mono (incluidos juegos y aplicaciones) en la AppStore que han existido durante mucho tiempo.

Peyman
fuente