net open source

40
Copyright © 2007 Vsoft Tecnologia .NET Open Source Alternativas a plataforma Microsoft .NET Pedro Alves Junior Diretor de Desenvolvimento Vsoft Tecnologia

Upload: pedro-alves-jr

Post on 24-May-2015

2.931 views

Category:

Technology


2 download

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

Copyright © 2007 Vsoft Tecnologia

.NET Open Source

Alternativas a plataforma Microsoft .NET

Pedro Alves JuniorDiretor de DesenvolvimentoVsoft Tecnologia

Page 2: NET Open Source

Copyright © 2007 Vsoft Tecnologia

Agenda

• .NET aberto• Frameworks alternativos • Ferramentas alternativas• Principais projetos• Java no .NET

Page 3: NET Open Source

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

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

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

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

Copyright © 2007 Vsoft Tecnologia

Frameworks alternativos

Mono

Page 8: NET Open Source

Copyright © 2007 Vsoft Tecnologia

Frameworks alternativos

Mono

Page 9: NET Open Source

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

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

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

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

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

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

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

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

Copyright © 2007 Vsoft Tecnologia

Frameworks alternativos

Sansa

Page 18: NET Open Source

Copyright © 2007 Vsoft Tecnologia

Frameworks alternativos

OTEE 3D Game Development System

Page 19: NET Open Source

Copyright © 2007 Vsoft Tecnologia

Frameworks alternativos

SplendidCRM

Page 20: NET Open Source

Copyright © 2007 Vsoft Tecnologia

Frameworks alternativos

Vault da SourceGear

Page 21: NET Open Source

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

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

Copyright © 2007 Vsoft Tecnologia

Ferramentas alternativas

IDEs - SharpDevelop

Page 24: NET Open Source

Copyright © 2007 Vsoft Tecnologia

Ferramentas alternativas

IDEs - SharpDevelop

Page 25: NET Open Source

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

Copyright © 2007 Vsoft Tecnologia

Ferramentas alternativas

IDEs - MonoDevelop

Page 27: NET Open Source

Copyright © 2007 Vsoft Tecnologia

Ferramentas alternativas

IDEs - MonoDevelop

Page 28: NET Open Source

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

Copyright © 2007 Vsoft Tecnologia

Ferramentas alternativas

IDEs - MonoDevelop

Page 30: NET Open Source

Copyright © 2007 Vsoft Tecnologia

Ferramentas alternativas

IDEs – Plugin C# para Elipse

Page 31: NET Open Source

Copyright © 2007 Vsoft Tecnologia

Ferramentas alternativas

IDEs

• CodeGear C#Builder (comercial)• CodeGear Delphi (comercial)

Page 32: NET Open Source

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

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

Copyright © 2007 Vsoft Tecnologia

Principais projetos

nDeveloper no Windows

Page 35: NET Open Source

Copyright © 2007 Vsoft Tecnologia

Principais projetos

nDeveloper no Linux

Page 36: NET Open Source

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

Copyright © 2007 Vsoft Tecnologia

Java no .NET

Rodando Java no .NET e .NET no Java

•Mainsoft Visual MainWin (comercial)

Page 38: NET Open Source

Copyright © 2007 Vsoft Tecnologia

Java no .NET

Mainsoft Visual MainWin (comercial)

Page 39: NET Open Source

Copyright © 2007 Vsoft Tecnologia

Java no .NET

Mainsoft Visual MainWin (comercial)

Page 40: NET Open Source

Copyright © 2007 Vsoft Tecnologia

Contatos

www.vsoft.com.brthespoke.net/blogs/pedrojr

MSN: [email protected]