MvvmCross is moving to a portable class library architecture to address problems with the previous version. The new version separates platform-specific code from portable code to reduce library size and enable automated cross-platform refactoring. Core functionality like MVVM patterns and a plugin system are defined in portable class libraries. Platform-specific implementations provide interfaces for each plugin. This allows plugins to be written once and used across platforms, improving extensibility and simplifying support for new platforms.
Creating iOS and Android Apps with Visual Studio and C# mobiweave
Use Visual Studio and your C#/.NET skills to get your Windows apps into iOS and Android App stores. We will talk about using Xamarin's iOS and Android platforms to use Visual Studio develop and debug your apps. Use the entire Visual Studio's ecosystem of tools like Resharper to help you get more productive when developing mobile apps.
Presenter's Bio:
Ash DCosta is the founder and chief architect at Mobi Weave (http://mobiweave.com), a cloud and mobile solution provider. He has 20+ years of experience in software with Intel, i2 Technologies, IdentityMine, i3Connect and Wells Fargo.
Follow him at @softwareweaver.
iOS & Android Dev in C# & Visual Studio using XamarinNish Anil
Rarely does a developer have the luxury of building mobile apps for a single mobile platform. The fact is, the smartphone and tablet space is dominated by three big platforms: iOS, Android and Windows. Traditionally, this means using each platform's provided technology and SDK, i.e. Objective-C for iOS, Java for Android and .NET for Windows, or choosing a write-once/run-anywhere cross-platform toolkit which provides a lowest-common-denominator experience on all platforms, and prevents developers from going "to the metal" on any given platform to take advantage of the native features that make a mobile platform great.
With Xamarin, however, this limitation does not exist. Not only do you get a single, modern language (C#) and framework (.NET) across all three platforms, but you also get a native experience on each, giving your code direct access to the underlying SDK and device metal, including platform-specific UI and device capabilities, so that you can deliver a truly amazing native experience on every platform you target.
Extending, optimizing, and accelerating Xamarin and Xamarin.Forms app develop...James Montemagno
Leveraging C# and it’s awesome features to developer iOS and Android apps with Xamarin allows for rapid application development, but how can you go even further. In this session we will take a look at tools, libraries, and other resources to increase productivity enabling you to write less code and share more code across all of your apps. We will additionally dive through everything new in Xamarin.Forms and several tools that Forms has built in to help with cross platform development. No matter how you are developing applications with Xamarin you will be sure to find something new and fun to use on a day to day basis.
Session conjointe de Zaak Chalal (RedFabriQ) et de Erik Polzin (Xamarin) au Microsoft Techdays 2014 sur le thème du développement d'applications mobiles en natif.
Creating iOS and Android Apps with Visual Studio and C# mobiweave
Use Visual Studio and your C#/.NET skills to get your Windows apps into iOS and Android App stores. We will talk about using Xamarin's iOS and Android platforms to use Visual Studio develop and debug your apps. Use the entire Visual Studio's ecosystem of tools like Resharper to help you get more productive when developing mobile apps.
Presenter's Bio:
Ash DCosta is the founder and chief architect at Mobi Weave (http://mobiweave.com), a cloud and mobile solution provider. He has 20+ years of experience in software with Intel, i2 Technologies, IdentityMine, i3Connect and Wells Fargo.
Follow him at @softwareweaver.
iOS & Android Dev in C# & Visual Studio using XamarinNish Anil
Rarely does a developer have the luxury of building mobile apps for a single mobile platform. The fact is, the smartphone and tablet space is dominated by three big platforms: iOS, Android and Windows. Traditionally, this means using each platform's provided technology and SDK, i.e. Objective-C for iOS, Java for Android and .NET for Windows, or choosing a write-once/run-anywhere cross-platform toolkit which provides a lowest-common-denominator experience on all platforms, and prevents developers from going "to the metal" on any given platform to take advantage of the native features that make a mobile platform great.
With Xamarin, however, this limitation does not exist. Not only do you get a single, modern language (C#) and framework (.NET) across all three platforms, but you also get a native experience on each, giving your code direct access to the underlying SDK and device metal, including platform-specific UI and device capabilities, so that you can deliver a truly amazing native experience on every platform you target.
Extending, optimizing, and accelerating Xamarin and Xamarin.Forms app develop...James Montemagno
Leveraging C# and it’s awesome features to developer iOS and Android apps with Xamarin allows for rapid application development, but how can you go even further. In this session we will take a look at tools, libraries, and other resources to increase productivity enabling you to write less code and share more code across all of your apps. We will additionally dive through everything new in Xamarin.Forms and several tools that Forms has built in to help with cross platform development. No matter how you are developing applications with Xamarin you will be sure to find something new and fun to use on a day to day basis.
Session conjointe de Zaak Chalal (RedFabriQ) et de Erik Polzin (Xamarin) au Microsoft Techdays 2014 sur le thème du développement d'applications mobiles en natif.
Have you ever wanted to build a robot? How about powering it and controlling it completely with C# and .NET? With Monkey.Robotics it is now completely possible. Come learn how Monkey.Robotics simplifies the tasks of building complex .NET Microframework power robots and how you can communicate with them from iOS and Android apps powered by Xamarin. We will take a look at the process of building a robot from start to finish. Then we will implement the microcontroller stack to communicate with sensors and other hardware on a Netduino. Then we will build out a full iOS and Android app in C# to control it!
Xamarin 4 was just announced including some amazing new features and enhancements including the all new Xamarin Mac Agent and Xamarin.Forms 2.0 for enterprise grade mobile development, the brand new Test Recorder, and free crash reporting with the General Availability of Xamarin Insights. This month we will take a look at all the new enhancements into iOS and Android Development in C# with Xamarin and all of the latest features that were just released. There will be something for everyone in this content packed meetup no matter if you are new or have been developing with Xamarin for some time.
Build 2016 - B836 - Cross-Platform Mobile with XamarinWindows Developer
Xamarin and Microsoft empower .NET developers to become native iOS, Android, and Windows mobile app developers overnight. Apps built with Xamarin deliver truly native user experiences, 100% native API access, and native performance. Leverage your existing C# skills and .NET libraries to share code across all platforms and create a shared mobile app backend. Then build a beautiful user interface utilizing the iOS and Android designers right from inside of your favorite IDE, Visual Studio. During this session we will cover how Xamarin and Microsoft enable you to own the full development lifecycle end-to-end. From education, development, test, deployment, and monitoring we have something to help make it fast, easy, and fun to make great mobile apps.
Mobile Enterprise Success with Xamarin and IBMXamarin
We recently announced our collaboration with IBM, allowing businesses to build fully native iOS, Android and Windows Phone applications with shared code – while also leveraging IBM Mobile First Worklight’s robust integration, security and connectivity. With this partnership, enterprises are able to deliver both the UI quality consumers demand and the enterprise-grade backend and reliability that corporations require.
In this webinar, IBM and Xamarin technical executives discuss the IBM and Xamarin partnership, demo the IBM MobileFirst SDK for Xamarin, walk through the IBM Worklight platform, and answer audience questions.
Learn from Nat Friedman and Miguel de Icaza about Xamarin 2.0, including Xamarin Studio, building iOS and Android mobile apps in Visual Studio and the Xamarin Component Store.
Native i os, android, and windows development in c# with xamarin 4Xamarin
Dive into mobile app development with Xamarin 4 in this presentation from Xamarin Developer Evangelist James Montemagno as he walks you through how to build beautiful, performant apps with the Xamarin Platform.
Design and develop cross-platform mobile apps using MVVMCrossDan Ardelean
Today's mobile market is a very dynamic one with three dominating major platforms: Windows, iOS and Android. In order to reach more users and to sustain the migration between the various platforms the mobile applications should be designed with an cross-platform approach in mind. In this session we will see how using the MvvmCross framework we can develop native mobile cross-platforms applications using C# and share the source code between the three platforms. This allows better time to market but even more important better maintainability.
Innomatic is the platform for building Enterprise and Multi Tenant applications in PHP.
This presentation is an overview of the Innomatic Platform Architecture.
Using java interop in your xamarin.android appsWillem Meints
Talk I did on Java interop on the Mono for Android platform. Shows what Mono Callable Wrappers are and what you can do with them. Also demonstrates the use of Java Binding Libraries.
Nokia Qt SDK in action - Qt developer days 2010Nokia
Presentation for Qt developer days 2010 in Munich covering the details of using Nokia Qt SDK and publishing the applications to Ovi store. Focusing on Symbian but covering the current status of maemo. Explains the Ovi Store Symbian Signing Service.
Slide Deck of my presentation at the SoCal Code Camp June 23rd 2012 in San Diego
WinRT Fundamentals by Kevin Stumpf
Check out the corresponding blog post:
http://blogs.interknowlogy.com/2012/06/25/socal-code-camp-winrt-fundamentals/
This presentation was highly code and talk laden, so the deck itself might not be too useful if you haven't attended my session. However, attendees asked me to publish the slides... so there they are :-)
Have you ever wanted to build a robot? How about powering it and controlling it completely with C# and .NET? With Monkey.Robotics it is now completely possible. Come learn how Monkey.Robotics simplifies the tasks of building complex .NET Microframework power robots and how you can communicate with them from iOS and Android apps powered by Xamarin. We will take a look at the process of building a robot from start to finish. Then we will implement the microcontroller stack to communicate with sensors and other hardware on a Netduino. Then we will build out a full iOS and Android app in C# to control it!
Xamarin 4 was just announced including some amazing new features and enhancements including the all new Xamarin Mac Agent and Xamarin.Forms 2.0 for enterprise grade mobile development, the brand new Test Recorder, and free crash reporting with the General Availability of Xamarin Insights. This month we will take a look at all the new enhancements into iOS and Android Development in C# with Xamarin and all of the latest features that were just released. There will be something for everyone in this content packed meetup no matter if you are new or have been developing with Xamarin for some time.
Build 2016 - B836 - Cross-Platform Mobile with XamarinWindows Developer
Xamarin and Microsoft empower .NET developers to become native iOS, Android, and Windows mobile app developers overnight. Apps built with Xamarin deliver truly native user experiences, 100% native API access, and native performance. Leverage your existing C# skills and .NET libraries to share code across all platforms and create a shared mobile app backend. Then build a beautiful user interface utilizing the iOS and Android designers right from inside of your favorite IDE, Visual Studio. During this session we will cover how Xamarin and Microsoft enable you to own the full development lifecycle end-to-end. From education, development, test, deployment, and monitoring we have something to help make it fast, easy, and fun to make great mobile apps.
Mobile Enterprise Success with Xamarin and IBMXamarin
We recently announced our collaboration with IBM, allowing businesses to build fully native iOS, Android and Windows Phone applications with shared code – while also leveraging IBM Mobile First Worklight’s robust integration, security and connectivity. With this partnership, enterprises are able to deliver both the UI quality consumers demand and the enterprise-grade backend and reliability that corporations require.
In this webinar, IBM and Xamarin technical executives discuss the IBM and Xamarin partnership, demo the IBM MobileFirst SDK for Xamarin, walk through the IBM Worklight platform, and answer audience questions.
Learn from Nat Friedman and Miguel de Icaza about Xamarin 2.0, including Xamarin Studio, building iOS and Android mobile apps in Visual Studio and the Xamarin Component Store.
Native i os, android, and windows development in c# with xamarin 4Xamarin
Dive into mobile app development with Xamarin 4 in this presentation from Xamarin Developer Evangelist James Montemagno as he walks you through how to build beautiful, performant apps with the Xamarin Platform.
Design and develop cross-platform mobile apps using MVVMCrossDan Ardelean
Today's mobile market is a very dynamic one with three dominating major platforms: Windows, iOS and Android. In order to reach more users and to sustain the migration between the various platforms the mobile applications should be designed with an cross-platform approach in mind. In this session we will see how using the MvvmCross framework we can develop native mobile cross-platforms applications using C# and share the source code between the three platforms. This allows better time to market but even more important better maintainability.
Innomatic is the platform for building Enterprise and Multi Tenant applications in PHP.
This presentation is an overview of the Innomatic Platform Architecture.
Using java interop in your xamarin.android appsWillem Meints
Talk I did on Java interop on the Mono for Android platform. Shows what Mono Callable Wrappers are and what you can do with them. Also demonstrates the use of Java Binding Libraries.
Nokia Qt SDK in action - Qt developer days 2010Nokia
Presentation for Qt developer days 2010 in Munich covering the details of using Nokia Qt SDK and publishing the applications to Ovi store. Focusing on Symbian but covering the current status of maemo. Explains the Ovi Store Symbian Signing Service.
Slide Deck of my presentation at the SoCal Code Camp June 23rd 2012 in San Diego
WinRT Fundamentals by Kevin Stumpf
Check out the corresponding blog post:
http://blogs.interknowlogy.com/2012/06/25/socal-code-camp-winrt-fundamentals/
This presentation was highly code and talk laden, so the deck itself might not be too useful if you haven't attended my session. However, attendees asked me to publish the slides... so there they are :-)
MvvmCross 6 has finally arrived! In this session we will explore how can it help you build polished, scalable apps without compromise. It doesn’t matter if you use Xamarin.Forms or the traditional approach, MvvmCross 6 will supercharge your development!
Supercharge your releases with netflix nebulaDanijel Mitar
The release process is one of the cornerstones of every customer oriented software development effort. Although teams easily embrace different tools used to implement release management, some practices inside the release process could use an improvement (or at least some automation) - in my experience teams often still version their software manually and package their software as war or jar files.This talk will showcase two useful Gradle plugins, available in the Netflix OSS Nebula portfolio: the release plugin which takes an opinionated semantic versioning approach to versioning of software and the OsPackage plugin which allows us to package our software as native Linux RPM or DEB packages. A live demo will show you the advantages of such versioning and packaging approaches.
Docker on a laptop is easy, but Docker in the cloud is hard. Networking, scaling, and security are very different problems at cloud scale than on a laptop, and they can combine to sink a project before it ships What makes that transition so hard, and what can we do about it? How does this challenge affect hosting infrastructure and application design?
Casey will share lessons learned, open-source solutions, and working patterns for building and scaling applications to production.
Presented at:
http://www.meetup.com/Docker-Austin/events/223284441/
http://www.meetup.com/Docker-Philadelphia/events/223290624/
Video at http://mrkn.co/andsec
With Android activations reaching a million devices per day, it is no surprise that security threats against our favorite mobile platform have been on the rise.
In this session, you will learn all about Android's security model, including application isolation (sandboxing) and provenance (signing), its permission system and enforcement, data protection features and encryption, as well as enterprise device administration.
Together, we will dig into Android's own internals to see how its security model is applied through the entire Android stack - from the Linux kernel, to the native layers, to the Application Framework services, and to the applications themselves.
Finally, you’ll learn about some of the weaknesses in the Android's model (including rooting, tap-jacking, malware, social-engineering) as well as what can be done to mitigate those threats, such as SE-Linux, memory protection, anti-malware, firewall, and developer best practices.
By the end of this session you will have a better understanding of what it takes to make Android a more trusted component of our personal and professional lives.
Prairie DevCon-What's New in Hyper-V in Windows Server "8" Beta - Part 2Damir Bersinic
This is the second of a 2-part series delivered at Prairie DevCon in Calgry on March 15. 2012. The sessions provided a quick overview of the new features of Hyper-V in Windows Server "8" Beta and how these compare to VMware vSphere 5.
Presentation at @wpug covering lots of mvvm goodness across all of: iOS, Android, WP7 and WinRT - using the Microsoft and Xamarin tools - vs2010, vs2011, MonoTouch and MonoDroid - and using mvvmCross library for Mvvm and DataBinding
Presentation on some of my recent experiences with Microsoft Azure, Amazon S3, GoGrid and other cloud technologies, especially while developing:
- http://www.runsaturday.com
- http://www.stacka.com
- http://www.clouddotnet.com
I'm presenting this tonight at the London .Net User's group - but thought it would be useful to share more widely!
If you need more info, contact me@slodge.com - please mark your email with No Spam somehow... hopefully it will get through to me.
[Note: This is a partial preview. To download this presentation, visit:
https://www.oeconsulting.com.sg/training-presentations]
Sustainability has become an increasingly critical topic as the world recognizes the need to protect our planet and its resources for future generations. Sustainability means meeting our current needs without compromising the ability of future generations to meet theirs. It involves long-term planning and consideration of the consequences of our actions. The goal is to create strategies that ensure the long-term viability of People, Planet, and Profit.
Leading companies such as Nike, Toyota, and Siemens are prioritizing sustainable innovation in their business models, setting an example for others to follow. In this Sustainability training presentation, you will learn key concepts, principles, and practices of sustainability applicable across industries. This training aims to create awareness and educate employees, senior executives, consultants, and other key stakeholders, including investors, policymakers, and supply chain partners, on the importance and implementation of sustainability.
LEARNING OBJECTIVES
1. Develop a comprehensive understanding of the fundamental principles and concepts that form the foundation of sustainability within corporate environments.
2. Explore the sustainability implementation model, focusing on effective measures and reporting strategies to track and communicate sustainability efforts.
3. Identify and define best practices and critical success factors essential for achieving sustainability goals within organizations.
CONTENTS
1. Introduction and Key Concepts of Sustainability
2. Principles and Practices of Sustainability
3. Measures and Reporting in Sustainability
4. Sustainability Implementation & Best Practices
To download the complete presentation, visit: https://www.oeconsulting.com.sg/training-presentations
Building Your Employer Brand with Social MediaLuanWise
Presented at The Global HR Summit, 6th June 2024
In this keynote, Luan Wise will provide invaluable insights to elevate your employer brand on social media platforms including LinkedIn, Facebook, Instagram, X (formerly Twitter) and TikTok. You'll learn how compelling content can authentically showcase your company culture, values, and employee experiences to support your talent acquisition and retention objectives. Additionally, you'll understand the power of employee advocacy to amplify reach and engagement – helping to position your organization as an employer of choice in today's competitive talent landscape.
Discover the innovative and creative projects that highlight my journey throu...dylandmeas
Discover the innovative and creative projects that highlight my journey through Full Sail University. Below, you’ll find a collection of my work showcasing my skills and expertise in digital marketing, event planning, and media production.
"𝑩𝑬𝑮𝑼𝑵 𝑾𝑰𝑻𝑯 𝑻𝑱 𝑰𝑺 𝑯𝑨𝑳𝑭 𝑫𝑶𝑵𝑬"
𝐓𝐉 𝐂𝐨𝐦𝐬 (𝐓𝐉 𝐂𝐨𝐦𝐦𝐮𝐧𝐢𝐜𝐚𝐭𝐢𝐨𝐧𝐬) is a professional event agency that includes experts in the event-organizing market in Vietnam, Korea, and ASEAN countries. We provide unlimited types of events from Music concerts, Fan meetings, and Culture festivals to Corporate events, Internal company events, Golf tournaments, MICE events, and Exhibitions.
𝐓𝐉 𝐂𝐨𝐦𝐬 provides unlimited package services including such as Event organizing, Event planning, Event production, Manpower, PR marketing, Design 2D/3D, VIP protocols, Interpreter agency, etc.
Sports events - Golf competitions/billiards competitions/company sports events: dynamic and challenging
⭐ 𝐅𝐞𝐚𝐭𝐮𝐫𝐞𝐝 𝐩𝐫𝐨𝐣𝐞𝐜𝐭𝐬:
➢ 2024 BAEKHYUN [Lonsdaleite] IN HO CHI MINH
➢ SUPER JUNIOR-L.S.S. THE SHOW : Th3ee Guys in HO CHI MINH
➢FreenBecky 1st Fan Meeting in Vietnam
➢CHILDREN ART EXHIBITION 2024: BEYOND BARRIERS
➢ WOW K-Music Festival 2023
➢ Winner [CROSS] Tour in HCM
➢ Super Show 9 in HCM with Super Junior
➢ HCMC - Gyeongsangbuk-do Culture and Tourism Festival
➢ Korean Vietnam Partnership - Fair with LG
➢ Korean President visits Samsung Electronics R&D Center
➢ Vietnam Food Expo with Lotte Wellfood
"𝐄𝐯𝐞𝐫𝐲 𝐞𝐯𝐞𝐧𝐭 𝐢𝐬 𝐚 𝐬𝐭𝐨𝐫𝐲, 𝐚 𝐬𝐩𝐞𝐜𝐢𝐚𝐥 𝐣𝐨𝐮𝐫𝐧𝐞𝐲. 𝐖𝐞 𝐚𝐥𝐰𝐚𝐲𝐬 𝐛𝐞𝐥𝐢𝐞𝐯𝐞 𝐭𝐡𝐚𝐭 𝐬𝐡𝐨𝐫𝐭𝐥𝐲 𝐲𝐨𝐮 𝐰𝐢𝐥𝐥 𝐛𝐞 𝐚 𝐩𝐚𝐫𝐭 𝐨𝐟 𝐨𝐮𝐫 𝐬𝐭𝐨𝐫𝐢𝐞𝐬."
Cracking the Workplace Discipline Code Main.pptxWorkforce Group
Cultivating and maintaining discipline within teams is a critical differentiator for successful organisations.
Forward-thinking leaders and business managers understand the impact that discipline has on organisational success. A disciplined workforce operates with clarity, focus, and a shared understanding of expectations, ultimately driving better results, optimising productivity, and facilitating seamless collaboration.
Although discipline is not a one-size-fits-all approach, it can help create a work environment that encourages personal growth and accountability rather than solely relying on punitive measures.
In this deck, you will learn the significance of workplace discipline for organisational success. You’ll also learn
• Four (4) workplace discipline methods you should consider
• The best and most practical approach to implementing workplace discipline.
• Three (3) key tips to maintain a disciplined workplace.
An introduction to the cryptocurrency investment platform Binance Savings.Any kyc Account
Learn how to use Binance Savings to expand your bitcoin holdings. Discover how to maximize your earnings on one of the most reliable cryptocurrency exchange platforms, as well as how to earn interest on your cryptocurrency holdings and the various savings choices available.
Improving profitability for small businessBen Wann
In this comprehensive presentation, we will explore strategies and practical tips for enhancing profitability in small businesses. Tailored to meet the unique challenges faced by small enterprises, this session covers various aspects that directly impact the bottom line. Attendees will learn how to optimize operational efficiency, manage expenses, and increase revenue through innovative marketing and customer engagement techniques.
Affordable Stationery Printing Services in Jaipur | Navpack n PrintNavpack & Print
Looking for professional printing services in Jaipur? Navpack n Print offers high-quality and affordable stationery printing for all your business needs. Stand out with custom stationery designs and fast turnaround times. Contact us today for a quote!
B2B payments are rapidly changing. Find out the 5 key questions you need to be asking yourself to be sure you are mastering B2B payments today. Learn more at www.BlueSnap.com.
Event Report - SAP Sapphire 2024 Orlando - lots of innovation and old challengesHolger Mueller
Holger Mueller of Constellation Research shares his key takeaways from SAP's Sapphire confernece, held in Orlando, June 3rd till 5th 2024, in the Orange Convention Center.
6. MyUI Executable contains:
MvvmCross MvvmCross MvvmCross MvvmCross
.WP7 .Touch .Droid .WinRT
• M
• Platform Specific Views and Controls
• Some adaption for ValueConverters
MyApplication MyApplication MyApplication MyApplication
.WP7 .Touch .Droid .WinRT
MyUI MyUI MyUI MyUI
.WP7 .Touch .Droid .WinRT
MvvmBinding MvvmBinding
.Touch .Droid
7. Problems
• MvvmCross is a “fat” library – contains more than just
mvvm!
• Compiled image sizes can be large – especially on
MonoTouch
• Application libraries are cut and paste – a boring, error
prone manual job
• Automated cross-platform refactoring is impossible
• No common way to extend the platform
• Each new platform added requires manual cut-and-
paste duplication of projects
14. MvvmCross
.Portable
The MvvmCross.Adapter for each platform provides:
MyApplication
.Portable
• Platform Specific Mvvm Helpers – e.g. binding Plugin2
Plugin1
• Platform Specific View and navigation
…
.Portable .Portable
• M
• Platform Specific Plugin Manager/Loader
MyUI MyUI MyUI MyUI
.WP7 .Touch .Droid .WinRT
MvvmCross MvvmCross MvvmCross MvvmCross
.Adapter.Wp7 .Adapter.Touch .Adapter.Droid .Adapter.WinRT
Plugin1 Plugin1 Plugin1 Plugin1
.Wp7 .Touch .Droid .WinRT
Plugin2 Plugin2 Plugin2 Plugin2
.Wp7 .Touch .Droid .WinRT
… … … …
15. Plugin Implementations: MvvmCross
.Portable
• Provide platform specific implementations of each Plugin
Interface MyApplication
• e.g. for Location a platform specific service will provide
.Portable
Start, Stop, and OnLocationChanged. Plugin1
.Portable
Plugin2
.Portable
…
• Are initialised at runtime using a mixture of:
• M
• Project references
MyUI
• Convention-based dynamic assembly loading MyUI
MyUI MyUI
.WP7 .Touch .Droid .WinRT
• Setup Helpers on platforms that don’t support
MvvmCross MvvmCross MvvmCross MvvmCross
Assembly.Load()
.Adapter.Wp7 .Adapter.Touch .Adapter.Droid .Adapter.WinRT
Plugin1 Plugin1 Plugin1 Plugin1
.Wp7 .Touch .Droid .WinRT
Plugin2 Plugin2 Plugin2 Plugin2
.Wp7 .Touch .Droid .WinRT
… … … …
16. Plugins – Portable Interfaces
In the Portable Library – Plugins.Email.dll:
public interface IMvxComposeEmailTask
{
void ComposeEmail(string to, string cc, string subject, string body, bool isHtml);
}
public class PluginLoader
: IMvxPluginLoader
, IMvxServiceConsumer<IMvxPluginManager>
{
public static readonly PluginLoader Instance = new PluginLoader();
#region Implementation of IMvxPluginLoader
public void EnsureLoaded()
{
var manager = this.GetService<IMvxPluginManager>();
manager.EnsureLoaded<PluginLoader>();
}
#endregion
}
17. Plugins – Portable Use
The plugin can be used in a Portable ViewModel as simply as:
protected void ComposeEmail(string to, string subject, string body)
{
Cirrious.MvvmCross.Plugins.Email.PluginLoader.Instance.EnsureLoaded();
var task = this.GetService<IMvxComposeEmailTask>();
task.ComposeEmail(to, null, subject, body, false);
}
18. Plugins – Platform Specific
Implementations
In one platform specific implementation – Plugins.Email.WindowsPhone.dll:
public class MvxComposeEmailTask : MvxWindowsPhoneTask, IMvxComposeEmailTask
{
public void ComposeEmail(string to, string cc, string subject, string body, bool isHtml)
{
var task = new EmailComposeTask() { To = to, Subject = subject, Cc = cc, Body = body };
DoWithInvalidOperationProtection(task.Show);
}
}
public class Plugin
: IMvxPlugin
, IMvxServiceProducer<IMvxComposeEmailTask>
{
#region Implementation of IMvxPlugin
public void Load()
{
this.RegisterServiceType<IMvxComposeEmailTask, MvxComposeEmailTask>();
}
#endregion
}
19. Advantages
• Core MvvmCross is now a much smaller library
• Compiled image sizes can be much smaller – especially
on MonoTouch
• Each Application is now a single library
• Cross-platform refactoring now a reality
• Manual cut-and-paste between projects eliminated
• Plugin technique allows easy extensibility for everyone
• New portable architecture makes it easier to add ans
support new platforms –
Silverlight, WPF, MonoMac, PlayStationSuite, …