.NET Open Source<br />Trazendo os Desenvolvedores Windows para o Mundo Linux<br />Pedro Alves Junior<br />Diretor de Desen...
Agenda<br /><ul><li> Introdução ao .NET
Frameworks alternativos
 Ferramentas alternativas
 Principais projetos
 Demonstração
Java no .NET/Mono
 Principais vantagens em relação ao Java
 Introdução ao Silverlight
Moonlight</li></li></ul><li>Introduçãoao .NET<br /><ul><li> Definição
 Plataforma única de desenvolvimento e execução de software.
 Tipos de aplicações suportadas
 Aplicações WEB (Sites e Webservices)
 Aplicações desktop
 Jogos para PC, XBOX 360, Wii e iPhone
 Aplicações para dispositivos móveis, inclusive iPhone
 Aplicações embarcadas
 100% orientado a objetos
 Ambiente multilinguagem</li></li></ul><li>Introduçãoao .NET<br /><ul><li> Ambiente multilinguagem
 Suporte a mais de 40 linguagens:
 VB.NET, C#, C++, Java, Delphi, Cobol, Fortran, Haskel,  Lua, Boo, Perl, PHP, Python, Ruby, F#, Prolog …
Common Language Infrastructure - CLI
 Common Type System (CTS)
 Common Language Specification (CLS)
 Just-In-Time Compiler (JIT)
 Virtual Execution System (VES)
 Aberto e padronizado (ECMA)
 http://www.ecma-international.org/publications/standards/Ecma-334.htm
 http://www.ecma-international.org/publications/standards/Ecma-335.htm</li></li></ul><li>Frameworks alternativos<br />Proj...
 Também conhecido como Source CommonLanguageInfrastructure – SCLI
 Funciona com:
FreeBSD e MAC OS
 Implementação de referência para padronização do C# e CLI (CommonLanguageInfrastructure)
 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/</li></li></ul><li>Frameworks alternativos<br />DotGNU<br /><ul><li> Fundado por Richa...
 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</li></li></ul><li>Frameworks alternativos<br />Mono<br /><ul><li>Esforçodacomunidadepatrocinadopela ...
Inclui:
Compiladores C# e VB.NET
 CLI
Upcoming SlideShare
Loading in...5
×

.NET Open Source 2009

1,694

Published on

Apresentação sobre projetos Open Source ligados a plataforma .NET da Microsoft.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,694
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

.NET Open Source 2009

  1. 1. .NET Open Source<br />Trazendo os Desenvolvedores Windows para o Mundo Linux<br />Pedro Alves Junior<br />Diretor de Desenvolvimento<br />VsoftTecnologia<br />Líder do .NUG - .NET UserGroup<br />
  2. 2. Agenda<br /><ul><li> Introdução ao .NET
  3. 3. Frameworks alternativos
  4. 4. Ferramentas alternativas
  5. 5. Principais projetos
  6. 6. Demonstração
  7. 7. Java no .NET/Mono
  8. 8. Principais vantagens em relação ao Java
  9. 9. Introdução ao Silverlight
  10. 10. Moonlight</li></li></ul><li>Introduçãoao .NET<br /><ul><li> Definição
  11. 11. Plataforma única de desenvolvimento e execução de software.
  12. 12. Tipos de aplicações suportadas
  13. 13. Aplicações WEB (Sites e Webservices)
  14. 14. Aplicações desktop
  15. 15. Jogos para PC, XBOX 360, Wii e iPhone
  16. 16. Aplicações para dispositivos móveis, inclusive iPhone
  17. 17. Aplicações embarcadas
  18. 18. 100% orientado a objetos
  19. 19. Ambiente multilinguagem</li></li></ul><li>Introduçãoao .NET<br /><ul><li> Ambiente multilinguagem
  20. 20. Suporte a mais de 40 linguagens:
  21. 21. VB.NET, C#, C++, Java, Delphi, Cobol, Fortran, Haskel, Lua, Boo, Perl, PHP, Python, Ruby, F#, Prolog …
  22. 22. Common Language Infrastructure - CLI
  23. 23. Common Type System (CTS)
  24. 24. Common Language Specification (CLS)
  25. 25. Just-In-Time Compiler (JIT)
  26. 26. Virtual Execution System (VES)
  27. 27. Aberto e padronizado (ECMA)
  28. 28. http://www.ecma-international.org/publications/standards/Ecma-334.htm
  29. 29. http://www.ecma-international.org/publications/standards/Ecma-335.htm</li></li></ul><li>Frameworks alternativos<br />Projeto Rotor<br /><ul><li> Implementação criada pela própria Microsoft
  30. 30. Também conhecido como Source CommonLanguageInfrastructure – SCLI
  31. 31. Funciona com:
  32. 32. FreeBSD e MAC OS
  33. 33. Implementação de referência para padronização do C# e CLI (CommonLanguageInfrastructure)
  34. 34. Comunidade acadêmica pode desenvolver seu próprio CLI e compilador C# baseado no Rotor
  35. 35. Licença não permite venda de novas versões
  36. 36. http://msdn.microsoft.com/net/sscli/</li></li></ul><li>Frameworks alternativos<br />DotGNU<br /><ul><li> Fundado por Richard M. Stallman (presidente da Free Software Foundation - FSF)
  37. 37. Iniciativa para desenvolver uma versão baseada em GNU/Linux como Software Livre, da plataforma .NET
  38. 38. Inclui:
  39. 39. Implementação do CLI
  40. 40. Compilador C#
  41. 41. Funciona com:
  42. 42. Windows, NetBSD, FreeBSD, Solaris, MAC OS e Linux
  43. 43. Licença GPL
  44. 44. http://www.dotgnu.org</li></li></ul><li>Frameworks alternativos<br />Mono<br /><ul><li>Esforçodacomunidadepatrocinadopela Novell paraimplementação de um framework de desenvolvimento .NET
  45. 45. Inclui:
  46. 46. Compiladores C# e VB.NET
  47. 47. CLI
  48. 48. CLR compatível com .NET e classes extras
  49. 49. ADO.NET, ASP.NET e Windows Forms
  50. 50. Roda .NET, Java, Python, Boo, Ruby e mais…
  51. 51. Open Source e Free Software
  52. 52. Comercialmentesuportado
  53. 53. Atualmenteemusocomercial
  54. 54. http://www.mono-project.com</li></li></ul><li>Frameworks alternativos<br />Mono<br />
  55. 55. Frameworks alternativos<br />Mono<br />
  56. 56. Frameworks alternativos<br />Mono<br /><ul><li>Possuicompatibilidadebinária com Microsoft .NET
  57. 57. Roda .NET exe e DLLs
  58. 58. Somente .NET, masnão Win32
  59. 59. Vocêpode re-compilar com mcsmasvocênãoprecisa
  60. 60. Vocêencontrará no diretório do Mono:
  61. 61. Arquivos .exe (mono application.exe)
  62. 62. Arquivos .dll
  63. 63. Bibliotecascompartilhadas
  64. 64. Arquivos de mapeamento
  65. 65. Incluisuporte a GAC (Global Assembly Cache)
  66. 66. Proteção a DLL-Hell</li></li></ul><li>Frameworks alternativos<br />Mono e Windows<br /><ul><li> Mono tambémestádisponívelpara Windows
  67. 67. Suporta:
  68. 68. Co-host com Microsoft .NET
  69. 69. XSP (Webserver ASP.NET)
  70. 70. Gtk#/GTK+ para Windows
  71. 71. Pluginpara Visual Studio .NET
  72. 72. Documentação
  73. 73. DesenvolvimentoGtk# (Glade)
  74. 74. …</li></li></ul><li>Frameworks alternativos<br />ASP.NET no Mono<br /><ul><li>Suporte a Web applications e Web services
  75. 75. XSP
  76. 76. Servidor Web Standalone
  77. 77. Suporte a ASP.NET e HTML estático
  78. 78. Usoemdesenvolvimento
  79. 79. Base paramod_mono
  80. 80. mod_mono
  81. 81. Pluginpara Apache (v1 e v2)
  82. 82. Usa Apache paratodas as tarefascomuns de servidor web
  83. 83. Comunicação socket Unix</li></li></ul><li>Frameworks alternativos<br />Mono e P/Invoke<br /><ul><li>Suporte a Platform Invocation services
  84. 84. Suporte a códigonãoseguro
  85. 85.
  86. 86. Maiorproblemaemportar de Windows paraoutrasplataformas
  87. 87. O códigonativoquevocêinvocaem Windows existeem Linux?
  88. 88. MoMa – verificação de chamadas a APIs</li></li></ul><li>Frameworks alternativos<br />Mono e componentes de terceiros<br /><ul><li> Business Logic, GUI controls, Web Controls, Web services, Bibliotecasestáticas …
  89. 89. É umaimplementaçãopuraou um wrapper de um componenteoucódigo Windows?
  90. 90. É umaaplicação .NET limpa?
  91. 91. O time do Mono estátrabalhandoemumacertificaçãoparaprovedores de componentes
  92. 92. MoMa – validação de componentes</li></li></ul><li>Frameworks alternativos<br />Mono - IDEs<br /><ul><li> Visual Studio com Mono Tools for Visual Studio
  93. 93. http://go-mono.com/monovs/
  94. 94. #Develop
  95. 95. http://www.icsharpcode.com/OpenSource/SD
  96. 96. MonoDevelop
  97. 97. http:/www.monodevelop.com
  98. 98. x-develop
  99. 99. http://www.x-develop.com
  100. 100. Eclipse
  101. 101. http://www.improve-technologies.com/alpha/esharp</li></li></ul><li>Frameworks alternativos<br />Mono e a Novell<br /><ul><li> Novell patrocinaprojeto
  102. 102. Equipe de desenvolvedores
  103. 103. Novell usa Mono emváriosprojetos
  104. 104. NLD, iFolder, iPrint, VO, Red Carpet/Zen, Beagle, F-Spot photo management, Hula Groupware Server, Banshee media player, CASA, ZenWorks Linux Management, …
  105. 105. Novell oferecesuportecomercial e consultoriaem Mono</li></li></ul><li>Frameworks alternativos<br />Uso do Mono por outras empresas<br /><ul><li>Inúmerasempresas no mundotodojáadotaram o Mono
  106. 106. Novell, Yahoo!, Electronic Arts, Mozilla, Metrosharp, Codice, MindTouch, Medsphere, VistaDB, Mainsoft, SourceGear, Coversant, Wikipedia, GovTrack.us, Cogmation…
  107. 107. Projetos dos maisvariadostipos
  108. 108. Sansa MP3 player baseadoem Mono
  109. 109. Virtuoso Universal Server
  110. 110. Unity3D Game Development System
  111. 111. SplendidCRM
  112. 112. VistaDBDatabase
  113. 113. DekiWiki
  114. 114. Sims 3</li></li></ul><li>Frameworks alternativos<br />Sansa (SanDisk)<br />
  115. 115. Frameworks alternativos<br />Banshee MP3 Player<br />
  116. 116. Frameworks alternativos<br />Unity 3D Game Development System<br />
  117. 117. Frameworks alternativos<br />Unity 3D Game Development System<br />
  118. 118. Frameworks alternativos<br />Unity 3D Game Development System<br />
  119. 119. Frameworks alternativos<br />SplendidCRM<br />
  120. 120. Frameworks alternativos<br />Plastic Source Control Management<br />
  121. 121. Frameworks alternativos<br />Paint.NET<br />
  122. 122. Frameworks alternativos<br />Graffiti CMS<br />
  123. 123. Frameworks alternativos<br />Iscambo<br />www.iscambo.com<br />
  124. 124. Frameworks alternativos<br />Roadmap do Mono<br /><ul><li>Atualmentenaversão 2.4
  125. 125. Totalmentecompatível com .NET 1.0, 1.1 e 2.0
  126. 126. Suporte a C# 2.0 e 3.0 e parcial a .NET 3.0 e 3.5
  127. 127. Compilador VB.NET concluído (VBNC)
  128. 128. Mono 2.6 (Novembro de 2009)
  129. 129. Suporte total a ASP.NET MVC
  130. 130. Suporte a LINQ to DB
  131. 131. Pluginpara debug e deploy no Visual Studio
  132. 132. Mono 2.8 (nãodefinido)
  133. 133. Moonlight 2.0
  134. 134. MonoDevelop 2.4
  135. 135. Suporteinicialaocompilador C# 4.0</li></li></ul><li>Ferramentasalternativas<br />IDEs<br /><ul><li>#Develop
  136. 136. Suporta:
  137. 137. Design de formulários Windows Forms C#, VB.NET e Boo
  138. 138. Code completationpara C#, VB.NET e Boo
  139. 139. Debugger integrado
  140. 140. Code Analysis e Refactoring
  141. 141. Suporte a .NET 1.1, 2.0, 3.5, Mono e Compact Framework
  142. 142. Poderoso editor de código com suporte a XML e outros
  143. 143. Suporte a criação de instaladores no formato Windows Installer
  144. 144. Integração com Subversion
  145. 145. Funciona com Windows</li></li></ul><li>Ferramentasalternativas<br />IDEs - #Develop<br />
  146. 146. Ferramentasalternativas<br />IDEs<br /><ul><li>MonoDevelop(porte do #Develop)
  147. 147. Suporta:
  148. 148. Design de formuláriosGtk#
  149. 149. Code completationpara C#
  150. 150. Class Management
  151. 151. Ajuda on-line
  152. 152. Suporte a projetos .NET 1.1, 2.0, Mono e Moonlight
  153. 153. Suporte a projetosGtk#, console e ASP.NET
  154. 154. Suporte as linguagens C#, Visual Basic, Boo, Java (IKVM) e C++
  155. 155. Suporte a Add-ins
  156. 156. Suporte a abertura de projetos do Visual Studio
  157. 157. Suporte a Subversion
  158. 158. Funciona com Linux, Windows e MAC OS</li></li></ul><li>Ferramentasalternativas<br />IDEs – MonoDevelop<br />
  159. 159. Ferramentasalternativas<br />IDEs – MonoDevelop<br />
  160. 160. Ferramentasalternativas<br />IDEs – CodeGear RAD Studio 2010 (Delphi Prism)<br />
  161. 161. Ferramentasalternativas<br />IDEs<br /><ul><li>Plugin C# paraEclipse</li></li></ul><li>Principaisprojetos<br />Projetos mantidos pela comunidade .NET<br /><ul><li> CMS
  162. 162. DotNetNuke, umbraco, Rainbow, …
  163. 163. Persistência de objetos
  164. 164. NHibernate, Gentle, Sooda, BATIS.NET, XPrevail, …
  165. 165. Banco de dados
  166. 166. Todososbanco de dados conhecidos Open Source suportam .NET atualmente
  167. 167. Inúmerosprojetosparaosmaisvariadospropósitos
  168. 168. http://csharp-source.net
  169. 169. http://www.codeplex.com
  170. 170. http://www.sourceforge.net</li></li></ul><li>Java no .NET<br />Rodando Java no .NET e .NET no Java<br /><ul><li>IKVM.NET
  171. 171. Umamáquina virtual Java implementadapara .NET e Mono
  172. 172. Umaimplementaçãoem .NET da class library Java
  173. 173. Ferramentasparapossibilitarinteroperabilidade Java e .NET
  174. 174. Permiteutilizarbibliotecas Java emaplicações .NET
  175. 175. Permitetransformar myapp.jar Java em myapp.exe .NET
  176. 176. http://www.ikvm.net</li></li></ul><li>Java no .NET<br />Rodando Java no .NET e .NET no Java<br /><ul><li>Mainsoft Enterprise Edition (comercial)
  177. 177. Desenvolvimentoem C# ou VB.NET no Visual Studio
  178. 178. Acesso a componentes Java externos
  179. 179. Compilaçãopara J2EE
  180. 180. SuportaWebSphere® Application Server e Portal Server, JBoss® e Tomcat application servers
  181. 181. Versão Professional disponívelgratuitamente
  182. 182. Programadores Java podem se beneficiardaprodutividade do C# e Visual Studio
  183. 183. http://www.mainsoft.com</li></li></ul><li>Java no .NET<br />Rodando Java no .NET e .NET no Java<br /><ul><li>Mainsoft Enterprise Edition (comercial)</li></li></ul><li>Java no .NET<br />Rodando Java no .NET e .NET no Java<br /><ul><li>Mainsoft Enterprise Edition (comercial)</li></ul>ASP.NET e Server Applications instaladasem um Java EE application server<br />
  184. 184. Java no .NET<br />MainsoftEnterprise Edition(comercial)<br />
  185. 185. Java no .NET<br />MainsoftEnterprise Edition(comercial)<br />
  186. 186. Principaisvantagensemrelaçãoao Java<br /><ul><li>Diversidade de linguagens;
  187. 187. JIT Compilation para código nativo, garantindo melhor performance;
  188. 188. Simplicidade na criação de Webservices;
  189. 189. Ambiente de desenvolvimento mais produtivo - Visual Studio.</li></li></ul><li>IntroduçãoaoSilverlight<br /><ul><li>Definição
  190. 190. Nova tecnologia de apresentação rica na Web criada para ser executada em diversas plataformas.
  191. 191. Principaiscaracterísticas
  192. 192. Baseado na linguagem XAML (eXtensible Application Markup Language).
  193. 193. É pequeno e de fácil instalação, possuindo menos de 5 MegaBytes.
  194. 194. Pode criar e trabalhar com gráficos vetorizados, assim como textos, animações e sobreposições que interagem com gráficos e efeitos de alta qualidade.
  195. 195. Os desenvolvedores podem criar aplicativos programando em diversas linguagens, dentre elas: C#, Python, Ruby e Visual Basic.
  196. 196. Foi projetado para funcionar em plataforma-cruzada. </li></li></ul><li>Moonlight<br /><ul><li>O Moonlight é a implementação Open Source do Silverlight da Microsoft, ele é desenvolvido pelo projeto Mono que é patrocinado pela Novell e também pela Microsoft através do acordo de interoperabilidade entra as duas empresas.
  197. 197. Principaiscaracterísticas
  198. 198. Funciona em Linux e outros sistemas baseados em Unix/X11;
  199. 199. Provê um SDK para desenvolvimento Silverlight em Linux;
  200. 200. Instalação simples como Plugin para o Firefox;
  201. 201. Licenciado sob GNU LGPL.
  202. 202. Disponível em http://www.mono-project.com/Moonlight</li></li></ul><li>Dúvidas<br />?<br />
  203. 203. Contatos<br />www.vsoft.com.br<br />Blog: www.pedrojr.net<br />MSN: pedro.alvesjr@hotmail.com<br />
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×