Mono mecadocoorporativo-latino2010

39
Projeto Mono Alternativa ao Mercado Corporativo Alessandro Binhara Projeto Mono Brasil [email protected]

description

Projeto Mono Alternativa ao Mercado Corporativo, Palestra apresenta o mono como alternativa ao mercado corporativo. Palestra apresentada em na LatinoWare em 2010

Transcript of Mono mecadocoorporativo-latino2010

Page 1: Mono mecadocoorporativo-latino2010

Projeto Mono Alternativa ao Mercado Corporativo

Alessandro Binhara Projeto Mono Brasil [email protected]

Page 2: Mono mecadocoorporativo-latino2010

O que o mercado corporativo ?

Page 3: Mono mecadocoorporativo-latino2010

3

Mercado Corporativo

• Foco no resultado

• Solução de Problemas da Empresa

• Menor Custo

• Menor Suporte

• Segurança

• Padronização

3

Page 4: Mono mecadocoorporativo-latino2010

4

Comunidade Software Livre

• Nem sempre com foco em negócios

• Valorização de :

– Aprendizado

– Inovação

– Distribuição de Soluções

– Foco na Tecnologia

4

Page 5: Mono mecadocoorporativo-latino2010

5 5

O que as corporações querem?

• Soluções Padronizadas

• Profissionais Certificados

• Profissionais Treinados

• Suporte Profissional

• Garantias de Funcionamento das soluções

• Garantia de Continuidade

Page 6: Mono mecadocoorporativo-latino2010

6 6

Problemas do Software Livre ?

• Falta de Certificações

• Falta de Treinamentos “Oficiais”

• Falta de padrões de desenvolvimento

• Muitas opções de framework gera muita fragmentação no mercado

• Linguagens não padronizadas sem garantias de suporte no futuro.

Page 7: Mono mecadocoorporativo-latino2010

7

Mercado Corporativo

• Plataforma JAVA

• Plataforma .NET

• O que acontece com:

–PHP, Python, Ruby .. Etc

7

Page 8: Mono mecadocoorporativo-latino2010

O mundo tá mudando ?

Page 9: Mono mecadocoorporativo-latino2010

9

Notícias Oracle

9

Page 10: Mono mecadocoorporativo-latino2010

10

Notícias Oracle

10

Page 11: Mono mecadocoorporativo-latino2010

11

Notícias Microsoft

11

Page 12: Mono mecadocoorporativo-latino2010

12

Notícias Microsoft

12

Page 13: Mono mecadocoorporativo-latino2010

Em que o Mono pode ajudar?

Page 14: Mono mecadocoorporativo-latino2010

E a tal da Interoperabilidade ?

Page 15: Mono mecadocoorporativo-latino2010

15

Projeto MONO

• Suporte a C# 4.0 como padrão

• Parallel Framework

• Performance – Large performance improvements

– LLVM support has graduated to stable

• Preview of the Generational Garbage Collector

• Version 2.0 of the embedding API

• WCF Routing

• OpenBSD support integrated

• http://mono-project.com/Roadmap

15

Page 16: Mono mecadocoorporativo-latino2010

16

Projeto MONO

• Mono é uma implementação OpenSource do .NET Permite a execução e desenvolvimento de software .Net em ambiente Não Windows.

• Mono 2.6 • WCF client e servidor, • LLVM support, LINQ para SQL usando o DbLinq. • Novo debuger. • CSharp shell agora suporta auto-completion • 3.5 API agora está mais completa • ASP.NET MVC 1 e 2 • xbuild agora realiza o build de projetos msbuild • Mono Compiler : C# 3.0

16

Page 17: Mono mecadocoorporativo-latino2010

17

Evolução do Projeto

17

Page 18: Mono mecadocoorporativo-latino2010

18

Contribuições Microsoft

• Ajax.NET, ASP.NET MVC1, MVC2,

• Silverligth ToolKit, Silverligth Tests

• Managed Extensibility Framework (MEF)

• System.Data.Services.Client (OData)

• Dynamic Language Runtime

18

Page 19: Mono mecadocoorporativo-latino2010

19 19

Page 20: Mono mecadocoorporativo-latino2010

20 20

Suporte C# 3.0 e 4.0

• mcs: compilador para rutime 1.1.

• gmcs: compilador para runtime the 2.0 runtime.

• smcs: compiledor para rutime 2.1para compilar aplicações Moonlight.

• dmcs: iniciado com Mono 2.6 para C# 4.0

Características já suportadas: anonymous methods , iterators,partial classes , Generics , Nullable Types,

friend assemblies , static classes, property accessor accessibility, fixed buffers, external assembly alias, namespace alias qualifier , inline warning

control , Extension Methods, LINQ syntax, Expression trees, Automatic properties, Lambda expressions, Anonymous types.

Page 21: Mono mecadocoorporativo-latino2010

21 21

Suporte JAVA

• O IKVM é uma VM JAVA escrita em C# que possibilita executar byte code Java no Mono além de um conjunto de ferramentas para:

– conversão bytecode (java) -> IL (mono)

– e IL (mono)-> bytecode (java)

– http://www.ikvm.net’

Page 22: Mono mecadocoorporativo-latino2010

22

Plataformas Suportadas

22

Supported Architectures Runtime Operating system

s390, s390x (32 and 64 bits)

JIT Linux

SPARC (32) JIT Solaris, Linux

PowerPC JIT Linux, Mac OSX, Wii, PlayStation 3

x86 JIT Linux, FreeBSD, OpenBSD, NetBSD, Microsoft Windows, Solaris, OS X

x86-64: AMD64 and EM64T (64 bit)

JIT Linux, Solaris

IA64 Itanium2 (64 bit) JIT Linux

ARM: little and big endian JIT Linux (both old and new ABI), iPhone

Alpha JIT Linux

MIPS JIT Linux

HPPA JIT Linux

Page 23: Mono mecadocoorporativo-latino2010

23 23

Crie no VS e rode no Linux

• Compatibilidade Binária

• Monte o disco do linux e copie seus binários no linux

• Compartilhe no windows e acesso no linux

• Testando

– Uso de máquinas virtuas: Ex: Virtual PC

– Donwload das VM e LiveCD no site do mono

Page 24: Mono mecadocoorporativo-latino2010

24

Banco de Dados

• Mono faz acesso ao SQLServer , não existe necessidade de mudar de banco para rodar sua aplicação no linux.

• Mono Disponibiliza os dataproviders para os bancos : MySQL, Postgresql, Oracle, DB2, SyBase

• É possivel usar os dataproviders do mono no .NET com VS para acessar os bancos livres.

24

Page 25: Mono mecadocoorporativo-latino2010

25

MOMA

25

Page 26: Mono mecadocoorporativo-latino2010

26

Interface Gráfica

Windows.Forms

• Atualmente o Mono esta suportando windows.Forms 1 e 2 http://www.mono-project.com/WinForms

• Status do Windows.Forms: – Sem suporte a windows.forms rodando em múltiplos threads. Todos

os formulários devem ser criados no mesmo thread.

– Temas windows suportados a partir do mono 2.2

– Suporte de transparência no linux através do composite

• Todo código Windows.Forms é em C# gerenciado

• Windows.Forms é suportado no Mac a partir da versão 1.9

26

Page 27: Mono mecadocoorporativo-latino2010

27

Ferramentas

Mono Develop • Importa soluções do Visual Studio

• Versões Windows, Linux e MAC

• Suporte para GTK# , Iphone, MacOX

• MonoTouch e MonoDroid

• Debug integrado, controle de versão

• Bando de Dados, Sistema de Testes,

• www.monodevelop.com

Prj2make • Converte uma solução do Visual Studio em script para o make, gerando os

make files.

Page 28: Mono mecadocoorporativo-latino2010

28

ASP.NET

• Mono Suporte Asp.NET 1 e 2

• Suporta Asp.NET MVC 1 e 2

• Rodando no Apache, Ngnix: – XSP, Mod_Mod , FastCGI

• Suporta WebServices

• Suporta Ajax.NET (Microsoft)

• Exemplo – www.monobrasil.org

28

Page 29: Mono mecadocoorporativo-latino2010

29

Silverlight

• Moonlight 3 – Mooonlight 3 Pre-Alpha compatível com Silverlight 3

– 3D graphics

– Pixel shaders

– Application library caching

– Out-of-browser capabilities and offline support

– Pluggable media pipeline to support 3rd party codecs

• HD Smooth Streaming

• Native support for MPEG-4-based H.264/AAC Audio

• Release Date Alpha Q1 2010 Beta Q2 2010 Final Q3 2010

29

Page 30: Mono mecadocoorporativo-latino2010

30

Daruma Case Brasileiro • A partir de Março de 2006 a Daruma

passou a suportar o uso de suas impressoras em ambiente Mono com Linux.

• Foram realizados treinamentos da equipe desenvolvedora no Brasil, e foram feitas melhorias internas na estrutura dos device drives linux das impressoras para ficarem 100% compatível com Mono.

30

Page 31: Mono mecadocoorporativo-latino2010

31

Empresas usando Mono

• Electronic Arts' Sims3 – http://thesims3.ea.com/

• Unity3D – Unity 3D é um editor de jogos cross-platform , Wii, XBOX, IPHONE, PC, etc (http://unity3d.com).

• Chrome Compiler – Um compilador Pascal, Delphi (http://chromesville.com/)

• DekiWiki – Is an advanced WYSIWYG Wiki system powered by Mono. (http://wiki.mindtouch.com)

• SplendidCRM – Cross platform, CRM system. (http://www.splendidcrm.com)

• Plasma – Source Code Management system from Codice Software.

(http://pnunit.codicesoftware.com/opproducts.aspx)

• Medsphere OpenVista – A cross-platform, real-time, point-of-care, patient-centric information resource for clinicians.

(http://www.medsphere.com)

31

Page 32: Mono mecadocoorporativo-latino2010

32

Case Unity • Mais de 258 jogos na AppStore

• Mono foi embarcado à ferramenta

• Mono roda os scripts C#, Boo e Unity3D – Render 3D, IA, Animações, Interações, Lógica do Jogo

– Compilação Estática para Wii, Iphone

– Compilação JIT 20x mais rápido que os concorrentes

• Mais de 300mil desenvolvedores

• Mais de 4milhões de usuários

32

Page 33: Mono mecadocoorporativo-latino2010

33

Mensão Honrosa

• Rodrigo Bamboo – Desenvolvedor Mono

– Criador da Linguagem Boo http://boo.codehaus.org/ Um linguagem que combina características C# , Ruby e Python

Linguagem Script fortemente tipada com inferência de tipos dinâmicos

Possibilidade de criação de macros em tempo de compilação através de uma pipeline de compilação plugável

– Responsável pela integração do mono no Unity3D

– Montou toda a scriptagem do C# dentro do Unity3D

– Desenvolveu o UnityScript

– Atualmente trabalha na DB4O (lider mundial em Bancos de Dados Orientados a Objetos) e para a Unity3D (Lider mundial em Engine de Jogos)

– Ver http://boo.codehaus.org/

33

Page 34: Mono mecadocoorporativo-latino2010

34

Cidade de Munich

• Maior migração já feita para Linux

• Software ActiveEntry - Software para provisão e gerenciamento usando pelo governo Alemão. (Munich)

– Foram migrados todos os servidores da cidade de

– Munich para linux e portado as aplicações para Mono

– http://www.novell.com/success/volcker.html

• "Mono is now a critical part of our cross-platform development," said Matthias Bauer, head of development for Völcker Informatik AG. "Using Mono was the only way for us to leverage our existing software and give our customers what they need on Linux.“

• Uso de C# aplicação com mais de 2milhões de linhas

• 350 Servidores, 40mil estações, 150mil usuários

34

Page 35: Mono mecadocoorporativo-latino2010

Iniciativas Corporativas

Page 36: Mono mecadocoorporativo-latino2010

36

MICs

• Microsoft Inovations Centers

– 17 Centros no país

– Programa Student to Bussiness

– Provas de Conceito

– BiskparkCamp

36

Page 37: Mono mecadocoorporativo-latino2010

O que nós do software livre estamos fazendo para atender o

mercado corporativo ???

Page 38: Mono mecadocoorporativo-latino2010

38 38

Page 39: Mono mecadocoorporativo-latino2010

39 39