A new .NET update is coming around. It will transform .NET development by providing features that should have been around a lot sooner! We can forgive the delay in this update given the fact that Microsoft is including the .NET Multi-Platform App UI (MAUI).
This new framework will aid developers who work mainly to develop mobile applications but also want other options open to them. A major benefit of using the MAUI is the ability to develop mobile applications that are no longer platform-dependent.
We will learn more about mobile application testing using the Appium automation testing Framework. We'll explore how it is different from web application testing, what is the importance of mobile application testing and lastly, why should we choose appium as a testing tool.
Infrastructure-as-Code (IaC) Using Terraform (Advanced Edition)Adin Ermie
In this new presentation, we will cover advanced Terraform topics (full-on DevOps). We will compare the deployment of Terraform using Azure DevOps, GitHub/GitHub Actions, and Terraform Cloud. We wrap everything up with some key takeaway learning resources in your Terraform learning adventure.
NOTE: A recording of this presenting is available here: https://www.youtube.com/watch?v=fJ8_ZbOIdto&t=5574s
Introduction to Flutter sharing session organized by MaGIC Cyberjaya.
In this session I focus on introducing important widgets to build simple application. The widgets are group as:
- Boilerplate (scaffold) widget
- Layouting widgets
- Design widgets.
Hopefully this will help those who would like to start and discover mobile app development with Flutter.
Full version of the presentation can be found on following link:
https://www.facebook.com/mymagic.my/videos/1141346269560536/
A new .NET update is coming around. It will transform .NET development by providing features that should have been around a lot sooner! We can forgive the delay in this update given the fact that Microsoft is including the .NET Multi-Platform App UI (MAUI).
This new framework will aid developers who work mainly to develop mobile applications but also want other options open to them. A major benefit of using the MAUI is the ability to develop mobile applications that are no longer platform-dependent.
We will learn more about mobile application testing using the Appium automation testing Framework. We'll explore how it is different from web application testing, what is the importance of mobile application testing and lastly, why should we choose appium as a testing tool.
Infrastructure-as-Code (IaC) Using Terraform (Advanced Edition)Adin Ermie
In this new presentation, we will cover advanced Terraform topics (full-on DevOps). We will compare the deployment of Terraform using Azure DevOps, GitHub/GitHub Actions, and Terraform Cloud. We wrap everything up with some key takeaway learning resources in your Terraform learning adventure.
NOTE: A recording of this presenting is available here: https://www.youtube.com/watch?v=fJ8_ZbOIdto&t=5574s
Introduction to Flutter sharing session organized by MaGIC Cyberjaya.
In this session I focus on introducing important widgets to build simple application. The widgets are group as:
- Boilerplate (scaffold) widget
- Layouting widgets
- Design widgets.
Hopefully this will help those who would like to start and discover mobile app development with Flutter.
Full version of the presentation can be found on following link:
https://www.facebook.com/mymagic.my/videos/1141346269560536/
"Learn All Aspects Of Appium step by step, Enhance your skills & Launch Your Career, On-Demand Course affordable price & classes on virtually every topic.Try Before You Buy
for maven online training visit: https://goo.gl/YKsHBZ"
Lets Flutter - Talk on flutter in Google IO Extended in Google Developer Group Mumbai.
This has a detailed view of flutter and comparison of React native vs Flutter vs Native app development
The Mule agent is a plugin extension for a Mule runtime which exposes the Mule API. Using the Mule agent, you can monitor and control your Mule servers by calling APIs from external systems, and/or have Mule publish its own data to external systems.
Native mobile application development with Flutter (Dart)Randal Schwartz
Create beautiful performant mobile apps for both iOS and Android using the revolutionary Flutter framework, originally from Google, now supported by a large community.
This slide deck was presented at Scale16x in Pasadena. The screencast is at https://www.youtube.com/watch?v=O7TXamVRSbY and the video recording is https://youtu.be/C3WipFZ0blQ?list=PL57quI9usf_vq2TH9NV5sMsbabkMGOnRA&t=13374 (timecode 3:42:54).
Appium is an open-source tool for automating native, mobile web, and hybrid applications on iOS mobile, Android mobile, and Windows desktop platforms. Native apps are those written using iOS, Android, or Windows SDKs. Mobile web apps are web apps accessed using a mobile browser (Appium supports Safari on iOS and Chrome or the built-in 'Browser' app on Android). Hybrid apps have a wrapper around a "webview" -- a native control that enables interaction with web content. Projects like Apache Cordova or Phonegap make it easy to build apps using web technologies that are then bundled into a native wrapper, creating a hybrid app.
Importantly, Appium is "cross-platform": it allows you to write tests against multiple platforms (iOS, Android, Windows), using the same API. This enables code reuse between iOS, Android, and Windows testsuites.
Firebase database is no SQL database. Firebase service base on node js so it’s response will be fast compare to web services. If you want to planning fast development of the application then firebase will be a good option for you
Name: Falgun Sorathiya
E-Mail: falgunsunita26@gmail.com
This is an animated power point presentation on topic flutter. Flutter is a programming framework for cross-platform application development. Which is supported with dart language.
This slide includes all the theoretical information related to flutter such as widgets of flutter, animations in flutter, Styling properties, competition with other languages and framework, etc.
.NET MAUI with .NET 6 (December 2021, Preview 10)Alex Pshul
.NET Multi-platform App UI (.NET MAUI) is a cross-platform framework for creating native mobile and desktop apps with C# and XAML. Using .NET MAUI, you can develop apps that can run on Android, iOS, iPadOS, macOS, and Windows from a single shared codebase. .NET MAUI is the best way to build cross platform mobile and desktop apps with .NET and C#.
Join me to an all-hands-on session and get a first look of .NET MAUI in .NET 6 and learn how you can start using it today.
Introduction to Flutter - truly crossplatform, amazingly fastBartosz Kosarzycki
Intro: Flutter meaning rapid variation of electronic signal recently became Dart's framework name for mobile development. This presentation is a short introduction into a cross-platform solution covering iOS/Android. During this 45 minute period you'll learn what is flutter, where it came from and what it's for.
State of Union: Xamarin & Cross-Platform .NET in 2016 and BeyondNick Landry
Xamarin is a free & powerful toolset from Microsoft that allows developers to write truly *native* Android and iOS apps using C#, thanks to the Mono framework – an Open Source project that brings the C# language and .NET to other platforms. With Xamarin you can share from 70% to 100% of your code across mobile platforms, and the platform has evolved a lot over the last few years. This session starts with a recap on how you can build native cross-platform applications for iOS, Android, and Windows 10 using C#. You’ll learn how to get started with a sample cross-platform solution, which tools you can use, how to design a proper user interface for each platform and how to structure your projects for maximum code reuse. We’ll also look at how you can share UI code with Xamarin.Forms.
Beyond the basics, we’ll look at the world of Cross-Platform .NET, how Xamarin & Mono fit in, .NET Core and the new .NET Standard. We’ll also peek at some of the new features in the Xamarin Platform, including the Xamarin.Forms XAML Previewer, iOS Simulator for Windows, Workbooks and upcoming features landing this Fall. Whether you’re a Xamarin veteran or a complete newbie, this is a level-setting session you do not want to miss.
"Learn All Aspects Of Appium step by step, Enhance your skills & Launch Your Career, On-Demand Course affordable price & classes on virtually every topic.Try Before You Buy
for maven online training visit: https://goo.gl/YKsHBZ"
Lets Flutter - Talk on flutter in Google IO Extended in Google Developer Group Mumbai.
This has a detailed view of flutter and comparison of React native vs Flutter vs Native app development
The Mule agent is a plugin extension for a Mule runtime which exposes the Mule API. Using the Mule agent, you can monitor and control your Mule servers by calling APIs from external systems, and/or have Mule publish its own data to external systems.
Native mobile application development with Flutter (Dart)Randal Schwartz
Create beautiful performant mobile apps for both iOS and Android using the revolutionary Flutter framework, originally from Google, now supported by a large community.
This slide deck was presented at Scale16x in Pasadena. The screencast is at https://www.youtube.com/watch?v=O7TXamVRSbY and the video recording is https://youtu.be/C3WipFZ0blQ?list=PL57quI9usf_vq2TH9NV5sMsbabkMGOnRA&t=13374 (timecode 3:42:54).
Appium is an open-source tool for automating native, mobile web, and hybrid applications on iOS mobile, Android mobile, and Windows desktop platforms. Native apps are those written using iOS, Android, or Windows SDKs. Mobile web apps are web apps accessed using a mobile browser (Appium supports Safari on iOS and Chrome or the built-in 'Browser' app on Android). Hybrid apps have a wrapper around a "webview" -- a native control that enables interaction with web content. Projects like Apache Cordova or Phonegap make it easy to build apps using web technologies that are then bundled into a native wrapper, creating a hybrid app.
Importantly, Appium is "cross-platform": it allows you to write tests against multiple platforms (iOS, Android, Windows), using the same API. This enables code reuse between iOS, Android, and Windows testsuites.
Firebase database is no SQL database. Firebase service base on node js so it’s response will be fast compare to web services. If you want to planning fast development of the application then firebase will be a good option for you
Name: Falgun Sorathiya
E-Mail: falgunsunita26@gmail.com
This is an animated power point presentation on topic flutter. Flutter is a programming framework for cross-platform application development. Which is supported with dart language.
This slide includes all the theoretical information related to flutter such as widgets of flutter, animations in flutter, Styling properties, competition with other languages and framework, etc.
.NET MAUI with .NET 6 (December 2021, Preview 10)Alex Pshul
.NET Multi-platform App UI (.NET MAUI) is a cross-platform framework for creating native mobile and desktop apps with C# and XAML. Using .NET MAUI, you can develop apps that can run on Android, iOS, iPadOS, macOS, and Windows from a single shared codebase. .NET MAUI is the best way to build cross platform mobile and desktop apps with .NET and C#.
Join me to an all-hands-on session and get a first look of .NET MAUI in .NET 6 and learn how you can start using it today.
Introduction to Flutter - truly crossplatform, amazingly fastBartosz Kosarzycki
Intro: Flutter meaning rapid variation of electronic signal recently became Dart's framework name for mobile development. This presentation is a short introduction into a cross-platform solution covering iOS/Android. During this 45 minute period you'll learn what is flutter, where it came from and what it's for.
State of Union: Xamarin & Cross-Platform .NET in 2016 and BeyondNick Landry
Xamarin is a free & powerful toolset from Microsoft that allows developers to write truly *native* Android and iOS apps using C#, thanks to the Mono framework – an Open Source project that brings the C# language and .NET to other platforms. With Xamarin you can share from 70% to 100% of your code across mobile platforms, and the platform has evolved a lot over the last few years. This session starts with a recap on how you can build native cross-platform applications for iOS, Android, and Windows 10 using C#. You’ll learn how to get started with a sample cross-platform solution, which tools you can use, how to design a proper user interface for each platform and how to structure your projects for maximum code reuse. We’ll also look at how you can share UI code with Xamarin.Forms.
Beyond the basics, we’ll look at the world of Cross-Platform .NET, how Xamarin & Mono fit in, .NET Core and the new .NET Standard. We’ll also peek at some of the new features in the Xamarin Platform, including the Xamarin.Forms XAML Previewer, iOS Simulator for Windows, Workbooks and upcoming features landing this Fall. Whether you’re a Xamarin veteran or a complete newbie, this is a level-setting session you do not want to miss.
Mobile Cross-Platform App Development in C# with XamarinNick Landry
Building native applications across multiple platforms is hard. iOS requires knowledge of Xcode, the iOS SDK and Objective-C or Swift. Android requires Eclipse (or Android Studio), the Android SDK and Java. The Windows 10 Universal Windows Platform requires Visual Studio, C# and the WinRT SDK. Are we really expected to learn all of this? You can take the HTML5 & Cordova route, but not all apps should be built using a hybrid approach. If you want to create a truly competitive app with a premium experience, you’ll need to go native. Fortunately, there is a way you can share a lot of your code across mobile platforms and do so using the C# language you already know and love. Xamarin is a powerful toolset that allows developers to write native Android and iOS apps using C#, thanks to the Mono framework – an Open Source project that brings the C# language and .NET to other platforms. This session explores how you can build cross-platform applications for iOS, Android, and Windows using C#. You’ll learn how to get started with a sample cross-platform solution, which tools you can use, how to design a proper user interface for each platform and how to structure your projects for maximum code reuse. We’ll also look at how you can share UI code with Xamarin.Forms. Native mobile development doesn’t have to be so hard. Come learn how your .NET skills can be transformed for true cross-platform development.
The ever-increasing popularity of Xamarin makes it a crowd favorite. The framework always allows developers to create superb digital solutions, but they can unleash the true power of Xamarin only if they leverage the tools discussed here.
Source: https://www.moontechnolabs.com/blog/tools-that-can-make-xamarin-apps-better/
Why does .net maui deserve your attention if you’re planning to use xamarin Moon Technolabs Pvt. Ltd.
Do you know anything about .NET MAUI? It’s a new app UI that deserves your attention, especially if you’re planning to leverage xamarin app development services.
Building Mobile Cross-Platform Apps foriOS, Android & Windows in C# with Xam...Nick Landry
Building native applications across multiple platforms is hard. iOS requires knowledge of Xcode, the iOS SDK and Objective-C or Swift. Android requires Eclipse Android Studio, the Android SDK and Java. The Windows 10 Universal Windows Platform requires Visual Studio, C# and the UWP/WinRT SDK. Are we really expected to learn all of this? You can take the HTML5 & Cordova route, but not all apps should be built using a hybrid approach. If you want to create a truly competitive app with a premium experience, you’ll need to go native. Fortunately, there is a way you can share a lot of your code across mobile platforms and do so using the C# language you already know and love. Xamarin is a powerful toolset that allows developers to write native Android and iOS apps using C#, thanks to the Mono framework – an Open Source project that brings the C# language and .NET to other platforms. This session explores how you can build cross-platform applications for iOS, Android, and Windows 10 using C#. You’ll learn how to get started with a sample cross-platform solution, which tools you can use, how to design a proper user interface for each platform and how to structure your projects for maximum code reuse. We’ll also look at how you can share UI code with Xamarin.Forms. Native mobile development doesn’t have to be so hard. Come learn how your .NET skills can be transformed for true cross-platform development.
Why is xamarin the preferred app development platform among app developersFullestop
Xamarin is an inter-mobile app development solution that enables developers to share up to 90% of their code across different platforms. It has a Microsoft code base and maintains a network of over 1.4 million programmers’ despite being a relatively new tool. The platform was created by the team behind Mono, an open-source development platform based on the.NET Framework that was first released in 2001.
Chicago Coder Conference 2015
Building cross-platform native UIs with one shared codebase was once just a dream. With Xamarin.Forms, this dream is now a reality. Xamarin.Forms allows you to build a native UI for three platforms with one shared C# codebase. Simply put, if you know C# then you already know how to build iOS, Android, and Windows Phone apps. Leverage the .NET Framework to build out your shared business logic including integration with web services and Azure Mobile Services and then build out your shared UI in
C# or XAML. Xamarin.Forms also features a built-in two-way data binding, dependency service to help you implement platform-specific code, an advanced cross-platform animation system, support for custom controls, and lots of other powerful features to help you build the best apps possible in the least amount of time.
During this session we will cover the Xamarin platform and the brand new Xamarin.Forms library to share even more code across iOS, Android, and Windows Phone. Moreover, we will really focus on the code with several live coding adventures throughout the entire session. When you leave you will have the knowledge to create your first iOS, Android, and Windows Phone mobile apps in C# with Xamarin and Xamarin.Forms.
A quick 30-60 minute overview of the announcements from the Xamarin Evolve 2016 conference. This was used to provide the talking points for a user group presentation
Real NET Docs Show - Serverless Machine Learning v3.pptxLuis Beltran
Slides of my presentation about Serverless Machine Learning using Azure Functions, Twilio APIs, and Cognitive Services for text and image processing of WhatsApp messages at .NET Docs Show weekly community event organized by Microsoft
Latam Space Week - Clasificación de rocas espaciales por medio de IA.pptxLuis Beltran
Slides of my presentation about Space rocks image classification using Machine Learning and Artificial Intelligence with Python at Latam Space Week event
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
3. • Researcher at Tomás Bata
University in Zlín, Czech Republic
• Lecturer at Tecnológico Nacional
de México en Celaya, Mexico
• Microsoft MVP (AI + Developer
Technologies)
@darkicebeam
luis@luisbeltran.mx
4. Xamarin
An open source Microsoft platform to build iOS, Android, macOS,
Windows, watchOS, & tvOS modern and high-performant
apps with .NET.
13. Migrating from Xamarin.Forms –
Manual steps
• Convert the projects from .NET Framework to .NET SDK Style
• Update code namespaces
• Update any incompatible NuGet packages
• Address any breaking API changes
https://github.com/dotnet/maui/wiki/Migrating-from-Xamarin.Forms-(Preview)
14. • Copy the code files (except App.xaml) into your project.
• Find and Replace:
• using Xamarin.Forms
using Microsoft.Maui & using Microsoft.Maui.Controls
• using Xamarin.Forms.Xaml
using Microsoft.Maui.Controls.Xaml
• xmlns="http://xamarin.com/schemas/2014/forms"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
• Pass false to UseFormsCompatibility.
• Emulator, simulator, or device should be up and running.
18. .NET Upgrade Assistant is here to help!
• Install the .NET Upgrade Assistant dotnet tool:
dotnet tool install --global upgrade-assistant -
-version 0.3.242703
• Start the upgrade process and follow the instructions:
upgrade-assistant upgrade <Path to csproj/sln>
• Beware!
• Preview version
• Use source control
https://github.com/dotnet/maui/wiki/Migrating-from-Xamarin.Forms-(Preview)
https://github.com/dotnet/upgrade-assistant/
19. Limitations
• Your app bust be on Xamarin.Forms 4.8 or higher
• Only works with Xamarin.Forms .slns
• Will not work with binding or library projects
• You’ll still have to do some manual changes too
21. Prerequisites
For a better chance of success when migrating to .NET 6 it is
recommended to:
• Upgrade any PCL project to .NET Standard
• Upgrade Xamarin.Forms projects to version 5.0
• Update packages.config to PackageReference
22. Know your project dependencies
How do I know if a NuGet dependency needs to be updated or
replaced?
Case 1
.NET Standard Nugets which do not reference any Xamarin.Forms
type will likely work as they are.
Case 2
NuGets that reference Xamarin.Forms types must be updated to
Microsoft.Maui.Controls types and republished with .NET 6 Target
Frameworkd
23. Should the project be migrated to
"Single Project"?
• No, your existing projects will continue to work without
Single Project.
• You can migrate existing projects to the .NET 6 common
project system.
• Documentation will be provided if you want to adopt Single
Project manually.
24. Do I need to rewrite my custom
renderers?
No. Custom Renderers will continue working as they are.
25. Xamarin.Forms Microsoft.Maui
.NET MAUI can run Effects and Custom Renderers
Update the namespaces in your platform code to Microsoft.Maui
1. Register your Effect in Startup.cs:
2. Register your Renderer in Startup.cs:
No change required in XAML
appBuilder.ConfigureEffects(builder => {
builder.Add<FocusRoutingEffect, FocusPlatformEffect>();
});
appBuilder.ConfigureMauiHandlers(builder => {
#if __ANDROID__
handlers.AddCompatibilityRenderer(typeof(CustomEntry),
typeof(Droid.Renderers.CustomEntryRenderer));
#endif
});
26. Xamarin.Forms Microsoft.Maui
(Optional)
• Migrate Effects and Renderers to the Handlers new
architecture
• Migrate Multiple Project solutions to Single project
Examples and resources: https://github.com/jsuarezruiz/xamarin-forms-to-net-maui
27. Will third-party UI libraries still work?
Yes! At a minimum, they will need to recompile by adding a
target for .NET 6.
28. What "flavor" of XAML will .NET MAUI use?
• The same XAML you use in Xamarin.Forms today.
• Previews will provide insight on any name changes.
31. Thank you for your attention!
Luis Beltrán
Tomás Bata University in Zlín
Tecnológico Nacional de México en Celaya
about.me/luis-beltran/
Editor's Notes
.NET Multi-platform App UI (MAUI) is a cross-platform framework for creating native mobile and desktop apps with C# and XAML. Using .NET MAUI, you can develop apps that can run on Android, iOS, macOS, and Windows from a single shared code-base.
.NET MAUI is open-source and is the evolution of Xamarin.Forms, extended from mobile to desktop scenarios, with UI controls rebuilt from the ground up for performance and extensibility. If you've previously used Xamarin.Forms to build cross-platform user interfaces, you'll notice many similarities with .NET MAUI. However, there are also some differences. Using .NET MAUI, you can create multi-platform apps using a single project, but you can add platform-specific source code and resources if necessary. One of the key aims of .NET MAUI is to enable you to implement as much of your app logic and UI layout as possible in a single code-base.
.NET Multi-platform App UI (MAUI) provides a collection of controls that can be used to display data, initiate actions, indicate activity, display collections, pick data, and more. By default, handlers map these cross-platform controls to native controls on each platform. For example, on iOS a .NET MAUI handler will map a .NET MAUI Button to an iOS UIButton. On Android, the Button will be mapped to a AppCompatButton:
Handlers can be accessed through a control-specific interface provided by .NET MAUI, such as IButton for a Button. This avoids the cross-platform control having to reference its handler, and the handler having to reference the cross-platform control. The mapping of the cross-platform control API to the platform API is provided by a mapper.
Handlers expose the native control that implements the .NET MAUI cross-platform control via the NativeView property. This property can be accessed to set platform properties, invoke platform methods, and subscribe to platform events.
Handlers are global and therefore customization can occur anywhere in your .NET MAUI app. For example, customizing a handler for a control in your App class will result in all controls of that type being customized in the app. Similarly, customizing a handler for a control in the first page of your app will also result in all controls of that type in the app being customized.
The new handler architecture makes it easy to hook into any property and add/modify behavior right in .NET MAUI
In this example we hook into the background color and change the Android underline visibility on the Entry.
We could also, with a little more effort, add a custom property mapping specific to the underline and implement that with almost identical code.
One project can now publish to any of the platforms supported.
Images are optimized at build time for the multiple densities of screens required across all the platforms you target.
Fonts are registered in one location for every platform, and you can alias the name as you desire.
Platform code can all live within this one, multi-targeted project.
Splash screen support makes it easy to declare a visual asset (PNG or SVG for example) and a background color.
The App class should derive from the Application class, and must override the CreateWindow method to provide a Window within which your app runs, and that defines the UI for the initial page of the app:
In the example above, MainPage is a ContentPage that defines the UI for the initial page of the app.
To register your own handlers, call the ConfigureMauiHandlers method on the IAppHostBuilder object. Then, on the IMauiHandlersCollection object, call the AddHandler method to add the required handler:
In this example, the MyEntryHandler handler is registered against the MyEntry control. Therefore, any instances of the MyEntry control will be handled by the MyEntryHandler.
Accelerometer
App Actions
App Information
Barometer
Battery
Clipboard
Compass
Conectivity
And more
Disable compatibility renderers in Startup.cs by passing false to UseFormsCompatibility. This ensures we will be
Features coming soon
Nuget Package analysis
XAML source code updates
Applications commonly have a large number of external dependencies. These dependencies can affect your project and increase the time that you spend migrating it. Before you start, review all your app’s third-party libraries and check how they are integrated.
Search nuget.org to see if the plugin has been updated and supports .NET 6 and .NET MAUI. Check for issues on each library’s GitHub home and verify if the developer maintaining the library plans to migrate it to .NET MAUI — or if the open-source community is discussing that.
If any of your plugins won’t receive support for .NET 6 and .NET MAUI, it’s time to look for alternatives.
Find a replacement plugin:
Build your own plugin:
Temporarily disable your plugin: