33
MoonLight : Silverligth para Sistemas não Windows Alessandro de Oliveira Binhara Msc em Projetos Complexos Projeto Mono Brasil 18/01/2010

Semana de Interop: Moonligth

Embed Size (px)

DESCRIPTION

MoonLight : Silverligth para Sistemas não windows Apresentação do projeto moonligth, a implementação do silverligth opensource MoonLight O que é ? Desenvolvimento Estado atual Instalação e Uso Acordos Novell + Microsoft Ferramentas de Desenvolvimento

Citation preview

Page 1: Semana de Interop: Moonligth

MoonLight : Silverligth para Sistemas não WindowsAlessandro de Oliveira BinharaMsc em Projetos ComplexosProjeto Mono Brasil

18/01/2010

Page 2: Semana de Interop: Moonligth

Agenda

− SilverLight− MoonLight

− O que é ?− Desenvolvimento− Estado atual− Instalação e Uso− Acordos Novell + Microsoft− Ferramentas de Desenvolvimento− Demonstração

Page 3: Semana de Interop: Moonligth

3

O que é ?

− Implementação do open source do SilverLigth da Microsoft

− Baseado em XAML− Integração com qualquer

linguagem .NET− Construção de RIA – Rich Internet

Aplication− http://tirania.org/blog/archive/2009/Feb-11.html

Page 4: Semana de Interop: Moonligth

4

SilverLigth em 21 dias

− A equipe da novell e com desenvolvedores mono passaram 21 dias trabalhando de 12 a 16 horas dias para implementar o Moonligth em tempo recorde.

− Mudanças aconteciam no código a cada 10 20 minutos.

− O resultado foi apresentado em Paris em uma conferência MIX07 .

Page 5: Semana de Interop: Moonligth

5

Primeiro Testes

− IronPython visualização em 3D

Page 6: Semana de Interop: Moonligth

6

Licenciamento

− Moonlight 1.0 é licensiado sob a GNU LGPL, sendo puramente C++

− Moonlight 2.0 é GNU LGPL e MIT X11, incluindo o engine gráfico em C++, o Mono Runtime e as bibliotecas de classe Mono.

Page 7: Semana de Interop: Moonligth

7

Cooperação com a Microsoft

− Em setembro de 2007 , a Microsoft e a Novel anunciaram a colaboração técnica isso inclui o acesso aos sistemas de teste do Silverligth e a distribuição do pacote de media para usuários Linux contendo as licensas de codec para audio e video.

− Recentemente a Microsoft disponibilisou também o Silverligth Tool Kit e este foi integrado ao Moonlight

Page 8: Semana de Interop: Moonligth

8

Estado AtualMoonlight 2 −  Mooonlight 2 Final compatível com Silverlight 2

− Deep Zoom − Control framework − Layout framework.

− Microsoft Media Pack 2.0 para tocar audio e video. − Inclui para executar código (C# and DLR-based

languages). − Roda Silverlight 2.0 MS-PL controls e aplicações

baseadas no 2.0 − Demos Status

− http://www.mono-project.com/Moonlight/Moonlight2DemoStatus

Page 9: Semana de Interop: Moonligth

9

RoadMap

− 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 − Suporte nativo para MPEG-4-based H.264/AAC

Audio − Release Date Alpha Q1 2010 Beta Q2 2010 Final Q3

2010

Page 10: Semana de Interop: Moonligth

10

RoadMap

Moonlight 4 −  Mooonlight 4 Planning compatível com

Silverlight 4− Webcam and microphone support − Trusted applications can read/write to users' documents

directories − Improved localization, including right-to-left and bi-

directional text − Desktop notifications ("toast") − Render HTML on Moonlight surfaces − WCF RIA Services

− Release Date Alpha Q3 2010

Page 11: Semana de Interop: Moonligth

11

MoonLigth 2.0

− Segundo o Miguel “Moonlight 2 is the result of love and passion to bring the Silverlight runtime to Linux.”

− 142,000 linhas de código C/C++ − 320,000 lines of C# code − 125,000 vem da Microsoft's open source

Silverlight Controls. − Moonlight é construído sobre o Mono 2.6 runtime,

Cairo e Gtk+ funciona Firefox no Linux. Está se fazendo um grande trabalho para rodar no Google Chrome

Page 12: Semana de Interop: Moonligth

12

MoonLigth 2.0

− Toda a implementação do SilverLigth 2 e algumas coisas do Silverligth 3− Data fetching (this is how adaptive streaming and smooth streaming are

supported. http://www.iis.net/media/experiencesmoothstreaming− Demuxing (this is how the Moonlight Ogg container can be fed into

Moonlight and Microsoft's Silverlight). − Codecs (this is how our Vorbis and Dirac support work on both Moonlight

and Microsoft Silverlight).

− Animações simples com funções parciais out-of-browser support

− Writable bitmaps − Alguns databinding do XAML no Silverlight 3

Page 13: Semana de Interop: Moonligth

13

Moonligth Core

Page 14: Semana de Interop: Moonligth

14

Três Front End Disponíveis

http://tirania.org/blog/archive/2008/Apr-17.html

Page 15: Semana de Interop: Moonligth

15

using Gtk.Moonlight; [...]

void SetupWidget () {

Application.Init (); GtkSilver surface = new GtkSilver (); surface.LoadFile ("MyAnimation.xaml"); Window w = new Window ("Demo"); w.Add (surface); w.ShowAll (); Application.Run ();

}

Criando uma Aplicação Simples

Page 16: Semana de Interop: Moonligth

16

Instalação− Para Instalar acesse http://www.go-mono.com/moonlight/

− Seleciona o sistema 32bits ou 64bits

Page 17: Semana de Interop: Moonligth

17

Instalação

Page 18: Semana de Interop: Moonligth

18

Plataformas

− Funciona qualquer distribuição linux− Firefox 2.0 , 3.0 e 3.5

− Plug-in está disponível para − SUSE Linux Enterprise Desktop 11, openSUSE

11.x, Ubuntu 9.10, and Fedora 12. − Demais distribuições de ser instalado apartir do

fonte

Page 19: Semana de Interop: Moonligth

19

Suporte

− Lista de Discussão do MonoLigth− http://lists.ximian.com/mailman/listinfo/moonlight-list

− Chat on-Line − IRC : irg.gnome.org Canal: #moonligth− Na Web: http://www.go-mono.com/moonlight/community.aspx

− FAQ− http://www.go-mono.com/moonlight/faq.aspx

− Código Fonte http://ftp.novell.com/pub/mono/sources/moon/2.0/

Page 20: Semana de Interop: Moonligth

20

Patent Covenant− Esforço para disponibilizar o Moonligth para todos

os Linux e BSD− Existe um trabalho para que outras distribuidoras

linux não infrigam patentes− O MoonLigth distribuído pela Novell tem todas as

licenças necessárias− O Moonlight deve ser apto a tocar midia usando

Vorbis, Theora e Ogg dentro do moonlight, mas para tocar outros formatos precisa-se ter :− Negociação direta com os donos dos codecs (MPEG-LA,

Fraunhofer). − Negociação para ter acesso ao Microsoft's Media Pack with

Microsoft. − Ter Plug-in GStreamer ou outro codec comercial para

outra implementações do Moonlight

Page 21: Semana de Interop: Moonligth

21

Ferramentas− Visual Studio + Expression Blend− MonoDevelop 2.2

− A máquina virtual para virtual PC para donwload no site do mono, já tem o mono develop com suporte a Moolight− http://www.go-mono.com/mono-

downloads/download.html

Page 22: Semana de Interop: Moonligth

22

MonoDevelopMulti-platform

Supports Linux, Windows and Mac OSX.Advanced Text Editing

Code completion support for C# 3, code templates, code folding.Configurable workbench

Fully customizable window layouts, user defined key bindings, external tools

Multiple language supportC#, Visual Basic.Net, C/C++, Vala

Integrated DebuggerFor debugging Mono and native applications

GTK# Visual DesignerEasily build GTK# applications

ASP.NETCreate web projects with full code completion support and test on XSP, the Mono web server.

Other toolsSource control, makefile integration, unit testing, packaging and deployment, localization

Page 23: Semana de Interop: Moonligth

23

MonoDevelop− No Linux 3:37− http://mjhutchinson.com/journal/2009/05/08/moonlight_development_linux_monodevelop

− No Mac− http://www.go-mono.com/media/MonoDevelopMacMoonlightPreview.swf

Page 24: Semana de Interop: Moonligth

24

MoonLight Debug

− Disponível apartir do mono 2.6 e MonoDevelop 2.2− http://www.youtube.com/watch?v=GSUZRZWzTQM

Page 25: Semana de Interop: Moonligth

25

Fora do Browser

−Desklets

−Integração com GTK

−Novo GNOME em MoonLight ???

Page 26: Semana de Interop: Moonligth

26

Demo- MoonLigth 1

− Desklets 0.13min− http://www.youtube.com/watch?v=IbMyPG4IKo8− Secreen Cast 1:29min− http://www.youtube.com/watch?v=qRSO7p0HAIw&feature=related− Lunar Eclipse: the Mono/Moonlight XAML editor 2:24− http://www.youtube.com/watch?v=98-qayPHl-4&feature=related

Page 27: Semana de Interop: Moonligth

27

MoonLigth Demo

− Usando Cairo e Ffmpeg

− Teste de uso do SilverLigt Canvas

Page 28: Semana de Interop: Moonligth

28

DEMOS

− http://www.iis.net/media/experiencesmoothstreaming

− http://www.smoothhd.com/

Page 29: Semana de Interop: Moonligth

29

DEMO

http://www.innoveware.com/quakelight.html

Page 30: Semana de Interop: Moonligth

30

Demo Aplicações

Page 31: Semana de Interop: Moonligth

31

Comunidade de Software Livre− Com um pouco de receio ao modelo

de distribuição adotado− Críticas ao moonlight e ao mono− Precisamos superar esses

problemas!!!

Page 32: Semana de Interop: Moonligth

Dúvidas

Alessandro de Oliveira BinharaMsc em Projetos ComplexosProjeto Mono [email protected]

18/01/2010

Page 33: Semana de Interop: Moonligth

© 2009 Microsoft Corporation. All rights reserved. Microsoft, MSDN, the MSDN logo, and [list other trademarks referenced] are trademarks of the Microsoft group of companies.  The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation.  Because Microsoft must respond

to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. 

MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED, OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.