building extensible rich internet applications with the managed extensibility framework l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Building Extensible Rich Internet Applications with the Managed Extensibility Framework PowerPoint Presentation
Download Presentation
Building Extensible Rich Internet Applications with the Managed Extensibility Framework

Loading in 2 Seconds...

play fullscreen
1 / 37

Building Extensible Rich Internet Applications with the Managed Extensibility Framework - PowerPoint PPT Presentation


  • 158 Views
  • Uploaded on

Building Extensible Rich Internet Applications with the Managed Extensibility Framework. Glenn Block Program Manager Microsoft Corporation. What we’ll cover. RIA Extensions, add-ins , and plugins oh my!. Extensibility implants. Turning fat apps into slimmer apps. Reality. RIA 1.0.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Building Extensible Rich Internet Applications with the Managed Extensibility Framework' - latona


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
building extensible rich internet applications with the managed extensibility framework

Building Extensible Rich Internet Applications with the Managed Extensibility Framework

Glenn Block

Program Manager

Microsoft Corporation

reality
Reality

RIA 1.0

reality7

We need…..

Reality

We need…..

We need…..

We need…..

K

We need…..

F

A

E

We need…..

J

I

D

RIA 1.0

C

B

H

G

We need…..

We need…..

We need….

We need….

managed extensibility framework
Managed Extensibility Framework

The Managed Extensibility Framework (MEF) is a new library in Silverlight 4 for building applications that can be incrementally extended.

  • For customers
  • For you and your team
  • Always there, always ready
mef basics
MEF Basics…

An Application is built ofparts.

mef basics11
MEF Basics…

Export it.

Import it.

Composeit.

export it
Export it.

[Export(typeof(UserControl))]

public class Widget1 : UserControl

{

public string Message {

get{return(string) Button.Content;}

set{Button.Content=value;}

}

}

Widget1

UserControl

Export

import it
Import it.

[Export(typeof(UserControl))]

public class Widget1 : UserControl

{

[Import]

public string Message {

get{return(string) Button.Content;}

set{Button.Content=value;}

}

}

Widget1

String

Import

import it14
Import it.

[Export(typeof(UserControl))]

public class Widget1 : UserControl

{

[Import(“HelloMEF.Message”)]

public string Message {

get{return(string) Button.Content;}

set{Button.Content=value;}

}

}

Widget1

“HelloMEF.Message”

Import

import it15
Import it.

[Export(typeof(UserControl))]

public class MainPage: UserControl

{

[ImportMany(typeof(UserControl))]

public IEnumerable<UserControl> {

get;set;

}

}

Main

Page

UserControl

ImportMany

compose it
Compose it.

PartIntializer: “Compose yourself”

public MainPage()

{

InitializeComponent();

PartInitializer.SatisfyImports(this);

}

MainPage

Compose

export it metadata
Export it - Metadata

[ExportMetadata(“Location”,Location.Top)]

[Export(typeof(UserControl))]

public class Widget1 : UserControl

{

public string Message {

get{return(string) Button.Content;}

set{Button.Content=value;}

}

}

Widget1

Put me in the top

UserControl

Export

import it metadata
Import it - Metadata

[Export(typeof(UserControl))]

public class MainPage: UserControl

{

[ImportMany(typeof(UserControl))]

public IEnumerable<Lazy<UserControl, IWidgetMetadata>

{

get;set;

}

}

Main

Page

UserControl

ImportMany

export it metadata22
Export it - Metadata

[ExportMetadata(“Location”,Location.Top)]

[Export(typeof(UserControl))]

public class Widget1 : UserControl

{

public string Message {

get{return(string) Button.Content;}

set{Button.Content=value;}

}

}

Widget1

Put me in the top

UserControl

Export

customize it custom exports
Customize it – Custom exports

[Widget(Location=Location.Top)]

public class Widget1 : UserControl

{

public string Message {

get{return(string) Button.Content;}

set{Button.Content=value;}

}

}

Widget1

Put me in the top

UserControl

Export

mef and prism

MEF and Prism

partner

Ariel Ben-Horesh

arielb@sela.co.il

blogs.microsoft.co.il/blogs/arielbh

Developer

Sela Group

introducing mef prism integration
Introducing MEF-Prism integration
  • Our Goal :

Enable an existing Prism application to be further extended through MEF

    • Enabled MEF modules to be added dynamically on the fly.
    • Enable MEF discovered components to be registered in IoC container (Such as Unity).
introducing mef prism integration28
Introducing MEF-Prism integration
  • Prism application starts and loads up known modules.

Module Loader

introducing mef prism integration29
Introducing MEF-Prism integration
  • Prism application can load unknownplugins, by using MEF as an abstraction layer.
  • 1. Plugins are located and added to a MEF catalog.

Server

introducing mef prism integration30
Introducing MEF-Prism integration
  • Prism application can load unknownplugins, by using MEF as an abstraction layer.
  • 2. Plugins register dependencies with current IoC container.

Server

introducing mef prism integration31
Introducing MEF-Prism integration
  • Prism application can load unknownplugins, by using MEF as an abstraction layer.
  • 3. Plugins are activated. Dependencies are injected.

Server

where can i get it
Where can I get it?
  • MEF ships in Silverlight 4.0
  • Dynamic XAP support in SL 4.0 Toolkit
  • Silverlight 3.0 support on Codeplex
  • MEF source ships under MSPL

Learn more:

Silverlight.net

MEF.Codeplex.com

MEFContrib.Codeplex.com – Prism/MEF

blogs.msdn.com/gblock

mef cross platform s

MEF Cross-platform(s)

partner

Jackson Harper

jackson@novell.com

blog.MonoOnTheWeb.info

Software Engineer

Moonlight Project

slide34

YOUR FEEDBACK IS IMPORTANT TO US!

Please fill out session evaluation forms online at

MicrosoftPDC.com

learn more on channel 9
Learn More On Channel 9
  • Expand your PDC experience through Channel 9
  • Explore videos, hands-on labs, sample code and demos through the new Channel 9 training courses

channel9.msdn.com/learn

Built by Developers for Developers….