Pero para que se acostumbren a codificar bien, y tengan una idea de como usar MoMA, aquí esta una pequeña guia, ¡espero que les sea de utilidad!
Recordemos que la verdadera prueba resulta al correr tu aplicación sin problemas en Mono.
nota aclaratoria: las capturas de pantallas ajustadas a menor tamaño no son tan importantes o interesantes como las de tamaño "grande", esto es claro, bajo el criterio del autor. Como siempre, pueden dar click a cualquier imagen para verla en tamaño real.
Guía ejemplo de uso de MoMA:
1.0 Descargando MoMA
Puedes descargar MoMA de http://www.mono-project.com/Moma , luego ve a la seccion de descargas "Download" y allí encontraras el vinculo de descarga.
"Captura de pantalla del sitio web de MoMA con el URL marcado (muy marcado) para descargarlo"
Recuerden que MoMA necesita el framwork .NET 2.0 ó Mono 1.2+, como solo estoy usando GNU\Linux, usare Mono para correr MoMA.
1.1 Ejecutando MoMA
Después de descargar el archivo .Zip de MoMA, extraemos su contenido y podremos ver lo siguiente:
Ahi estan los archivos que necesitamos, muchos diran: ah!, son simples ejecutables de windows. Pues noooo, estos archivos "exe" estan compilados en un lenguaje intermedio (como el bytecode de Java) llamado MSIL (MicroSoft Intermedium Languaje). Y las extensiones "exe" y "dll" pues solo son extensiones re utilizadas.
Vamos a usar Mono para correr/interpretar/compilar (como le quieran decir) el archivo "MoMA.exe".
Abrimos una consola (en mi caso usare Konsole) y nos vamos a la carpeta donde se encuentra "MoMA.exe", ahi ejecutamos el comando:
Y si todo sale bien, pues podremos ver la ventana de MoMA en nuestra pantalla:
1.1 Ejecutando MoMA
Después de descargar el archivo .Zip de MoMA, extraemos su contenido y podremos ver lo siguiente:
Ahi estan los archivos que necesitamos, muchos diran: ah!, son simples ejecutables de windows. Pues noooo, estos archivos "exe" estan compilados en un lenguaje intermedio (como el bytecode de Java) llamado MSIL (MicroSoft Intermedium Languaje). Y las extensiones "exe" y "dll" pues solo son extensiones re utilizadas.
Vamos a usar Mono para correr/interpretar/compilar (como le quieran decir) el archivo "MoMA.exe".
Abrimos una consola (en mi caso usare Konsole) y nos vamos a la carpeta donde se encuentra "MoMA.exe", ahi ejecutamos el comando:
mono MoMA.exeAquí hay una captura por si se pierden:
Y si todo sale bien, pues podremos ver la ventana de MoMA en nuestra pantalla:
"Captura de MoMA en GNU\Linux, usando KDE como Desktop Manager"
1.2 Usando MoMA
Para usar MoMA solo necesitamos ejecutables hechos con el Framework .NET y dar unos cuantos clicks.
Yo usare de ejemplo la librería de un amigo para comprobar si puede ser ejecutado o no con Mono. Ustedes pueden usar cualquier otro compilado (el que ustedes quieran) que corra en el Framework .NET 1.0 y 2.0, y que evidentemente no sea una librería especifica a la plataforma o parte de .NET (como System.dll). Esta es la librería CustomDataSource(CDS) Ver.1.0 de Roberto Linares, que puede ser encontrada aquí.
En el paso 2 (de 4) de MoMA, podemos agregar uno o varios ejecutables hechos con el Framework .NET, asi que despues de descargar los binarios de CDS, y extraerlos en mi escritorio, agregare el archivo "CrypterClassLib.dll" dando click en el boton con signo "+" y luego eligiendo el/los archivo a agregar, asi:
Ya con la lista de archivos que seran analizados, pues solo basta dar click en "Next"; para que MoMA analize el ejecutable y podamos ver un resumen de compatibilidad del archivo con mono. Al final obtendremos un resultado como este:
En este paso (3 de 4) podemos ver que en el análisis general, el .dll analizado paso las pruebas con exito.
Asi que en teoria, el archivo "CrypterClassLib.dll" puede ejecutarse sin problemas con el Mono Framwork.
Vaya Roberto... te salvaste del bochorno publico jaja ;)
Pero... ¿Que sucede cuando TODO sale mal?
1.2 Usando MoMA
Para usar MoMA solo necesitamos ejecutables hechos con el Framework .NET y dar unos cuantos clicks.
Yo usare de ejemplo la librería de un amigo para comprobar si puede ser ejecutado o no con Mono. Ustedes pueden usar cualquier otro compilado (el que ustedes quieran) que corra en el Framework .NET 1.0 y 2.0, y que evidentemente no sea una librería especifica a la plataforma o parte de .NET (como System.dll). Esta es la librería CustomDataSource(CDS) Ver.1.0 de Roberto Linares, que puede ser encontrada aquí.
En el paso 2 (de 4) de MoMA, podemos agregar uno o varios ejecutables hechos con el Framework .NET, asi que despues de descargar los binarios de CDS, y extraerlos en mi escritorio, agregare el archivo "CrypterClassLib.dll" dando click en el boton con signo "+" y luego eligiendo el/los archivo a agregar, asi:
Ya con la lista de archivos que seran analizados, pues solo basta dar click en "Next"; para que MoMA analize el ejecutable y podamos ver un resumen de compatibilidad del archivo con mono. Al final obtendremos un resultado como este:
En este paso (3 de 4) podemos ver que en el análisis general, el .dll analizado paso las pruebas con exito.
Asi que en teoria, el archivo "CrypterClassLib.dll" puede ejecutarse sin problemas con el Mono Framwork.
Vaya Roberto... te salvaste del bochorno publico jaja ;)
Pero... ¿Que sucede cuando TODO sale mal?
"Captura de Pantalla, ¡OH NO!"
Bien, si sucede algo tragico como lo muestra la captura anterior, o peor... pues MoMA genera un util reporte (paso 4 de 4) que muestra de manera general, que se puede hacer para combatir esta incompatibilidad.
Con este reporte en mano y teniendo en cuenta ciertos tips de migracion/codificacion seremos capaces de migrar una aplicacion casi (especulativamente) sin problemas de un S.O. a otro.
1.3 Consideraciones finales
No olviden enviar el reporte (sea bueno o malo) de compatibilidad que genera MoMA (MoMA lo envia automáticamente):
Esto ayuda para que los desarrolladores de Mono coloquen especial énfasis en los problemas mas comunes de compatibilidad encontrados, es tan fácil como dar un click al botón "Submit Report".
Una guía mas completa y extensa para corregir problemas de interoperabilidad puede ser hallada aquí.
Hasta Luego!
Con este reporte en mano y teniendo en cuenta ciertos tips de migracion/codificacion seremos capaces de migrar una aplicacion casi (especulativamente) sin problemas de un S.O. a otro.
1.3 Consideraciones finales
No olviden enviar el reporte (sea bueno o malo) de compatibilidad que genera MoMA (MoMA lo envia automáticamente):
Esto ayuda para que los desarrolladores de Mono coloquen especial énfasis en los problemas mas comunes de compatibilidad encontrados, es tan fácil como dar un click al botón "Submit Report".
Una guía mas completa y extensa para corregir problemas de interoperabilidad puede ser hallada aquí.
Hasta Luego!
mono .net microsoft linux gnu software desarrollo moma