net open source
DESCRIPTION
Apresentação da palestra ".NET Open Source" apresentada no I Encontro de Usuários .NET da Paraíba.TRANSCRIPT
![Page 1: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/1.jpg)
Copyright © 2007 Vsoft Tecnologia
.NET Open Source
Alternativas a plataforma Microsoft .NET
Pedro Alves JuniorDiretor de DesenvolvimentoVsoft Tecnologia
![Page 2: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/2.jpg)
Copyright © 2007 Vsoft Tecnologia
Agenda
• .NET aberto• Frameworks alternativos • Ferramentas alternativas• Principais projetos• Java no .NET
![Page 3: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/3.jpg)
Copyright © 2007 Vsoft Tecnologia
.NET aberto
Padrões ECMA
• A Microsoft submeteu, desde a primeira versão, as especificações do C#, do ambiente de execução, dos metadados e outros variados pedaços da plataforma de desenvolvimento .NET para o ECMA padronizar (normatizar). • O ECMA (European Computers Manufactures Association) é um orgão de padronização europeu, muitas de suas padronizações tornam-se normas ISO.
![Page 4: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/4.jpg)
Copyright © 2007 Vsoft Tecnologia
Frameworks alternativos
Projeto Rotor
• Implementação criada pela própria Microsoft• Também conhecido como Source Common Language Infrastructure – SCLI• Funciona com:
• FreeBSD e MAC OS• Implementação de referência para padronização do C# e CLI (Common Language Infrastructure)• Comunidade acadêmica pode desenvolver seu próprio CLI e compilador C# baseado no Rotor• Licença não permite venda de novas versões• http://msdn.microsoft.com/net/sscli/
![Page 5: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/5.jpg)
Copyright © 2007 Vsoft Tecnologia
Frameworks alternativos
DotGNU
• Fundado por Richard M. Stallman (presidente da Free Software Foundation - FSF)• Iniciativa para desenvolver uma versão baseada em GNU/Linux como Software Livre, da plataforma .NET• Inclui:
• Implementação do CLI • Compilador C#
• Funciona com:• Windows, NetBSD, FreeBSD, Solaris, MAC OS e Linux
• Licença GPL• http://www.dotgnu.org
![Page 6: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/6.jpg)
Copyright © 2007 Vsoft Tecnologia
Frameworks alternativos
Mono
• Esforço da comunidade patrocinado pela Novell para implementação de um framework de desenvolvimento .NET• Inclui:
• Compiladores C# e VB.NET• CLI• CLR compatível com .NET e classes extras• ADO.NET, ASP.NET e Windows Forms• Roda .NET, Java, Python, Boo, Ruby e mais…
• Open Source e Free Software• Comercialmente suportado• Atualmente em uso comercial• http://www.mono-project.com
![Page 7: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/7.jpg)
Copyright © 2007 Vsoft Tecnologia
Frameworks alternativos
Mono
![Page 8: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/8.jpg)
Copyright © 2007 Vsoft Tecnologia
Frameworks alternativos
Mono
![Page 9: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/9.jpg)
Copyright © 2007 Vsoft Tecnologia
Frameworks alternativos
Mono
• Possui compatibilidade binária com Microsoft .NET• Roda .NET exe e DLLs• Somente .NET, mas não Win32• Você pode re-compilar com mcs mas você não precisa• Você encontrará no diretório do Mono:
–Arquivos .exe (mono application.exe)–Arquivos .dll–Bibliotecas compartilhadas–Arquivos de mapeamento
• Inclui suporte a GAC (Global Assembly Cache)–Proteção a DLL-Hell
![Page 10: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/10.jpg)
Copyright © 2007 Vsoft Tecnologia
Frameworks alternativos
Mono e Windows
• Mono também está disponível para Windows• Suporta:
• Co-host com Microsoft .NET• XSP (Webserver ASP.NET)• Gtk#/GTK+ para Windows• Plugin para Visual Studio .NET• Documentação• Desenvolvimento Gtk# (Glade)• …
![Page 11: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/11.jpg)
Copyright © 2007 Vsoft Tecnologia
Frameworks alternativos
ASP.NET no Mono
• Suporte a Web applications e Web services• XSP
• Servidor Web Standalone• Suporte a ASP.NET e HTML estático• Uso em desenvolvimento• Base para mod_mono
• mod_mono• Plugin para Apache (v1 e v2)• Usa Apache para todas as tarefas comuns de servidor web• Comunicação socket Unix
![Page 12: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/12.jpg)
Copyright © 2007 Vsoft Tecnologia
Frameworks alternativos
Mono e P/Invoke
• Suporte a Platform Invocation services• Suporte a código não seguro• …• Maior problema em portar de Windows para outras plataformas• O código nativo que você invoca em Windows existe em Linux?• MoMa – verificação de chamadas a APIs
![Page 13: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/13.jpg)
Copyright © 2007 Vsoft Tecnologia
Frameworks alternativos
Mono e componentes de terceiros
• Business Logic, GUI controls, Web Controls, Web services, Bibliotecas estáticas …• É uma implementação pura ou um wrapper de um componente ou código Windows?• É uma aplicação .NET limpa?• O time do Mono está trabalhando em uma certificação para provedores de componentes• MoMa – validação de componentes
![Page 14: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/14.jpg)
Copyright © 2007 Vsoft Tecnologia
Frameworks alternativos
Mono - IDEs
• Visual Studio .NET• http://www.mfcon.com/prj2make
• #Develop• http://www.icsharpcode.com/OpenSource/SD
• MonoDevelop• http:/www.monodevelop.com
• x-develop• http://www.x-develop.com
• Eclipse• http://www.improve-technologies.com/alpha/esharp
![Page 15: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/15.jpg)
Copyright © 2007 Vsoft Tecnologia
Frameworks alternativos
Mono e a Novell
• Novell patrocina projeto• Equipe de desenvolvedores
• Novell usa Mono em vários projetos• NLD, iFolder, iPrint, VO, Red Carpet/Zen, Beagle, F-Spot, Hula, Banshee, CASA, …
• Novell oferece suporte comercial e consultoria em Mono
![Page 16: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/16.jpg)
Copyright © 2007 Vsoft Tecnologia
Frameworks alternativos
Uso do Mono por outras empresas
• Inúmeras empresas no mundo todo já adotaram o Mono• Novell, Sandisk, Yahoo!, Metrosharp, Codice, MindTouch, Medsphere, VistaDB, Mainsoft, SourceGear, Coversant, Wikipedia, GovTrack.us, …
• Projetos dos mais variados tipos• Sansa MP3 player baseado em Mono• Virtuoso Universal Server• OTEE 3D Game Development System• SplendidCRM• VistaDB Database
![Page 17: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/17.jpg)
Copyright © 2007 Vsoft Tecnologia
Frameworks alternativos
Sansa
![Page 18: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/18.jpg)
Copyright © 2007 Vsoft Tecnologia
Frameworks alternativos
OTEE 3D Game Development System
![Page 19: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/19.jpg)
Copyright © 2007 Vsoft Tecnologia
Frameworks alternativos
SplendidCRM
![Page 20: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/20.jpg)
Copyright © 2007 Vsoft Tecnologia
Frameworks alternativos
Vault da SourceGear
![Page 21: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/21.jpg)
Copyright © 2007 Vsoft Tecnologia
Frameworks alternativos
Roadmap do Mono
• Atualmente na versão 1.2.5• Totalmente compatível com .NET 1.0 e 1.1• Suporte a C# 2.0 e compatibilidade parcial com .NET 2.0
• Mono 2.0 (segundo semestre de 2007)• Suporte total a ASP.NET 2.0• Suporte total a ADO.NET 2.0• Versão beta do Windows Forms 2.0• Compilador VB.NET concluído (VBNC)
• Mono 2.2 (primeiro bimestre de 2008)• Suporte total a Windows Forms 2.0• Novas otimizações do JIT• Beta do C# 3.0 e Linq
![Page 22: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/22.jpg)
Copyright © 2007 Vsoft Tecnologia
Ferramentas alternativas
IDEs
• #Develop• Suporta:
• Design de formulários Windows Forms C#, VB.NET e Boo• Code completation para C#, VB.NET e Boo• Debugger integrado• Code Analysis e Refactoring• Suporte a .NET 1.1, 2.0, Mono e Compact Framework• Poderoso editor de código com suporte a XML e outros• Suporte a criação de instaladores no formato Windows Installer• Integração com Subversion
• Funciona com Windows
![Page 23: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/23.jpg)
Copyright © 2007 Vsoft Tecnologia
Ferramentas alternativas
IDEs - SharpDevelop
![Page 24: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/24.jpg)
Copyright © 2007 Vsoft Tecnologia
Ferramentas alternativas
IDEs - SharpDevelop
![Page 25: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/25.jpg)
Copyright © 2007 Vsoft Tecnologia
Ferramentas alternativas
IDEs
• MonoDevelop (porte do #Develop)• Suporta:
• Design de formulários Gtk#• Code completation para C#• Class Management• Ajuda on-line• Suporte a Mono• Suporte a projetos Gtk#, console e ASP.NET• Suporte a Add-ins
• Funciona com Linux, Windows e MAC OS
![Page 26: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/26.jpg)
Copyright © 2007 Vsoft Tecnologia
Ferramentas alternativas
IDEs - MonoDevelop
![Page 27: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/27.jpg)
Copyright © 2007 Vsoft Tecnologia
Ferramentas alternativas
IDEs - MonoDevelop
![Page 28: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/28.jpg)
Copyright © 2007 Vsoft Tecnologia
Ferramentas alternativas
IDEs
• X-develop (comercial)• Suporta:
• Design de formulários Windows Forms e Gtk#• Code completation, Code inspections, Error checking e Refactoring• Debugger integrado • Linguagens C#, J#, VB.NET e Java• Suporte a .NET, Mono e Java• Suporte a projetos do Visual Studio .NET• Suporte a CVS, SubVersion, SourceSafe e outros
• Funciona com Linux, Windows e MAC OS
![Page 29: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/29.jpg)
Copyright © 2007 Vsoft Tecnologia
Ferramentas alternativas
IDEs - MonoDevelop
![Page 30: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/30.jpg)
Copyright © 2007 Vsoft Tecnologia
Ferramentas alternativas
IDEs – Plugin C# para Elipse
![Page 31: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/31.jpg)
Copyright © 2007 Vsoft Tecnologia
Ferramentas alternativas
IDEs
• CodeGear C#Builder (comercial)• CodeGear Delphi (comercial)
![Page 32: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/32.jpg)
Copyright © 2007 Vsoft Tecnologia
Principais projetos
Projetos mantidos pela comunidade .NET
• CMS• DotNetNuke, umbraco, Rainbow, …
• Persistência de objetos• NHibernate, Gentle, Sooda, BATIS.NET, XPrevail, …
• Banco de dados• Todos os banco de dados conhecidos Open Source suportam .NET atualmente
• Inúmeros projetos para os mais variados propósitos• http://csharp-source.net• http://www.codeplex.com• http://www.sourceforge.net
![Page 33: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/33.jpg)
Copyright © 2007 Vsoft Tecnologia
Principais projetos
Projetos mantidos pela comunidade .NET
• nDeveloper Framework• Framework de mapeamento objeto/relacional, acesso a multi-banco de dados, geração de código e produtividade.
• http://ndeveloper.vsoft.com.br
![Page 34: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/34.jpg)
Copyright © 2007 Vsoft Tecnologia
Principais projetos
nDeveloper no Windows
![Page 35: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/35.jpg)
Copyright © 2007 Vsoft Tecnologia
Principais projetos
nDeveloper no Linux
![Page 36: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/36.jpg)
Copyright © 2007 Vsoft Tecnologia
Java no .NET
Rodando Java no .NET e .NET no Java
• IKVM.NET• Uma máquina virtual Java implementada em .NET• Uma implementação em .NET da class library Java• Ferramentas para possibilitar interoperabilidade Java e .NET• http://www.ikvm.net
• Mainsoft Visual MainWin (comercial)• Desenvolvimento em C# ou VB.NET no Visual Studio .NET• Compilação para J2EE• Suporta WebSphere® Application Server, BEA WebLogic®, JBoss® e Tomcat application servers• Programadores Java podem se beneficiar da produtividade do C# e Visual Studio .NET• http://www.mainsoft.com
![Page 37: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/37.jpg)
Copyright © 2007 Vsoft Tecnologia
Java no .NET
Rodando Java no .NET e .NET no Java
•Mainsoft Visual MainWin (comercial)
![Page 38: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/38.jpg)
Copyright © 2007 Vsoft Tecnologia
Java no .NET
Mainsoft Visual MainWin (comercial)
![Page 39: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/39.jpg)
Copyright © 2007 Vsoft Tecnologia
Java no .NET
Mainsoft Visual MainWin (comercial)
![Page 40: NET Open Source](https://reader034.vdocuments.site/reader034/viewer/2022052505/556153aad8b42adb6b8b545d/html5/thumbnails/40.jpg)
Copyright © 2007 Vsoft Tecnologia
Contatos
www.vsoft.com.brthespoke.net/blogs/pedrojr
MSN: [email protected]