Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Mono - .NET Open Source e alternativo para Linux
1. .NET e o Open Source
Rafael 'Monoman' Teixeira
https://github.com/monoman
2. .NET – um padrão aberto
● O .NET entrou em beta no final de 2000
● A Microsoft publicou o padrão do bytecode
e runtime e da linguagem como padrões
ECMA/ISO
● A versão 1.0 foi liberada em fevereiro de
2002
3. Mono – .NET alternativo
● Ainda na fase de beta do .NET 1.0, Miguel de
Icaza (criador do ambiente gráfico Gnome)
decidiu implementar os padrões do .NET para
Linux
● Nasceu o projeto Mono (2001), uma
implementação open source da VM, das
bibliotecas padrão e do compilador C#
● Hoje roda em Linux, iOS e Android. Em
arquiteturas x86/x64, ARM, Mainframe
4. Mono - .NET Alternativo
● Hoje o Mono tem incorporados diversos
pedaços abertos pela própria Microsoft
como:
● ASP.NET Stack
● F#
● MEF/MEF2
● Entity Framework
5. Muitos projetos Open Source
● A comunidade portou coisas do Java
● nHibernate (Hibernate)
● Log4net (Log4J)
● NUnit (Junit) que evoluiu muito
● Também criou projetos originais
● JSON.net
● Linguagem Boo
● Nancy
● Castle/Monorail
6. Nuget – O hub para bibliotecas
● O Nuget é mais um projeto open source da
Microsoft
● Ele é o formato/repositório padrão para
dependências em .NET
● Na próxima iteração do .NET ele é a base
para a distribuição do próprio framework
● Ele está se afastando das suas raizes Maven
e se aproximando do npm do NodeJS
7. Até a Microsoft está no GitHub
● Você pode hoje contribuir com pull-requests
(depois de assinar um CLA) para diversos projetos
da MS
● A interação com a comunidade é cada vez maior
● Até o C# está evoluindo com muitas sugestões da
comunidade
● O futuro é promissor e multiplataforma... inclusive
na Internet das Coisas