1. Mono e C# no desktop
Open Source .NET
13 Novembro 2008
SAPO Codebits
Andreia Gaita
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 2
3. As peças
Java Compatibility
ASP.NET
Managed D-Bus
Evolution#
ADO.NET
GTK#
Gnome#
Windows.Forms
Novell.LDAP
Rendezvous: mDNS
MySQL/Postgress/ZipLib
Apache Mono
WebKit#
Microsoft Compatibility Libraries
Mono Libraries
Compilers and Tools
Mono Runtime
www.mono-project.com 3
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 4
5. Vantagens
Portabilidade
−Sistemas Operativos
Família UNIX: Linux, OSX, Solaris, BSDs...
Família Windows: NT, 2000, XP
−Arquitecturas
x86, PowerPC, Amd64, Sparc, s390, IA64, ARM, Alpha, MIPS
Suporte 64 bit
Desenvolvimento constante
−Mais de 300 contribuidores
−Comunidade aberta
−34 programadores a tempo inteiro
www.mono-project.com 5
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 6
7. O Mono hoje
Mono 2.0
−.NET 2.0 completo
C# 2.0 (nullable types, generics)
ASP.NET 2.0
ADO.NET 2.0
Windows.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 7
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 8
9. Projectos paralelos
Monodevelop
−IDE em C#
Mono debugger
Integração Java através
do IKVM
Olive (.NET 3.0)
Gtk#
MoMA
www.mono-project.com 9
10. Mono & Mobile
Suporta vários dispositivos baseados em Linux
Arquitectura ARM é a mais comum
JIT optimizado para ARM
www.mono-project.com 10
11. Moonlight
Implementação oficial do Silverlight para Linux
Silverlight 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 11
15. Tomboy
Aplicação para tomar notas, com suporte de pesquisa,
WikiWords, correcção de texto, exportação, plugins...
www.mono-project.com 15
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 16
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 17
18. Monsoon
Cliente de torrents em Gtk#, baseado na biblioteca
MonoTorrent (também em C#)
www.mono-project.com 18
19. Tasque
Um gestor de tarefas que suporta múltiplos backends,
para partilhar tarefas com outras aplicações.
www.mono-project.com 19
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 20
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!!
www.mono-project.com 22