.NET Open Source

3.137 visualizações

Publicada em

Apresentação da palestra ".NET Open Source" apresentada no I Encontro de Usuários .NET da Paraíba.

Publicada em: Tecnologia
0 comentários
3 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
3.137
No SlideShare
0
A partir de incorporações
0
Número de incorporações
38
Ações
Compartilhamentos
0
Downloads
127
Comentários
0
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

.NET Open Source

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

×