SlideShare una empresa de Scribd logo
1 de 19
Plug-in Framework Made Easy Thomas Cheah Independent Software Consultant www.procto.biz
Who Am I? Started programming in 1993. 3 years distinction in eGenting Programming Competition. Specialized in 2D & 3D visualization and computational geometry. Previously co-founder and technical director of a computer game company. Currently developing software for building visualization, documentation, simulation.
What is Plug-in? Internet Explorer Add-Ons for third party extensions, search providers, accelerators, etc.
What is Plug-in? Microsoft Office Add-Ins provide helpful features and simplify existing Office capabilities.
What is Plug-in? Adobe Photoshop filter plug-ins provide extensible image processing capabilities and effects.
What is Plug-in? Skype Extras allows you to install additional applications / games that can be used with your Skype contacts list.
What is Plug-in? WordPressPlugins are tools to extend its functionality for easy modification, customization, and enhancement to your WordPress blog.
What is Plug-in? Comprehensive IP Telephony Services that I developed in 2003. Plug-ins are used to provide a wide range of telephony services like those offered in traditional phone over VoIP network.
Why Plug-in? Faster time-to-market for your software. Reduced software size. More extensive and practical software features and capabilities. Less hassle in software upgrade and support. Cheaper and more effective marketing. Greater loyalty from your customers.
How to Develop a Plug-in Framework? MainForm IPlugin PluginType1 PluginManager PluginType2 PluginType3
What Does PluginManager Do? Loads and initializes plug-ins. Retrieves plug-ins. Executes plug-ins. Disposes and releases all resources of plug-ins.
Loading and Initializing Plug-ins Start Initialize plug-in Read all plug-in files Add plug-in to cache Retrieve plug-in in the file Has more plug-in Is valid plug-in? Yes Yes No No Retrieve next plug-in End
How Does .NET Reflection Help? .NET Reflection provides run-time loading and inspection of type information.
DEMO XShow1 show… X-dimension of inspirations
A More Robust Plug-in Framework MainForm PluginApi PluginManager IPlugin
Other Design Considerations Using attributes for plug-in metadata. Version control in PluginManager. Different plug-in interfaces for different functional areas. Make PluginApi as an interface that is implemented by MainForm.
Q&A Questions & Answers
THANKS Thank You!Feel free to contact me at thomascheah@procto.biz

Más contenido relacionado

Destacado

Software virtualization lessons for extreme IoT portability and scale
Software virtualization lessons for extreme IoT portability and scaleSoftware virtualization lessons for extreme IoT portability and scale
Software virtualization lessons for extreme IoT portability and scaleMicroEJ
 
Combining OSGi technology and Web Services to realize the plug-n-play dream i...
Combining OSGi technology and Web Services to realize the plug-n-play dream i...Combining OSGi technology and Web Services to realize the plug-n-play dream i...
Combining OSGi technology and Web Services to realize the plug-n-play dream i...mfrancis
 
Ad tech Mobile Mix: from “Sorta” to Portable
Ad tech Mobile Mix: from “Sorta” to PortableAd tech Mobile Mix: from “Sorta” to Portable
Ad tech Mobile Mix: from “Sorta” to PortableSalesforce Marketing Cloud
 
RightScale Webinar: Key Considerations For Cloud Migration and Portability
RightScale Webinar:  Key Considerations For Cloud Migration and PortabilityRightScale Webinar:  Key Considerations For Cloud Migration and Portability
RightScale Webinar: Key Considerations For Cloud Migration and PortabilityRightScale
 
Architecture and Practices on Cloud Interoperability and Portability
Architecture and Practices on Cloud Interoperability and PortabilityArchitecture and Practices on Cloud Interoperability and Portability
Architecture and Practices on Cloud Interoperability and PortabilityThomas Lee
 
The Top Skills That Can Get You Hired in 2017
The Top Skills That Can Get You Hired in 2017The Top Skills That Can Get You Hired in 2017
The Top Skills That Can Get You Hired in 2017LinkedIn
 

Destacado (7)

Software virtualization lessons for extreme IoT portability and scale
Software virtualization lessons for extreme IoT portability and scaleSoftware virtualization lessons for extreme IoT portability and scale
Software virtualization lessons for extreme IoT portability and scale
 
Combining OSGi technology and Web Services to realize the plug-n-play dream i...
Combining OSGi technology and Web Services to realize the plug-n-play dream i...Combining OSGi technology and Web Services to realize the plug-n-play dream i...
Combining OSGi technology and Web Services to realize the plug-n-play dream i...
 
Ad tech Mobile Mix: from “Sorta” to Portable
Ad tech Mobile Mix: from “Sorta” to PortableAd tech Mobile Mix: from “Sorta” to Portable
Ad tech Mobile Mix: from “Sorta” to Portable
 
RightScale Webinar: Key Considerations For Cloud Migration and Portability
RightScale Webinar:  Key Considerations For Cloud Migration and PortabilityRightScale Webinar:  Key Considerations For Cloud Migration and Portability
RightScale Webinar: Key Considerations For Cloud Migration and Portability
 
Architecture and Practices on Cloud Interoperability and Portability
Architecture and Practices on Cloud Interoperability and PortabilityArchitecture and Practices on Cloud Interoperability and Portability
Architecture and Practices on Cloud Interoperability and Portability
 
Vodafone Strategy
Vodafone StrategyVodafone Strategy
Vodafone Strategy
 
The Top Skills That Can Get You Hired in 2017
The Top Skills That Can Get You Hired in 2017The Top Skills That Can Get You Hired in 2017
The Top Skills That Can Get You Hired in 2017
 

Similar a Plug in framework made easy

What's New in Flutter 3.10_ Here's a Sneak Peek.pdf
What's New in Flutter 3.10_ Here's a Sneak Peek.pdfWhat's New in Flutter 3.10_ Here's a Sneak Peek.pdf
What's New in Flutter 3.10_ Here's a Sneak Peek.pdfExpert App Devs
 
The advantages and disadvantages of .net framework programming
The advantages and disadvantages of .net framework programmingThe advantages and disadvantages of .net framework programming
The advantages and disadvantages of .net framework programmingSameerShaik43
 
Share Vision First Trip
Share Vision First TripShare Vision First Trip
Share Vision First TripKhou Suylong
 
Extending the Visual Studio 2010 Code Editor to Visualize Runtime Intelligenc...
Extending the Visual Studio 2010 Code Editor to Visualize Runtime Intelligenc...Extending the Visual Studio 2010 Code Editor to Visualize Runtime Intelligenc...
Extending the Visual Studio 2010 Code Editor to Visualize Runtime Intelligenc...Joe Kuemerle
 
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy EnvironmentsPete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy EnvironmentsPeter Marshall
 
06 operations and feedback
06   operations and feedback06   operations and feedback
06 operations and feedbackClemens Reijnen
 
Software design.edited (1)
Software design.edited (1)Software design.edited (1)
Software design.edited (1)FarjanaAhmed3
 
Why Is Flutter A Great Platform Amidst All Cross-Platform Apps?
Why Is Flutter A Great Platform Amidst All Cross-Platform Apps?Why Is Flutter A Great Platform Amidst All Cross-Platform Apps?
Why Is Flutter A Great Platform Amidst All Cross-Platform Apps?Netizens Technologies
 
Top Amazing Benefits Of Flutter In Cross-platform App Development
Top Amazing Benefits Of Flutter In Cross-platform App DevelopmentTop Amazing Benefits Of Flutter In Cross-platform App Development
Top Amazing Benefits Of Flutter In Cross-platform App DevelopmentNetizens Technologies
 
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the Key
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the KeyIIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the Key
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the KeyAustraliaChapterIIBA
 
Leveraging Generative AI: Exploring New Technology for Data Integration
Leveraging Generative AI: Exploring New Technology for Data IntegrationLeveraging Generative AI: Exploring New Technology for Data Integration
Leveraging Generative AI: Exploring New Technology for Data IntegrationSafe Software
 
Low/No Cost Software is it right for your business
Low/No Cost Software is it right for your businessLow/No Cost Software is it right for your business
Low/No Cost Software is it right for your businessBill Maynard
 
How Custom Software Development Can Benefit your Business.pdf
How Custom Software Development Can Benefit your Business.pdfHow Custom Software Development Can Benefit your Business.pdf
How Custom Software Development Can Benefit your Business.pdfIntegrated IT Solutions
 
A Comprehensive Guide to App Development with Python - AppsDevPro
A Comprehensive Guide to App Development with Python - AppsDevProA Comprehensive Guide to App Development with Python - AppsDevPro
A Comprehensive Guide to App Development with Python - AppsDevProSofiaCarter4
 

Similar a Plug in framework made easy (20)

What's New in Flutter 3.10_ Here's a Sneak Peek.pdf
What's New in Flutter 3.10_ Here's a Sneak Peek.pdfWhat's New in Flutter 3.10_ Here's a Sneak Peek.pdf
What's New in Flutter 3.10_ Here's a Sneak Peek.pdf
 
Develop MS Office Plugins
Develop MS Office Plugins Develop MS Office Plugins
Develop MS Office Plugins
 
Plugin theme
Plugin themePlugin theme
Plugin theme
 
The advantages and disadvantages of .net framework programming
The advantages and disadvantages of .net framework programmingThe advantages and disadvantages of .net framework programming
The advantages and disadvantages of .net framework programming
 
Share Vision First Trip
Share Vision First TripShare Vision First Trip
Share Vision First Trip
 
Teamwork Presentation
Teamwork PresentationTeamwork Presentation
Teamwork Presentation
 
Chapter 3
Chapter 3Chapter 3
Chapter 3
 
Extending the Visual Studio 2010 Code Editor to Visualize Runtime Intelligenc...
Extending the Visual Studio 2010 Code Editor to Visualize Runtime Intelligenc...Extending the Visual Studio 2010 Code Editor to Visualize Runtime Intelligenc...
Extending the Visual Studio 2010 Code Editor to Visualize Runtime Intelligenc...
 
Sepm t1
Sepm t1Sepm t1
Sepm t1
 
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy EnvironmentsPete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments
 
06 operations and feedback
06   operations and feedback06   operations and feedback
06 operations and feedback
 
Software design.edited (1)
Software design.edited (1)Software design.edited (1)
Software design.edited (1)
 
Why Is Flutter A Great Platform Amidst All Cross-Platform Apps?
Why Is Flutter A Great Platform Amidst All Cross-Platform Apps?Why Is Flutter A Great Platform Amidst All Cross-Platform Apps?
Why Is Flutter A Great Platform Amidst All Cross-Platform Apps?
 
Top Amazing Benefits Of Flutter In Cross-platform App Development
Top Amazing Benefits Of Flutter In Cross-platform App DevelopmentTop Amazing Benefits Of Flutter In Cross-platform App Development
Top Amazing Benefits Of Flutter In Cross-platform App Development
 
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the Key
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the KeyIIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the Key
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the Key
 
Leveraging Generative AI: Exploring New Technology for Data Integration
Leveraging Generative AI: Exploring New Technology for Data IntegrationLeveraging Generative AI: Exploring New Technology for Data Integration
Leveraging Generative AI: Exploring New Technology for Data Integration
 
Low/No Cost Software is it right for your business
Low/No Cost Software is it right for your businessLow/No Cost Software is it right for your business
Low/No Cost Software is it right for your business
 
How Custom Software Development Can Benefit your Business.pdf
How Custom Software Development Can Benefit your Business.pdfHow Custom Software Development Can Benefit your Business.pdf
How Custom Software Development Can Benefit your Business.pdf
 
A Comprehensive Guide to App Development with Python - AppsDevPro
A Comprehensive Guide to App Development with Python - AppsDevProA Comprehensive Guide to App Development with Python - AppsDevPro
A Comprehensive Guide to App Development with Python - AppsDevPro
 
Impetus12
Impetus12Impetus12
Impetus12
 

Más de Thomas Cheah

Introduction to Artificial Intelligence
Introduction to Artificial IntelligenceIntroduction to Artificial Intelligence
Introduction to Artificial IntelligenceThomas Cheah
 
SME Innovation Stories #5: How we can use gamification to increase retention ...
SME Innovation Stories #5: How we can use gamification to increase retention ...SME Innovation Stories #5: How we can use gamification to increase retention ...
SME Innovation Stories #5: How we can use gamification to increase retention ...Thomas Cheah
 
Procurement Reformation in South East Asia
Procurement Reformation in South East AsiaProcurement Reformation in South East Asia
Procurement Reformation in South East AsiaThomas Cheah
 
SME Innovation Stories #2: Providing High Quality Customer Service through In...
SME Innovation Stories #2: Providing High Quality Customer Service through In...SME Innovation Stories #2: Providing High Quality Customer Service through In...
SME Innovation Stories #2: Providing High Quality Customer Service through In...Thomas Cheah
 
The Shape of Logistics in the Future
The Shape of Logistics in the FutureThe Shape of Logistics in the Future
The Shape of Logistics in the FutureThomas Cheah
 
7 Procurement Predictions for 2017
7 Procurement Predictions for 20177 Procurement Predictions for 2017
7 Procurement Predictions for 2017Thomas Cheah
 
Stages of Global Sourcing
Stages of Global SourcingStages of Global Sourcing
Stages of Global SourcingThomas Cheah
 
5 Strategies to Make Category Management Work
5 Strategies to Make Category Management Work5 Strategies to Make Category Management Work
5 Strategies to Make Category Management WorkThomas Cheah
 
Challenges and Benefits of Sustainable Sourcing
Challenges and Benefits of Sustainable SourcingChallenges and Benefits of Sustainable Sourcing
Challenges and Benefits of Sustainable SourcingThomas Cheah
 
StartupPartners » How It Works
StartupPartners » How It WorksStartupPartners » How It Works
StartupPartners » How It WorksThomas Cheah
 
Building The Smarter Way
Building The Smarter WayBuilding The Smarter Way
Building The Smarter WayThomas Cheah
 

Más de Thomas Cheah (11)

Introduction to Artificial Intelligence
Introduction to Artificial IntelligenceIntroduction to Artificial Intelligence
Introduction to Artificial Intelligence
 
SME Innovation Stories #5: How we can use gamification to increase retention ...
SME Innovation Stories #5: How we can use gamification to increase retention ...SME Innovation Stories #5: How we can use gamification to increase retention ...
SME Innovation Stories #5: How we can use gamification to increase retention ...
 
Procurement Reformation in South East Asia
Procurement Reformation in South East AsiaProcurement Reformation in South East Asia
Procurement Reformation in South East Asia
 
SME Innovation Stories #2: Providing High Quality Customer Service through In...
SME Innovation Stories #2: Providing High Quality Customer Service through In...SME Innovation Stories #2: Providing High Quality Customer Service through In...
SME Innovation Stories #2: Providing High Quality Customer Service through In...
 
The Shape of Logistics in the Future
The Shape of Logistics in the FutureThe Shape of Logistics in the Future
The Shape of Logistics in the Future
 
7 Procurement Predictions for 2017
7 Procurement Predictions for 20177 Procurement Predictions for 2017
7 Procurement Predictions for 2017
 
Stages of Global Sourcing
Stages of Global SourcingStages of Global Sourcing
Stages of Global Sourcing
 
5 Strategies to Make Category Management Work
5 Strategies to Make Category Management Work5 Strategies to Make Category Management Work
5 Strategies to Make Category Management Work
 
Challenges and Benefits of Sustainable Sourcing
Challenges and Benefits of Sustainable SourcingChallenges and Benefits of Sustainable Sourcing
Challenges and Benefits of Sustainable Sourcing
 
StartupPartners » How It Works
StartupPartners » How It WorksStartupPartners » How It Works
StartupPartners » How It Works
 
Building The Smarter Way
Building The Smarter WayBuilding The Smarter Way
Building The Smarter Way
 

Último

Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 

Último (20)

Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 

Plug in framework made easy

  • 1.
  • 2. Plug-in Framework Made Easy Thomas Cheah Independent Software Consultant www.procto.biz
  • 3. Who Am I? Started programming in 1993. 3 years distinction in eGenting Programming Competition. Specialized in 2D & 3D visualization and computational geometry. Previously co-founder and technical director of a computer game company. Currently developing software for building visualization, documentation, simulation.
  • 4. What is Plug-in? Internet Explorer Add-Ons for third party extensions, search providers, accelerators, etc.
  • 5. What is Plug-in? Microsoft Office Add-Ins provide helpful features and simplify existing Office capabilities.
  • 6. What is Plug-in? Adobe Photoshop filter plug-ins provide extensible image processing capabilities and effects.
  • 7. What is Plug-in? Skype Extras allows you to install additional applications / games that can be used with your Skype contacts list.
  • 8. What is Plug-in? WordPressPlugins are tools to extend its functionality for easy modification, customization, and enhancement to your WordPress blog.
  • 9. What is Plug-in? Comprehensive IP Telephony Services that I developed in 2003. Plug-ins are used to provide a wide range of telephony services like those offered in traditional phone over VoIP network.
  • 10. Why Plug-in? Faster time-to-market for your software. Reduced software size. More extensive and practical software features and capabilities. Less hassle in software upgrade and support. Cheaper and more effective marketing. Greater loyalty from your customers.
  • 11. How to Develop a Plug-in Framework? MainForm IPlugin PluginType1 PluginManager PluginType2 PluginType3
  • 12. What Does PluginManager Do? Loads and initializes plug-ins. Retrieves plug-ins. Executes plug-ins. Disposes and releases all resources of plug-ins.
  • 13. Loading and Initializing Plug-ins Start Initialize plug-in Read all plug-in files Add plug-in to cache Retrieve plug-in in the file Has more plug-in Is valid plug-in? Yes Yes No No Retrieve next plug-in End
  • 14. How Does .NET Reflection Help? .NET Reflection provides run-time loading and inspection of type information.
  • 15. DEMO XShow1 show… X-dimension of inspirations
  • 16. A More Robust Plug-in Framework MainForm PluginApi PluginManager IPlugin
  • 17. Other Design Considerations Using attributes for plug-in metadata. Version control in PluginManager. Different plug-in interfaces for different functional areas. Make PluginApi as an interface that is implemented by MainForm.
  • 18. Q&A Questions & Answers
  • 19. THANKS Thank You!Feel free to contact me at thomascheah@procto.biz

Notas del editor

  1. Retrieving plug-inmetadata without the need of instantiating the plug-in.Version control to load the latest plug-in when conflict.Make PluginApi as an interface that is implemented by MainForm if most of the application logic and functionalities are located in MainForm.