0
Comments

On Tail Recursion por Juan M Gómez

La recursión es una forma de resolver problemas típicamente asociada a los lenguajes de programación funcionales, donde en ocasiones se carece de estructuras tipo bucle. La idea de la recursión se fundamenta en resolver un problema mediante pequeñas instancias del mismo problema. En FSharp, dada la herencia de OCAML y la utilización del algoritmo de inferencia Hindley-Milner , se utiliza la palabra reservada rec para definir una función recursiva....
Archivado en: ,
0
Comments

Creando un TypeProvider por Juan M Gómez

En la entrada anterior vimos qué era un TypeProvider y cómo funcionaba. Ahora vamos a ver cómo crear uno. Lo primero que tenemos que tener en cuenta a la hora de crear un TypeProvider es tener un esquema de datos, y que además, este sea fijo y no cambie a lo largo de la ejecución de nuestro programa. Teniendo esto claro, podemos proceder a crear una nueva solución y le añadimos un proyecto de librería. Hay un paquete en nuget que nos ayudará...
Archivado en: ,
0
Comments

Conociendo los Type Providers por Juan M Gómez

¿Qué son? Muy resumidamente, los Type Providers (TP) son componentes que exponen metadatos al compilador de F# de forma que sean visibles como tipos, métodos y propiedades de .NET. En el fondo es un proceso de Generación Automática de Código (GAC) pero con algunas diferencias de como se ha venido haciendo tradicionalmente: El TP es invocado implícitamente durante la compilación. A diferencia de la GAC tradicional que generalmente el código...
Archivado en:
0
Comments

MvvmCross: Manejando notificaciones locales en Android por Juan M Gómez

El Manejo de notificaciones locales en Android es diferente que en iOS, por lo que el código no es multiplataforma. En MvvmCross me gusta manejar ese tipo de escenarios en un Plugin propio , pero esta vez , para mantener el post breve voy a dejar el código en la Activity que generó la notificación (puedes leer la entrada en inglés aquí: http://jmgomez.me/mvvmcross-handling-notification-clicks ). Digamos que queremos mostrar una notificación cuando...
2
Comments

Programación funcional en CSharp, algunas pinceladas: por Juan M Gómez

Sí, es cierto que si tenemos que clasificar a CSharp en un paradigma, este sería orientado a objetos. Pero desde .NET 3.5 con la inclusión de LINQ, o incluso antes, en .NET 2.0 (si no recuerdo mal) con la inclusión de los genéricos, el lenguaje ha ido añadiendo más componentes del paradigma funcional. En este post voy a intentar describir algunas (y sólo algunas) de las ventajas del paradigma funcional aplicado a CSharp, sin intención...
0
Comments

Alcanzando la nirvana: MvvmCross + FSharp + iOS Development por Juan M Gómez

Introduccion En este ocasión quiero mostrar de la manera más simple posible cómo combinar tres de mis tecnologías favoritas: MvvmCross, Xamarin.iOS y Fsharp. Mi intención es mantener el ejemplo lo más simple posible, así que me he basado en el ejemplo más simple de mvvmcross que podemos encontrar en CSharp ( link ) You can read this article in English here: jmgomez.me Configurando el entorno Lo primero que debemos hacer es configurar el entorno...
Archivado en: ,,
0
Comments

Novedades de la Xamarin Evolve por Juan M Gómez

Hoy ha terminado la Xamarin Evolve, o al menos lo más interesante, las novedades. No suelo escribir noticias, pero sin que sirva de precedente, esta vez los resultados bien valen la pena mencionarlos a bombo y platillo. C# 5 O lo que es lo mismo, ¡Mono 3 disponible para todas las plataformas! Esto es genial porque como sabéis Mono 3 incluye c# 5 que a su vez incluye como mayor feature async/await. Aún más fácil escribir código asíncrono y sobre...
Archivado en:
0
Comments

Orchard Harvest por Juan M Gómez

Dentro de poco, el 13 y 14 de Junio, se celebrará la Orchard Harvest en Ámsterdam. Es la segunda que se celebra y la primera en europa, en ella estarán los máximos responsables de la comunidad de Orchard y es una gran ocasión para hacer networking y conocer en persona a los miemrbos más destacados de la comunidad de Orchard. Por supuesto, allí estaremos algunos miembros de la comunidad hispana también, si quieres unirte ¡pásate...
Archivado en: ,
0
Comments

Testeando componentes en iOS por Juan M Gómez

Desde que se anunció Xamarin 2.0 testear nuestras aplicaciones Xamarin.iOS desde Visual Studio ha sido más fácil que nunca, o al menos, no más difícil que cualquier otra aplicación que desarrollemos con Visual Studio, esto es: usar nuestras librerías de testing favoritas, nuestra librería de mocking de preferida y sobre todo, nuestro runner de siempre. Por norma general testeamos el dominio de nuestra aplicación y por esta razón...
1
Comments

MvvmCross un framework para dominarlos a todos por Juan M Gómez

MvvmCross nace de una necesidad, una necesidad de llevar el desarrollo móvil multiplataforma al siguiente nivel. La idea principal de MvvmCross es llevar el patrón MVVM al desarrollo para iOS y Android, manteniendo tu código (Model y ViewModel) en una sola librería y reimplementando la Vista en cada plataforma. Como os decía, hoy voy a hablaros del siguiente nivel en el desarrollo móvil multiplataforma.

...
0
Comments

Consola interactiva de C# por Juan M Gómez

Una de las cosas que más me llama la atención de F# (después de su paradigma) es la consola interactiva que trae, me parece de una utilidad extrema. Bueno, pues el proyecto Roslyn que grosso modo nos permite interactuar con el compilador (extraer información de archivos de código, visualizar el árbol de sintaxis, etc.) incorpora una consola interactiva. Os lo podéis descargar de aquí . Una vez instalada vamos a View->Other Windows->C# Interactive (Ver->Otras ventanas-> X) o pulsando crtl...
Archivado en:
0
Comments

Desarrollando para iOS desde VisualStudio 2012 con MonoTouch por Juan M Gómez

Hace un tiempo encontré en GitHub una extensión para Visual Studio que si bien no permite ejecutar el emulador de iOS en Visual Studio (básicamente por lo integrado que está Cocoa en OSX), sí que nos permite desarrollar para MonoTouch usando como principal IDE VisualStudio, incluso permite compilar las librerías. Básicamente lo que hace es añadir las referencias de las librerías de MonoTouch por nosotros (podríamos hacerlo manualmente, pero francamente, es un coñazo). Bien, la extensión en cuestión...
Archivado en: ,
1
Comments

¡Preprocesador de plantillas Razor! por Juan M Gómez

Los chicos de Xamarin no dejan de sorprender, si el otro día Lluis Sanchez presentó la increíble herramienta XWT , hoy es el turno de Michael Hutchinson presentando el preprocesador de plantillas Razor. Lo he probado, y es una auténtica pasada. En su blog podemos ver una entrada (publicada hace un par de horas) de cómo usarla en un proyecto MonoTouch, y asegurando que sirve para prácticamente cualquier tipo de proyecto. Yo os haré una demostración en un proyecto de Consola. En primer lugar debemos...
0
Comments

Haciendo un sitio con Orchard multiidioma por Juan M Gómez

Orchard por defecto no soporta multilocalización o multiidioma, lo cual es comprensible porque sigue la máxima de no soportar aquello que no se utilice. Sin embargo, en un país no anglosajón, y más aún en un país dónde el turismo es uno de los principales sectores de nuestra actividad económica, debemos traducir nuestros sitios para intentar llegar a la máxima audiencia. En realidad no hay ninguna “best practice” para...
Archivado en:
1
Comments

Coste de las operaciones. por Juan M Gómez

Motivado por la excelente entrada de Eduard Tomàs, El orden de los algoritmos... esa gran O . Hoy os traigo una pequeña tabla que he confeccionado, intentando mantener la simplicidad, de los tipos de datos más comunes y el coste asintótico de las operaciones habituales. Grosso modo estas son las colecciones más usadas y sus costes de las implementaciones más comunes (hay más), como vemos depende de la situación. Por ejemplo, ante la duda de...
Archivado en:
0
Comments

¡OrchardHispano ha nacido! por Juan M Gómez

Hoy hemos creado la comunidad hispana de Orchard. Como la mayoría sabréis Orchard es un CMS que corre encima de ASP.NET MVC 4 y está apoyado por Microsoft, de hecho, nació en Redmond. Por ahora sólo somos unos cuantos, pero estoy seguro que pronto se unirá más gente y formaremos una gran comunidad alrededor de este excelente CMS. Tenemos mucho trabajo por hacer, pero también tenemos mucha ilusión por este nuevo proyecto. Así que...
Archivado en:
0
Comments

[MonoTouch. How to.. Usar TableViewController II CustomCell] por Juan M Gómez

En mi última entrada vimos cómo crear un TableViewController para mostrar nuestros datos en forma de lista, y como plantilla para mostrar los datos elegimos la que viene por defecto. Hoy vamos a ver cómo crear nuestra propia plantilla. Partimos del proyecto que habíamos creado en la serie anterior “ProbandoTableViewController” y lo primero que haremos será añadir una nueva vista a nuestro proyecto. Por tanto, añadimos iPhoneView (que no...
Archivado en:
1
Comments

[How to… Usar Table Controller] por Juan M Gómez

[Entrada recuperada de Mono-Hispano] En esta entrada vamos a ver cómo podemos crear un Table Controller. El Table Controller grosso modo es el equivalente a un GRID. Lo primero que debemos hacer, como viene siendo costumbre, es crear un proyecto nuevo al que denominaremos ProbandoTableController. Una vez tenemos nuestra solución, añadimos al proyecto un IphoneViewController y lo llamamos TableViewControllerMain. Vamos a TableViewControllerMain.cs y sustituimos la clase de la que deriva por UITableViewController...
Archivado en:
0
Comments

Una introducción a los estilos arquitectónicos por Juan M Gómez

Si te interesa la arquitectura del software, hoy traigo un documento An Introduction to Software Architecture que es una buena introducción a los distintos estilos arquitectónicos. Dejo algunos ejemplos de estilos de los que se tratan en el texto: Pipes and Filters Creo que el ejemplo más claro proviene del mundo de los sistemas operativos, y son los comandos de consola. Por ejemplo de UNIX. ¿Quién no ha usado alguna vez una “tubería”? Data Abstraction...
0
Comments

Vici CoolStorage un ORM ligero Cross Platform para MonoTouch, WP7 y MonoDroid por Juan M Gómez

Sin duda una de las tecnologías que como desarrollador han mejorado mi productividad son los ORM. Hoy vengo a hablaros de Vici.CoolStorage un ORM cross platform para MonoTouch, MonoDroid y WP7 (y seguramente W8). Podéis descargarlo desde la página del proyecto . Voy a ilustrar un ejemplo con MonoTouch en el que tendremos una clase persona: [MapTo( "Persona" )] public class Persona : CSObject<Persona, int >{ public int Id { get; set; } public string Nombre { get; set; } public string...
Archivado en: ,,
Más artículos Página siguiente >