mono codebits
DESCRIPTION
TRANSCRIPT
SAPO Codebits13 Novembro 2008
Andreia Gaita
Mono e C# no desktopOpen Source .NET
www.mono-project.com 2
O que é o Mono?
Implementação open source dos standards ECMA 334 (C#) e ECMA 335 (CLR)Conjunto de bibliotecas de suporte
www.mono-project.com 3
As peças
Mono Runtime
Microsoft Compatibility Libraries Mono Libraries
ASP.NET
ADO.NET
Windows.Forms
Java Compatibility
Managed D-Bus
Evolution#
Gnome#
Novell.LDAP
Rendezvous: mDNS
GTK#
Apache Mono
WebKit#
MySQL/Postgress/ZipLib
Compilers and Tools
www.mono-project.com 4
Motivações
Aumento de produtividade−Uma plataforma moderna
−Uma linguagem de alto nível, genérica e flexível
−Um ambiente managed
Simplificação−Suporta muitas linguagens
−Reutilização de APIs
O Mono é agora a plataforma de escolha para algumas das mais inovadoras aplicações no
desktop.
www.mono-project.com 5
Vantagens
Portabilidade−Sistemas OperativosFamília UNIX: Linux, OSX, Solaris, BSDs...Família Windows: NT, 2000, XP
−Arquitecturasx86, PowerPC, Amd64, Sparc, s390, IA64, ARM, Alpha, MIPSSuporte 64 bit
Desenvolvimento constante−Mais de 300 contribuidores
−Comunidade aberta
−34 programadores a tempo inteiro
www.mono-project.com 6
Licenças abertas
O núcleo (runtime, VM, JIT) é LGPL−É mesmo Software Aberto: modificações têm que ser partilhadas
Algumas ferramentas e aplicações chave são GPL−GAPI
−MonoDevelop
O resto é MIT X11−Compilador
−Class libraries
www.mono-project.com 7
O Mono hoje
Mono 2.0−.NET 2.0 completoC# 2.0 (nullable types, generics)ASP.NET 2.0ADO.NET 2.0Windows.Forms 2.0
−C# 3.0 LINQ e LINQ to XML
−Compilador VB.NET (com generics)
−Verificador IL
−Debugger (linha de comandos)
www.mono-project.com 8
O Mono amanhã
Novo JIT linear
ASP.NET 3.5
MonoDevelop 2.0 com GUI debugging
Remote debugging
Silverlight 2.0
Novo GC generacional
www.mono-project.com 9
Projectos paralelos
Monodevelop−IDE em C#
Mono debugger
Integração Java através do IKVM
Olive (.NET 3.0)
O
Gtk#
MoMA
www.mono-project.com 10
Mono & Mobile
Suporta vários dispositivos baseados em LinuxArquitectura ARM é a mais comumJIT optimizado para ARM
www.mono-project.com 11
Moonlight
Implementação oficial do Silverlight para LinuxSilverlight 1.0 é uma tecnologia para a Web−Browser plugin com acesso ao DOM
−API simples
−Motor gráfico, suporte para vídeo
O Silverlight 1.1 acrescenta:−Acesso mais completo ao runtime .NET
−Através do DLR, permite scripting com Javascript, Ruby, Python...
−... e qualquer outra linguagem suportada pelo .NET!
Com o Mono, é possível correr aplicações Silverlight no desktop
www.mono-project.com 12
Moonlight
www.mono-project.com 13
Bindings
WebKitGTK+Managed D-Busgnome-desktopZeroconfCairoOpenGLGIMPTaglibe muito mais...
www.mono-project.com 14
Aplicações
www.mono-project.com 15
Tomboy
Aplicação para tomar notas, com suporte de pesquisa, WikiWords, correcção de texto, exportação, plugins...
www.mono-project.com 16
F-Spot
Uma gestão simples e eficaz do seu catálogo pessoal de fotografias, com ferramentas de correcção e exportação directa
para os sites mais populares.
www.mono-project.com 17
Banshee
Gestão de música, vídeos, podcasts, suporta internet radio, sincroniza para iPod, só não faz café.
www.mono-project.com 18
Monsoon
Cliente de torrents em Gtk#, baseado na biblioteca MonoTorrent (também em C#)
www.mono-project.com 19
Tasque
Um gestor de tarefas que suporta múltiplos backends, para partilhar tarefas com outras aplicações.
www.mono-project.com 20
GNOME Do
Um poderoso controlo remoto para o desktop. Não só corre aplicações, como também permite enviar mensagens, pesquisar
no desktop e na net, enviar emails, tocar música...
www.mono-project.com 21
Como descobrir mais...
www.mono-project.com 22
Por onde anda a comunidade
Site−www.mono-project.com
IRC−irc.gnome.org - #mono, #monodev, #moonlight
Mailing Lists−www.go-mono.com/forums
−www.mono-project.com/Mailing_Lists
Blogs−http://www.go-mono.com/monologue
YAY PONIES!!