[code camp 2009] monos y manzanas - aplicaciones .net para mac (pablo zaidenvoren + sergio borromei)

18

Upload: microsoft-argentina-y-uruguay-official-space

Post on 02-Jul-2015

982 views

Category:

Technology


1 download

DESCRIPTION

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

TRANSCRIPT

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

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

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

Herramientas

XCode Interface Builder

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

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, Sun Solaris, Nintendo Wii, 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

http://go-mono.com

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

Alcances

.NET 2.0 Feature Complete

.NET 3.0 / 3.5

Soporte básico WCF

Silverlight

Compilador 100% compatible

“code once run anywhere”

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

Limitaciones

WPF / WWF pre-alpha state

Coming soon….

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

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

Windows

CLR

Tu Aplicación .NET en C#, VB, etc

Librerías .NET (System.*)

Arquitectura

Sistema Operativo

Mono CLR

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

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

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

Mono

CLRMonobjc

Cocoa

Webkit

DiskRecording

ImageKit

OpenGL

PDF

QuickTime

Security

Otras

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

Otras herramientas

MoMA

Mono Migration Analyzer

Monotouch

Equivalente de Monobjc para iPhone

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

Tipos de Aplicación

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

Tipos de Aplicación

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

Tipos de Aplicación

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

Estrategia de Desarrollo

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

2. Xcopy de assemblies a Mac

3. Desarrollar la UI con Interface Builder

4. Binding de la UI utilizando el patrón MVC

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

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]:”

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