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

.NET Open Source

May 24, 2015

Download

Technology

Pedro Alves Jr.

Apresentação da palestra ".NET Open Source" apresentada no I Encontro de Usuários .NET da Paraíba.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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]