SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Monos y Manzanas: Aplicaciones. Net para MAC
Motivaciones ¿Por qué desarrollar .NET en Mac? Portar código existente usando elementos gráficos nativos Las herramientas nativas tienen una curva de aprendizaje pronunciada Salto similar de C# a C++ .NET Rocks! La plataforma de desarrollo mas completa de la actualidad
Herramientas XCode Interface Builder
http://go-mono.com Proyecto open-source iniciado en 2001 Patrocinado por Novell (si…. Los mismos del NetWare) ECMA compliant. Inicialmente proveía una implementación del CLR y C# para Unix Hoy incluye soporte para: Mac OS X, Linux, BSD, SunSolaris, NintendoWii, Sony Playstation 3 y también Windows X86, x86-64, ARM, s390, PowerPC, SPARC, IA64, Alpha, MIPPS, HPPA C#, VB, F#,Java, Boo, Nemerle, Python, Jscript, Oberon, PHP, Object Pascal, LUA, Cobra, Smalltalk
Alcances .NET 2.0 Feature Complete .NET 3.0 / 3.5 Soporte básico WCF Silverlight Compilador 100% compatible “code once runanywhere”
Limitaciones WPF / WWF pre-alphastate Comingsoon….  LINQ 2 SQL Si hay LINQ Entity Framework Debugger  En realidad una limitación de Mono-Develop Aunque siempre se puede usar el de Visual Studio 
Arquitectura Tu Aplicación .NET en C#, VB, etc Librerías .NET (System.*) CLR 	Mono CLR Windows Sistema Operativo
Bridge entre las librerías .NET y las APIs de Objective-C / Max OS-X Open-source Desarrollado en .NET Compatible con Tiger y Leopard Soporte para Intel y PowerPC
Cocoa Webkit DiskRecording ImageKit Mono CLR Monobjc OpenGL PDF QuickTime Security Otras
Otras herramientas MoMA Mono MigrationAnalyzer Monotouch Equivalente de Monobjc para iPhone
Tipos de Aplicación
Tipos de Aplicación
Tipos de Aplicación
Estrategia de Desarrollo Desarrollar la lógica en Visual Studio!! 	Heredar de NSObject para exponer las clases al runtime de ObjectiveC 	Utilizar los atributo [ObjectiveCClass] y [ObjectiveCMessage] para exponer métodos y propiedades  Xcopy de assemblies a Mac Desarrollar la UI con Interface Builder Binding de la UI utilizando el patrón MVC
Demo
Consideraciones Para que las clases sean visualizables por el runtime de ObjectiveC , deben : Tener el atributo [ObjectiveCClass] Heredar de NSObject Para que las propiedades sean “bindeables”  hay que agregarles el atributo [ObjectiveCMessage([mensaje])] Para el get basta ponerle el nombre de la propiedad Para el set hay que usar “set[Propiedad]:”
¿Preguntas?
[Code Camp 2009] Monos Y Manzanas - Aplicaciones .NET Para MAC (Pablo Zaidenvoren + Sergio Borromei)

Weitere ähnliche Inhalte

Andere mochten auch

Trabajo En Equipo 01
Trabajo En Equipo 01Trabajo En Equipo 01
Trabajo En Equipo 01guestf24e0a
 
El Show Del Aburrimiento Lectura Lacano Cambios
El Show Del Aburrimiento Lectura Lacano CambiosEl Show Del Aburrimiento Lectura Lacano Cambios
El Show Del Aburrimiento Lectura Lacano Cambiosmonicapei
 
Etapa 2 Web 2.0
Etapa 2   Web 2.0Etapa 2   Web 2.0
Etapa 2 Web 2.0Pbtsrulez
 
Nevada En Torrejon
Nevada En TorrejonNevada En Torrejon
Nevada En TorrejonIsa Gon
 
Planificación de una cobertura para medios digitales
Planificación de una cobertura para medios digitalesPlanificación de una cobertura para medios digitales
Planificación de una cobertura para medios digitalesJanite
 
La Gran Depression et le Crack 29
La Gran Depression et le Crack 29La Gran Depression et le Crack 29
La Gran Depression et le Crack 29claudia9713
 
Proyecto Video Folletos 2010 Ok
Proyecto Video Folletos 2010 OkProyecto Video Folletos 2010 Ok
Proyecto Video Folletos 2010 Okguest12f184
 
La EducacióN Del Futuro
La EducacióN Del FuturoLa EducacióN Del Futuro
La EducacióN Del Futurodora sanz
 
La Influencia Del Terrorismo En El Turismo Internacional
La Influencia Del Terrorismo En El Turismo InternacionalLa Influencia Del Terrorismo En El Turismo Internacional
La Influencia Del Terrorismo En El Turismo Internacionalsara
 
Atelier Les chiffres sont mes alliés
Atelier Les chiffres sont mes alliésAtelier Les chiffres sont mes alliés
Atelier Les chiffres sont mes alliéscciducher
 
Mi Vida Durante La Primer Parte Del AñO
Mi Vida Durante La Primer Parte Del AñOMi Vida Durante La Primer Parte Del AñO
Mi Vida Durante La Primer Parte Del AñOguest7bc89eb3
 
TIPOS DE INFORMACION MULTIMEDIA
TIPOS DE INFORMACION MULTIMEDIATIPOS DE INFORMACION MULTIMEDIA
TIPOS DE INFORMACION MULTIMEDIAtatiana
 

Andere mochten auch (20)

Presentaciondel Curso
Presentaciondel CursoPresentaciondel Curso
Presentaciondel Curso
 
examen
examenexamen
examen
 
Web2.0
Web2.0Web2.0
Web2.0
 
Trabajo En Equipo 01
Trabajo En Equipo 01Trabajo En Equipo 01
Trabajo En Equipo 01
 
PresentacióN Cummuy 16.09.09
PresentacióN Cummuy 16.09.09PresentacióN Cummuy 16.09.09
PresentacióN Cummuy 16.09.09
 
Slae
SlaeSlae
Slae
 
El Show Del Aburrimiento Lectura Lacano Cambios
El Show Del Aburrimiento Lectura Lacano CambiosEl Show Del Aburrimiento Lectura Lacano Cambios
El Show Del Aburrimiento Lectura Lacano Cambios
 
Guiarapidavideomoodle
GuiarapidavideomoodleGuiarapidavideomoodle
Guiarapidavideomoodle
 
Etapa 2 Web 2.0
Etapa 2   Web 2.0Etapa 2   Web 2.0
Etapa 2 Web 2.0
 
Nevada En Torrejon
Nevada En TorrejonNevada En Torrejon
Nevada En Torrejon
 
Planificación de una cobertura para medios digitales
Planificación de una cobertura para medios digitalesPlanificación de una cobertura para medios digitales
Planificación de una cobertura para medios digitales
 
La Gran Depression et le Crack 29
La Gran Depression et le Crack 29La Gran Depression et le Crack 29
La Gran Depression et le Crack 29
 
51 Aniversario de la FTCCP
51 Aniversario de la FTCCP51 Aniversario de la FTCCP
51 Aniversario de la FTCCP
 
Proyecto Video Folletos 2010 Ok
Proyecto Video Folletos 2010 OkProyecto Video Folletos 2010 Ok
Proyecto Video Folletos 2010 Ok
 
Angie M
Angie MAngie M
Angie M
 
La EducacióN Del Futuro
La EducacióN Del FuturoLa EducacióN Del Futuro
La EducacióN Del Futuro
 
La Influencia Del Terrorismo En El Turismo Internacional
La Influencia Del Terrorismo En El Turismo InternacionalLa Influencia Del Terrorismo En El Turismo Internacional
La Influencia Del Terrorismo En El Turismo Internacional
 
Atelier Les chiffres sont mes alliés
Atelier Les chiffres sont mes alliésAtelier Les chiffres sont mes alliés
Atelier Les chiffres sont mes alliés
 
Mi Vida Durante La Primer Parte Del AñO
Mi Vida Durante La Primer Parte Del AñOMi Vida Durante La Primer Parte Del AñO
Mi Vida Durante La Primer Parte Del AñO
 
TIPOS DE INFORMACION MULTIMEDIA
TIPOS DE INFORMACION MULTIMEDIATIPOS DE INFORMACION MULTIMEDIA
TIPOS DE INFORMACION MULTIMEDIA
 

Mehr von Microsoft Argentina y Uruguay [Official Space]

Mehr von Microsoft Argentina y Uruguay [Official Space] (20)

CodeCamp 2010 | Diez formas de escribir código (in)seguro
CodeCamp 2010 | Diez formas de escribir código (in)seguroCodeCamp 2010 | Diez formas de escribir código (in)seguro
CodeCamp 2010 | Diez formas de escribir código (in)seguro
 
CodeCamp 2010 | Efectos especiales con Silverlight
CodeCamp 2010 | Efectos especiales con SilverlightCodeCamp 2010 | Efectos especiales con Silverlight
CodeCamp 2010 | Efectos especiales con Silverlight
 
CodeCamp 2010 | FBI- Fácil Business Intelligence
CodeCamp 2010 | FBI- Fácil Business IntelligenceCodeCamp 2010 | FBI- Fácil Business Intelligence
CodeCamp 2010 | FBI- Fácil Business Intelligence
 
CodeCamp 2010 | Hyper-V en Windows Server 2008 R2 e interoperabilidad con Linux
CodeCamp 2010 | Hyper-V en Windows  Server 2008 R2 e interoperabilidad con LinuxCodeCamp 2010 | Hyper-V en Windows  Server 2008 R2 e interoperabilidad con Linux
CodeCamp 2010 | Hyper-V en Windows Server 2008 R2 e interoperabilidad con Linux
 
CodeCamp 2010 | Productividad mas allá de la velocidad de tus dedos (cazzulin...
CodeCamp 2010 | Productividad mas allá de la velocidad de tus dedos (cazzulin...CodeCamp 2010 | Productividad mas allá de la velocidad de tus dedos (cazzulin...
CodeCamp 2010 | Productividad mas allá de la velocidad de tus dedos (cazzulin...
 
CodeCamp 2010 | Un paseo por WCF 4.0
CodeCamp 2010 | Un paseo por WCF 4.0CodeCamp 2010 | Un paseo por WCF 4.0
CodeCamp 2010 | Un paseo por WCF 4.0
 
CodeCamp 2010 | Desarrollo de videojuegos fuera de control
CodeCamp 2010 | Desarrollo de videojuegos fuera de controlCodeCamp 2010 | Desarrollo de videojuegos fuera de control
CodeCamp 2010 | Desarrollo de videojuegos fuera de control
 
CodeCamp 2010 | Recorriendo ocs 2010
CodeCamp 2010 | Recorriendo ocs 2010CodeCamp 2010 | Recorriendo ocs 2010
CodeCamp 2010 | Recorriendo ocs 2010
 
Novedades de vs 2010 y net 40
Novedades de vs 2010 y net 40Novedades de vs 2010 y net 40
Novedades de vs 2010 y net 40
 
Run 2 0 keynote azure
Run 2 0 keynote azureRun 2 0 keynote azure
Run 2 0 keynote azure
 
Run 20 Track SQL Server
Run 20 Track SQL ServerRun 20 Track SQL Server
Run 20 Track SQL Server
 
Run 20 programando sobre sharepoint 2010
Run 20 programando sobre sharepoint 2010Run 20 programando sobre sharepoint 2010
Run 20 programando sobre sharepoint 2010
 
(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0
(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0
(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0
 
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Visión técnica
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Visión técnica(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Visión técnica
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Visión técnica
 
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Services 3
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Services 3(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Services 3
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Services 3
 
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Moss
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Moss(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Moss
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Moss
 
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Mapa De Ruta
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Mapa De Ruta(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Mapa De Ruta
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Mapa De Ruta
 
(27.05) MOSSCA Invita - Búsqueda empresarial 2
(27.05) MOSSCA Invita - Búsqueda empresarial 2(27.05) MOSSCA Invita - Búsqueda empresarial 2
(27.05) MOSSCA Invita - Búsqueda empresarial 2
 
(27.05) MOSSCA Invita - Búsqueda empresarial 1
(27.05) MOSSCA Invita - Búsqueda empresarial 1(27.05) MOSSCA Invita - Búsqueda empresarial 1
(27.05) MOSSCA Invita - Búsqueda empresarial 1
 
(25.03) RUN 09 - Sesiones Desarrollo - Azure Live
(25.03) RUN 09 - Sesiones Desarrollo - Azure Live(25.03) RUN 09 - Sesiones Desarrollo - Azure Live
(25.03) RUN 09 - Sesiones Desarrollo - Azure Live
 

Kürzlich hochgeladen

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 

Kürzlich hochgeladen (13)

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 

[Code Camp 2009] Monos Y Manzanas - Aplicaciones .NET Para MAC (Pablo Zaidenvoren + Sergio Borromei)

  • 1. Monos y Manzanas: Aplicaciones. Net para MAC
  • 2. Motivaciones ¿Por qué desarrollar .NET en Mac? Portar código existente usando elementos gráficos nativos Las herramientas nativas tienen una curva de aprendizaje pronunciada Salto similar de C# a C++ .NET Rocks! La plataforma de desarrollo mas completa de la actualidad
  • 4. http://go-mono.com Proyecto open-source iniciado en 2001 Patrocinado por Novell (si…. Los mismos del NetWare) ECMA compliant. Inicialmente proveía una implementación del CLR y C# para Unix Hoy incluye soporte para: Mac OS X, Linux, BSD, SunSolaris, NintendoWii, Sony Playstation 3 y también Windows X86, x86-64, ARM, s390, PowerPC, SPARC, IA64, Alpha, MIPPS, HPPA C#, VB, F#,Java, Boo, Nemerle, Python, Jscript, Oberon, PHP, Object Pascal, LUA, Cobra, Smalltalk
  • 5. Alcances .NET 2.0 Feature Complete .NET 3.0 / 3.5 Soporte básico WCF Silverlight Compilador 100% compatible “code once runanywhere”
  • 6. Limitaciones WPF / WWF pre-alphastate Comingsoon…. LINQ 2 SQL Si hay LINQ Entity Framework Debugger En realidad una limitación de Mono-Develop Aunque siempre se puede usar el de Visual Studio 
  • 7. Arquitectura Tu Aplicación .NET en C#, VB, etc Librerías .NET (System.*) CLR Mono CLR Windows Sistema Operativo
  • 8. Bridge entre las librerías .NET y las APIs de Objective-C / Max OS-X Open-source Desarrollado en .NET Compatible con Tiger y Leopard Soporte para Intel y PowerPC
  • 9. Cocoa Webkit DiskRecording ImageKit Mono CLR Monobjc OpenGL PDF QuickTime Security Otras
  • 10. Otras herramientas MoMA Mono MigrationAnalyzer Monotouch Equivalente de Monobjc para iPhone
  • 14. Estrategia de Desarrollo Desarrollar la lógica en Visual Studio!! Heredar de NSObject para exponer las clases al runtime de ObjectiveC Utilizar los atributo [ObjectiveCClass] y [ObjectiveCMessage] para exponer métodos y propiedades Xcopy de assemblies a Mac Desarrollar la UI con Interface Builder Binding de la UI utilizando el patrón MVC
  • 15. Demo
  • 16. Consideraciones Para que las clases sean visualizables por el runtime de ObjectiveC , deben : Tener el atributo [ObjectiveCClass] Heredar de NSObject Para que las propiedades sean “bindeables” hay que agregarles el atributo [ObjectiveCMessage([mensaje])] Para el get basta ponerle el nombre de la propiedad Para el set hay que usar “set[Propiedad]:”

Hinweis der Redaktion

  1. Mostrar lo feo que se ve una aplicación portada a mac con elementos gráficos de Windows- Mostrar elementos graficos nativos de MacMostrar lo feo que es programar código nativo de Mac
  2. MostrarXcodeMostrar Interface BuilderMonoDevelopHacer un rápido Hola Mundo
  3. Ecma International - European association for standardizing information and communication systems.European Computer Manufacturers Association
  4. Aclarar que no tiene mucho sentido hacer una app. Web ya que la plataforma natural es IIS. Si lo hicieramos en macnecesitariamos otro web server (ej. Apache) que soporte el modulo de mono.
  5. Aclarar que no tiene mucho sentido hacer una app. Web ya que la plataforma natural es IIS. Si lo hicieramos en macnecesitariamos otro web server (ej. Apache) que soporte el modulo de mono.
  6. Aclarar que no tiene mucho sentido hacer una app. Web ya que la plataforma natural es IIS. Si lo hicieramos en macnecesitariamos otro web server (ej. Apache) que soporte el modulo de mono.