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

Post on 02-Jul-2015

982 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

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

Alcances

.NET 2.0 Feature Complete

.NET 3.0 / 3.5

Soporte básico WCF

Silverlight

Compilador 100% compatible

“code once run anywhere”

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

Windows

CLR

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

Librerías .NET (System.*)

Arquitectura

Sistema Operativo

Mono CLR

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

Mono

CLRMonobjc

Cocoa

Webkit

DiskRecording

ImageKit

OpenGL

PDF

QuickTime

Security

Otras

Otras herramientas

MoMA

Mono Migration Analyzer

Monotouch

Equivalente de Monobjc para iPhone

Tipos de Aplicación

Tipos de Aplicación

Tipos de Aplicación

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

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

top related