sintomas - sindrome de monomac
¿MonoMac está en desuso? (4)
La diferencia no está bien comunicada; ni siquiera hacen un gran trabajo en los foros . Y MonoMac no fue particularmente activo el año pasado.
Pero la respuesta rápida es que MonoMac vive. "No compatible" solo significa que no ha comprado una licencia de Xamarin, por lo que no espere que la atención al cliente de Xamarin lo ayude cuando algo se rompe. Pero ya estabas en ese bote antes de que apareciera Xamarin.Mac.
Tenga en cuenta que el tiempo de ejecución de fuente abierta de Mono qua todavía está en desarrollo activo. También puede descargar MonoDevelop para Linux , por ejemplo, qué tipo de imitaciones fueron las de MonoMac antes de que Xamarin empezara a vender licencias. MonoDevelop en sí mismo sigue siendo bastante activo , con registros tan recientes como hace 13 días. Entonces Mono todavía está vivo, y es, de hecho, un subconjunto de todos los productos de programación de Xamarin.
Las dos diferencias de Mono-on-Mac es que puede utilizar los ensamblajes de AppMit de MonoMac, etc., y la versión activa de Xamarin Studio para desarrollar en Mac en lugar de quedarse con, por ejemplo, Gtk # y MonoDevelop. Esas son cosas muy buenas.
MonoMac es una especie de versión Xamarin "Starter" para Xamarin.Mac.
Pero es mejor La "Versión de inicio" de las otras dos plataformas admitidas de Xamarin, Xamarin.iOS y Xamarin.Android, tiene "límites de compilación" , que limitan el tamaño de una aplicación (incluidos los enlaces) que puede compilar antes de que se le solicite comprar una licencia. . No es así con MonoMac. Entonces, MonoMac-via-Xamarin Studio es una especie de "Versión para principiantes con esteroides". En MonoMac, puede crear una aplicación tan grande como desee y liberarla en libertad.
¿El problema? Los proyectos de MonoMac suponen esencialmente que su usuario tiene el tiempo de ejecución Mono instalado en su Mac, y abrirá su ensamblaje a través del comando mono
en la línea de comando, al igual que tenía que hacer con el "viejo" MonoMac. Eso no es realmente sencillo si quiere dirigirse a usuarios finales convencionales. Podrías usar BockBuild para ayudar a hacer algo similar a la aplicación de Xamarin.Mac sin licencia (así es como Banshee usa BockBuild de todos modos) para crear paquetes de aplicaciones independientes, pero no estoy seguro de cuán general es todavía BockBuild.
Sin embargo ... En las otras dos versiones "Starter", obtienes un buen paquete de aplicaciones listo para su implementación. Es decir, si pagó sus $ 99 a Apple para que sea un Desarrollador de Apple y cree una pequeña aplicación Xamarin.iOS en Starter, puede implementar esa aplicación en la App Store de iOS inmediatamente sin pagar una licencia de Xamarin.iOS. Entonces, en este sentido, MonoMac es peor que una versión de Starter en otro lugar.
La especulación histórica (mi mente es un poco confusa sobre esto): Estaba en lo cierto sobre el momento en que el Packmaker MonoMac apareció que Xamarin.Mac fue lanzado y MonoMac a través de MonoDevelop "murió". La gente lanzó las aplicaciones MonoMac en Mac App Store (iirc), pero Xamarin preferiría que compraras una licencia para hacerlo hoy, y el soporte de código abierto (?) MonoMac Packager murió , tragado por Xamarin.Mac. Creo que la esencia es que Xamarin entiende que empezaron con el código abierto MonoMac, y que si dejaban de apoyar el desarrollo de Mac (es decir, si reducían su utilidad a partir de nuestras expectativas previas a Xamarin), habría un retroceso.
EDITAR: algunos enlaces históricos más. Cocoa # , que se lanzó en 2004 y continuó desarrollándose hasta 2008, es anterior y, según Miguel, informó sobre la creación de MonoMac. CocoaSharp también se lanzó con Mono por un tiempo. Sé que he mezclado MonoMac & Cocoa # en mi cabeza a veces. MonoMac parece haber nacido alrededor de 2010 , después de MonoTouch.
Es muy amable de Xamarin que nos permita mantener MonoMac-ing en su nuevo Xamarin Studio y continuar beneficiándonos de las actualizaciones que realizan con el conjunto de características central de Mac.
Entonces Xamarin.Mac está construido sobre MonoMac , y no puede evitar ser apoyado en cierto sentido. La única pregunta es cuánto tiempo Xamarin nos permite usar el proyecto MonoMac "no compatible" para construir una aplicación tan grande como queramos, y no reemplazar MonoMac con una versión "Starter" similar a X.iOS y X.Android. Espero que continúen haciendo lo correcto y no quiten la capacidad que la comunidad original de código abierto Mono nos dio: para que cualquiera pueda crear aplicaciones completas con UI nativas de Mac con C #.
Esto se siente un poco difícil, pero espero que sea de ayuda. MonoMac existe, y Xamarin.Mac es un superconjunto de él. Una vez más, la gran ventaja de comprar Xamarin.Mac es la agrupación de aplicaciones, pero también hay algunas ensamblajes adicionales (James enumera algunas a continuación: "GameKit, StoreKit, etc.") y, como James también señala, soporte de 64 bits. Xamarin no hace un gran trabajo publicitando estos beneficios.
La conclusión de su pregunta es, sin embargo, que no debe sentirse como que MonoMac es un ciudadano de segunda clase. En este momento, se encuentra en un buen lugar para construir una aplicación Mac-native [ish] tan compleja como lo desee.
La página de MonoMac parece estar abandonada. Parece que fue actualizado por última vez hace unos años, porque dice que "Mountain Lion" es el "nuevo" sistema operativo.
Nuevas API Lion y Mountain Lion para AppKit
Y MonoMac está en "Sin soporte" en Xamarin Studio (quería descargar Mono Develop, pero la página se redirigió automáticamente a Xamarin Studio).
Entonces, ¿MonoMac está en desuso o todavía se está desarrollando activamente junto con Xamarin.Mac?
No creo que las dos respuestas cubrieron toda la historia de MonoMac y Xamarin.Mac, así que como autor de Timeline of .NET / Mono / Xamarin me gustaría proponer otra respuesta.
MonoMac nació después de Mono chicos terminó el desarrollo principal en MonoTouch, y le gustaría traer el mismo tipo de tecnología para computadoras de escritorio. Miguel bloggeó sobre su versión 1.0 . Por lo tanto, fue lanzado como fuente abierta, como parte de Mono.
El lanzamiento de Xamarin cambió significativamente la forma en que se ejecutan los proyectos. Obviamente MonoTouch y Mono para Android se convirtieron en los productos estrella, y MonoMac fue otro potencial. Por lo tanto, el 12 de diciembre de 2012, Xamarin.Mac se creó para unirse a Xamarin.iOS y Xamarin.Android. La marca comercial Xamarin marca una frontera clara desde la marca de código abierto Mono. Y desde entonces, el desarrollo de MonoMac se desaceleró y se transfirieron más recursos a Xamarin.Mac.
Un evento más histórico sucedió en 2014, cuando Apple estableció un requisito para las aplicaciones de 64 bits, que los vendedores de herramientas de aplicaciones iOS y Mac deben cumplir. Xamarin anunció claramente que Xamarin.iOS y Xamarin.Mac admiten 64 bits completos usando la API Unificada en el blog de su equipo . Como MonoMac siempre es de 32 bits, esa publicación de blog es una indicación de la muerte de MonoMac desde mi punto de vista, pero no veo otra respuesta aquí que mencione este importante anuncio.
Si sigue la documentación, puede ver muchos cambios significativos en los tipos de datos y el conjunto de API,
https://developer.xamarin.com/guides/cross-platform/macios/unified/updating-mac-apps/
Entonces, si inicialmente Xamarin.Mac era más una cadena de herramientas basada en MonoMac, a partir de ese momento se convirtió en una bestia completamente diferente con nuevos poderes para conquistar más desafíos.
El 31 de marzo de 2016, Microsoft / Xamarin anunció el plan de fuente abierta de Xamarin SDK, y el 27 de abril de 2016 el código se publicó en GitHub, http://open.xamarin.com . Así que ahora debería abandonar por completo a MonoMac y abrazar a Xamarin.Mac con Xamarin Studio. Sin embargo, no estoy seguro de cuáles son las limitaciones en su edición comunitaria.
Como dice @Lex:
El 31 de marzo de 2016, Microsoft / Xamarin anunció el plan de fuente abierta de Xamarin SDK, y el 27 de abril de 2016 el código se publicó en GitHub, http://open.xamarin.com . Así que ahora debería abandonar por completo a MonoMac y abrazar a Xamarin.Mac.
MonoMac es entonces obsoleto (a favor de Xamarin.Mac / iOS ). Esto ha sido confirmado por Miguel en la lista de correo .
Actualizar:
Microsoft ha adquirido Xamarin e hizo Xamarin.Mac OSS. Si está buscando construir aplicaciones para Mac usando C #, entonces debe usar Xamarin.Mac. MonoMac no se desarrollará activamente dado que Xam.Mac está disponible para todos de forma gratuita.
Creo que en realidad hay 3 cosas para comparar con el desarrollo de C # Mac. Tenemos MonoMac, Xamarin.Mac Classic y Xamarin.Mac Unified. Todos son diferentes, pero el clásico vs el unificado es probablemente la mayor diferencia para los desarrolladores.
MonoMac comenzó como un proyecto de código abierto creado en un hackathon de fin de semana. Poco después, Xamarin ofreció un superconjunto de MonoMac llamado Xamarin.Mac. Contenía una gama más amplia de API (GameKit, StoreKit, etc.) que no están disponibles en MonoMac. Xamarin.Mac también le otorga una licencia comercial de Mono y le permite publicar en Mac AppStore. Si está interesado en MonoMac, puede tomar el repositorio de GitHub y comenzar a contribuir con el proyecto.
Durante los últimos 18 meses, hemos estado trabajando para unificar nuestros núcleos de productos iOS y Mac, a la vez que solucionamos algunos problemas (errores ortográficos con Métodos y propiedades, etc.) y agregamos soporte de 64 bits. Esta nueva versión de Xamarin.Mac también contiene un nuevo recolector de basura y algunos tipos de datos nuevos. La razón por la que hemos hecho esto es para permitir un mayor intercambio de códigos entre los proyectos Xamarin.iOS y Xamarin.Mac, pero también para admitir las últimas API que Apple ha lanzado, que son solo de 64 bits.
Para darle un ejemplo, si desea usar MapKit en Mac, deberá usar la API Unificada, ya que esta es una API de solo 64 bits.
Si desarrolla su aplicación hoy usando MonoMac, tendrá un proceso de actualización fácil a la API Unificada si desea enviar su aplicación a la Mac App Store. También debes ver qué API crees que necesitarás. Como regla general, cualquier nueva API en 10.10 probablemente requerirá la nueva API Unificada y, por lo tanto, requerirá Xamarin.Mac.