This document discusses using XAML and Xamarin.Forms to build cross-platform mobile apps. It explains key Xamarin.Forms concepts like pages, layouts, views and cells. It also covers using XAML to define the app UI and advantages over defining it purely in code. Advanced XAML topics like resource dictionaries and data binding are presented. The document concludes with an invitation for hands-on practice with data binding, list views and collections.
Xamarin.Forms is a new library that enables you to build native UIs for iOS, Android and Windows Phone from a single, shared C# codebase. It provides more than 40 cross-platform controls and layouts which are mapped to native controls at runtime, which means that your user interfaces are fully native.
Join Xamarin developer James Montemagno for an in-depth overview of Xamarin.Forms, and see how you can get started with Xamarin.Forms today.
Xamarin.Forms is a new library that enables you to build native UIs for iOS, Android and Windows Phone from a single, shared C# codebase. It provides more than 40 cross-platform controls and layouts which are mapped to native controls at runtime, which means that your user interfaces are fully native.
Join Xamarin developer James Montemagno for an in-depth overview of Xamarin.Forms, and see how you can get started with Xamarin.Forms today.
The slides for the presentation that I gave at the London Mobile Developers meetup on Dec 11, 2014:
http://www.meetup.com/London-Mobile-Dev/events/218868765/
This presentation introduced Xamarin Forms. I discussed the ups and downs that we experienced converting one of our business apps from MvvmCross to Xamarin Forms.
Accompanying code is on github at:
https://github.com/petermajor/WearMeetup
My personal blog is: https://www.committedcoder.com
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.
With Xamarin, you could already build amazing cross-platform native mobile apps for iOS, Android, and Mac using all of the power of C# and the .NET platform. Developers share 50-75% of their business logic (such as networking, database access, MVVM Models/ViewModels) across all platforms. On each platform, they build a native UI that is 100% native.
Xamarin.Forms makes this even better. Xamarin.Forms allows you to build 3 native UIs using one shared C# codebase (or XAML if you prefer)! This means can share up to 100% of your code across iOS, Android, and Windows Phone.
In this talk, I dive into an introduction of Xamarin.Forms, show off the firepower of the platform, and even talk about how you can implement platform-specific features with Xamarin.Forms.
Dotnetconf - Introduction to Xamarin and Xamarin.FormsJames Montemagno
dotnetconf 2014! Watch session: http://channel9.msdn.com/Events/dotnetConf/2014/Developing-Native-iOS-Android-and-Windows-Apps-with-Xamarin
Developing Native iOS, Android, and Windows Apps with Xamarin
Mobile continues to expand and evolve at a rapid pace. Users expect great native experiences in the palm of their hands on each and every platform. A major hurdle for developers today is that each platform has its own programming language and tools to learn and maintain. Even if you tackle the burden of learning Objective-C and Java you will still have to manage multiple code bases, which can be a nightmare for any development team large or small. It doesn't have to be this way as you can create Android, iOS, Windows Phone, and Windows Store apps leveraging the .NET framework and everything you love about C#.
This is an introduction to Xamarin and Xamarin.Forms with Azure Mobile Services.
Xamarin.Forms: a cross-platform mobile UI toolkit - ConFoo 2016Guy Barrette
In this presentation we’ll take a look at Xamarin.Forms, a cross-platform UI toolkit abstraction that allow developers to easily create mobile applications that can be shared across Android, iOS, and Windows Phone. Xamarin.Forms apps are written in C# using Xamarin Studio or Visual Studio, leverage the .NET Framework and are rendered as native applications that retain the appropriate look and feel for each platform.
Getting Started with iOS & Android Development Using Xamarin & Visual StudioMark Arteaga
Presentation given at TechUnder 20 Pre-Hackathon event giving an overview of how to use Xamarin using Visual Studio 2015. Also has an overview of the Xamarin Evolve 2016 conference and summary of Mobile Ate the World presentation.
#XamarinDevDays - Cross Platform Native UI with Xamarin.FormsUdara Alwis
This is the presentation of the tech talk I did on, Cross Platform UI with Xamarin.Forms at Xamarin Dev Days 2017 Singapore. (https://ti.to/xamarin/dev-days-singapore-2017) Hosted at Microsoft Singapore sponsored by Microsoft, Syncfution and Xamariners.
Some of the main point I discuss here are, Introduction to Xamain.Form, Xamarin Native + Xamarin.Forms approach, What are the features of Xamarin.Forms Features, default Pages and Layouts, Control that are avaialable right out of the box, Xamarin.Forms Eco System and 3rd party libraries both free and commercial, Windows/UWP Development vs Xamarin.Forms Development similarity, Platform Specific Customization, Native UI, look and feel, Xamarin.Forms Demo, And some Latest & Greatest updates of Xamarin.Forms, along with a detailed demo of how Xamarin.Forms runs natively in different platforms.
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.
This was presented in the Hyderabad Salesforce Student Developer Group. This presentation is a starter to explain how salesforce development can be the right boost for you when you are out of your college.
GDG Korea Android Conference(2015년 4월 18일)의 "네이티브 크로스 플랫폼 개발 도구, Xamarin Forms를 사용한 MVVM 패턴과 테스팅" 세션 슬라이드입니다.
데모에 사용된 소스코드는 여기에 있습니다.
https://github.com/gyuwon/xforms-user-manager
Animations make your app visually appealing, easier to use, and more engaging.
Animations however are not limited to only traditional Xamarin development; you can add beautiful animations to Xamarin.Forms.
In this session, you will learn the core concepts of when to use animations in a mobile app and explore several different frameworks used to create them.
When to properly use animations to provide visual feedback, supply context around UI elements, and call attention to app status changes will be explored. Then you’ll learn how to make your app come to life using the built-in Xamarin.Forms animation APIs, SkiaSharp, and the new Lottie animation framework from Airbnb.
After this session, you’ll be equipped to create Xamarin.Forms apps that will stand out with animations.
My presentation on Salesforce1 platform at Chennai Salesforce developer user group meeting. I have slightly modified and reused the presentation by Sandeep Bhanot at SF Salesforce Developer User Group meeting
Use Xamarin.Forms and surprise your customers when develop native apps, in le...Paulo Cesar Ortins Brito
In this talk we will explore the Xamarin.Forms, framework that enable us to also share code on the UI when using Xamarin, we will use some classes from its API (Pages, Layouts and Controls) and see projects that are already having success using Xamarin.Forms.
Slides for my session at Xamarin Evolve 2014.
Code for the Todo app is here
https://github.com/xamarin/xamarin-forms-samples/tree/master/Todo/PCL
(there is a XAML version here)
https://github.com/conceptdev/xamarin-forms-samples/tree/master/TodoXaml
And the 8ball app is mentioned here
https://github.com/xamarin/mini-hacks/tree/master/Xamarin.Forms
The slides for the presentation that I gave at the London Mobile Developers meetup on Dec 11, 2014:
http://www.meetup.com/London-Mobile-Dev/events/218868765/
This presentation introduced Xamarin Forms. I discussed the ups and downs that we experienced converting one of our business apps from MvvmCross to Xamarin Forms.
Accompanying code is on github at:
https://github.com/petermajor/WearMeetup
My personal blog is: https://www.committedcoder.com
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.
With Xamarin, you could already build amazing cross-platform native mobile apps for iOS, Android, and Mac using all of the power of C# and the .NET platform. Developers share 50-75% of their business logic (such as networking, database access, MVVM Models/ViewModels) across all platforms. On each platform, they build a native UI that is 100% native.
Xamarin.Forms makes this even better. Xamarin.Forms allows you to build 3 native UIs using one shared C# codebase (or XAML if you prefer)! This means can share up to 100% of your code across iOS, Android, and Windows Phone.
In this talk, I dive into an introduction of Xamarin.Forms, show off the firepower of the platform, and even talk about how you can implement platform-specific features with Xamarin.Forms.
Dotnetconf - Introduction to Xamarin and Xamarin.FormsJames Montemagno
dotnetconf 2014! Watch session: http://channel9.msdn.com/Events/dotnetConf/2014/Developing-Native-iOS-Android-and-Windows-Apps-with-Xamarin
Developing Native iOS, Android, and Windows Apps with Xamarin
Mobile continues to expand and evolve at a rapid pace. Users expect great native experiences in the palm of their hands on each and every platform. A major hurdle for developers today is that each platform has its own programming language and tools to learn and maintain. Even if you tackle the burden of learning Objective-C and Java you will still have to manage multiple code bases, which can be a nightmare for any development team large or small. It doesn't have to be this way as you can create Android, iOS, Windows Phone, and Windows Store apps leveraging the .NET framework and everything you love about C#.
This is an introduction to Xamarin and Xamarin.Forms with Azure Mobile Services.
Xamarin.Forms: a cross-platform mobile UI toolkit - ConFoo 2016Guy Barrette
In this presentation we’ll take a look at Xamarin.Forms, a cross-platform UI toolkit abstraction that allow developers to easily create mobile applications that can be shared across Android, iOS, and Windows Phone. Xamarin.Forms apps are written in C# using Xamarin Studio or Visual Studio, leverage the .NET Framework and are rendered as native applications that retain the appropriate look and feel for each platform.
Getting Started with iOS & Android Development Using Xamarin & Visual StudioMark Arteaga
Presentation given at TechUnder 20 Pre-Hackathon event giving an overview of how to use Xamarin using Visual Studio 2015. Also has an overview of the Xamarin Evolve 2016 conference and summary of Mobile Ate the World presentation.
#XamarinDevDays - Cross Platform Native UI with Xamarin.FormsUdara Alwis
This is the presentation of the tech talk I did on, Cross Platform UI with Xamarin.Forms at Xamarin Dev Days 2017 Singapore. (https://ti.to/xamarin/dev-days-singapore-2017) Hosted at Microsoft Singapore sponsored by Microsoft, Syncfution and Xamariners.
Some of the main point I discuss here are, Introduction to Xamain.Form, Xamarin Native + Xamarin.Forms approach, What are the features of Xamarin.Forms Features, default Pages and Layouts, Control that are avaialable right out of the box, Xamarin.Forms Eco System and 3rd party libraries both free and commercial, Windows/UWP Development vs Xamarin.Forms Development similarity, Platform Specific Customization, Native UI, look and feel, Xamarin.Forms Demo, And some Latest & Greatest updates of Xamarin.Forms, along with a detailed demo of how Xamarin.Forms runs natively in different platforms.
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.
This was presented in the Hyderabad Salesforce Student Developer Group. This presentation is a starter to explain how salesforce development can be the right boost for you when you are out of your college.
GDG Korea Android Conference(2015년 4월 18일)의 "네이티브 크로스 플랫폼 개발 도구, Xamarin Forms를 사용한 MVVM 패턴과 테스팅" 세션 슬라이드입니다.
데모에 사용된 소스코드는 여기에 있습니다.
https://github.com/gyuwon/xforms-user-manager
Animations make your app visually appealing, easier to use, and more engaging.
Animations however are not limited to only traditional Xamarin development; you can add beautiful animations to Xamarin.Forms.
In this session, you will learn the core concepts of when to use animations in a mobile app and explore several different frameworks used to create them.
When to properly use animations to provide visual feedback, supply context around UI elements, and call attention to app status changes will be explored. Then you’ll learn how to make your app come to life using the built-in Xamarin.Forms animation APIs, SkiaSharp, and the new Lottie animation framework from Airbnb.
After this session, you’ll be equipped to create Xamarin.Forms apps that will stand out with animations.
My presentation on Salesforce1 platform at Chennai Salesforce developer user group meeting. I have slightly modified and reused the presentation by Sandeep Bhanot at SF Salesforce Developer User Group meeting
Use Xamarin.Forms and surprise your customers when develop native apps, in le...Paulo Cesar Ortins Brito
In this talk we will explore the Xamarin.Forms, framework that enable us to also share code on the UI when using Xamarin, we will use some classes from its API (Pages, Layouts and Controls) and see projects that are already having success using Xamarin.Forms.
Slides for my session at Xamarin Evolve 2014.
Code for the Todo app is here
https://github.com/xamarin/xamarin-forms-samples/tree/master/Todo/PCL
(there is a XAML version here)
https://github.com/conceptdev/xamarin-forms-samples/tree/master/TodoXaml
And the 8ball app is mentioned here
https://github.com/xamarin/mini-hacks/tree/master/Xamarin.Forms
Xamarin aims to be the framework that can cover all major mobile platforms- iOS, Android and Windows without compromising on quality and performance as expected from native apps development. Well known mature .NET framework libraries are available on Android and iOS platforms as well. The rich features of these libraries give an added advantage to Xamarin considering the developer view point.
On last Saturday, 12th November 2011, I presented 1 hour Technical session on “Windows Phone 7” in Kolkata Developer Conference. The event was organized by Microsoft User Group Kolkata (KolkataGeeks).
Considering the tools to improve the intersection, Xamarin stands out as a gold standard. Then again, after you have decided to build applications on Xamarin and C #, you should make another option. You need to choose between Xamarin. Forms and Xamarin Native. So, how do you know which one is right for you? If you keep reading, you will find it.
Building Accessible Apps using NET MAUI.pdfSivarajAmbat1
Presentation from the .NET Conf 2022 Recap event conducted for BDotNet (Bangalore .NET Developer Community) on Jan 7, 2023. https://bdotnet.in/dotnet-conf-2022/
Stunning Mobile Apps with the Xamarin Visual Design SystemJames Montemagno
Xamarin.Forms excels at quickly producing cross-platform mobile experiences that look and feel at home on the host platforms. But how do you make sure your app experience is also consistent with your brand experience? Now with Xamarin.Forms Visual you can adopt a singular look and feel across your native applications, and even share that experience across multiple applications. Whether you want Material Design everywhere, or you want to craft your own, in this session you'll learn how to build a Visual implementation, consume it in your app(s), and distribute it. Visual is the next step forward in creating beautiful, native UI with Xamarin. To top it off we will look at the next generation of productivity tools for Xamarin developers to help them create stunning apps.
Get Native-like Mobile Apps Using Xamarin DevelopmentSara Suarez
Are you in need of the right tech stack for developing apps across various OS? If yes, Xamarin.Forms is an open-source, cross-platform app development framework, which is an ideal choice for your business. Hire Xamarin developers for your business to develop native-like iOS, Android, and Windows apps with seamless User Interfaces. Xamarin developers plan and firmly execute rapid prototyping using a single codebase that supports cross-platform performance. Besides, developers add functions, improve scalability, and make essential upgrades for apps when a new version is launched.
Content source - https://vocal.media/01/how-xamarin-forms-support-efficient-cross-platform-app-development-for-businesses
Connect with us - https://www.damcogroup.com/xamarin-app-development-services
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
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/
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Getting hands on with xaml and xamarin
1. Getting hands on with
XAML and
Xamarin.Forms
Mitch “Rez” Muenster
@MobileRez
mobilerez.tumbler.com
Xamarin Certified Developer
2. What is this about?
Using Xamarin.Forms
Working with XAML Syntax & Behavior
Using Advanced XAML
Doing more then just a Tech talk but letting you code
4. What is Xamarin.Forms?
Xamarin.Forms is a software framework that lets you build
one app with UI and behavior and deploy it to each of the
mobile platforms
6. What is a Page?
A page is used to define a single screen that contains most or all of the screen.
7. What is a Layout?
A layout is a special type of view that acts as a container for other views or
layouts.
8. What is a View?
A View is the term Xamarin.Forms uses for all its basic controls from Buttons to
Progress Bars.
Some of the Views Xamarin.Forms contains are
Button
Date Picker
Entry (input box)
Label
Picker (The phones form of dropdown list)
Progress Bar
A full list of Views at https://developer.xamarin.com/guides/cross-platform/xamarin-forms/controls/views/
9. What is a Cell?
A Cell is a special element that is used inside tables and defines how each item
in a list is rendered.
An example of Cells Xamarin.Forms supports:
Entry Cell
Switch Cell
Text Cell
Image Cell
A full list of Cells at https://developer.xamarin.com/guides/cross-platform/xamarin-forms/controls/cells/
10. Traditional way to build Forms apps
Xamarin.Forms apps are commonly built using all using C# and not XAML.
A new Xamarin.Forms app is usually created with a dummy app in a cs file
public App()
{
// The root page of your application
MainPage = new ContentPage {
Content = new StackLayout {
VerticalOptions = LayoutOptions.Center,
Children = {
new Label {
XAlign = TextAlignment.Center,
Text = "Welcome to Xamarin Forms!“
}
}
}
};
}
12. What is XAML?
XAML stands for Extensible Application Markup Language
and was created by Microsoft specifically for working with
the UI
A XAML file is always associated with a C# code file.
13. Why use XAML over all code in a .cs
file?
Designer can create UI while coder focuses on code in the
code file
XAML allows for features like DataBinding Animations,
Custom behaviors, value converters & more.
Easier to work with for those who like to have a more visual
representation of their layouts
Helps keep a separation between UI and app logic
16. Platform Targeted Tweaks
Building a cross platform app means you may need to tweak a specific
platform or device class (phone or tablet) to make it match the other
platforms. To do this we can use OnPlatform and OnIdiom
17. OnPlatform & OnIdiom
OnPlatform allows us to define code for a specific platform
OnIdiom allows us to define code for either a tablet or phone
Both are useful for providing those quick tweaks to get the UI to look the
same on all devices or only changing one platform to fit the rest of their
needs
Can be used with padding, color, size, font, width, height, and strings/text
18. OnPlatform & OnIdiom In Action
OnPlatform is used here to add a thickness at the top of the app on iOS to
make room for the top menu. OnIdiom Is used to set a color based on the
platform.
<StackLayout>
<StackLayout.Padding>
<OnPlatform x:TypeArguments="Thickness“
Android="0, 0, 0, 0“
iOS="0, 20, 0, 0“
WinPhone="0, 0, 0, 0"/>
</StackLayout.Padding>
<StackLayout.BackgroundColor>
<OnIdiom x:TypeArguments="Color“
Phone="Teal“
Tablet="Green"/>
</StackLayout.BackgroundColor>
<Label Text="{Binding MainText}" VerticalOptions="Center" HorizontalOptions="Center" />
</StackLayout>
20. Reducing Duplicated styles with XAML
When defining multiple and app wide styles, we run into the issue of needing
to get the most out of our code and limit reuse or duplication of similar styles.
In XAML we can do this with Resource Dictionaries.
21. Resource Dictionary's
A Resource Dictionary Is a dictionary that can be defined in the XAML or code
behind and is used to hold UI resources such as colors, fonts, and styles.
A resource in the Dictionary Uses the x:Key to define the ID of that resource so
you can reference it later.
22. Using a Resource Dictionary
<ContentPage.Resources>
<ResourceDictionary>
<Color x:Key="TxtRed">Red</Color>
<OnPlatform x:Key="TxtColor“ x:TypeArguments="Color“ Android="Green“ iOS="Teal“
WinPhone="Purple"/>
<LayoutOptions x:Key="HorzCenter">Center</LayoutOptions>
</ResourceDictionary>
</ContentPage.Resources>
<StackLayout>
<Label Text="Im a label" HorizontalOptions="{StaticResource HorzCenter}“
TextColor="{StaticResource TxtColor}" />
<Label Text="Im a label too, but different" HorizontalOptions="{StaticResource HorzCenter}“
TextColor="{StaticResource TxtRed}"/>
<Label Text="Im also a different label but look like the first label"
HorizontalOptions="{StaticResource HorzCenter}“
TextColor="{StaticResource TxtColor}"/>
</StackLayout>
In the example below, we use the resource dictionary to define colors for
specific platforms and values that we plan to reuse like centering
23. Resource Dictionary hierarchy
Resource files can inherit from global resource files
Resource files prioritize definitions closer to where they
started in the hierarchy.
Order of priority is View, Layout, Page, Application
26. Why Use Data Binding with Xamarin.Forms?
Data Binding creates a one or two way relationship between
the source and target properties
Must be used with a bindable property
For our objectives today,
cover Xamarin.Forms to get a better understand of what it is and the layouts that exist within Forms
Then We will be getting into a understanding of XAML, its Syntax and Behavior and how it works with Xamarin.Forms
and then touching on a few advanced XAML concepts that can be used with your Xamarin.Forms app to bring in adisi
~ Can also use dependency service to access platform specific features.
~ Great for Prototyping or Data-Driven apps.
~ Can be created in either a Shared Class Library or Portable Class Library
A Xamarin.Forms.Page represents a View Controller in iOS or a Page in Windows Phone. On Android each page takes up the screen like an Activity, but Xamarin.Forms Pages are not Activities.
ContentPage – A page that displays a single view.
MasterDetailPage – A page that manages two pains of information.
NavigationPage - A NavigationPage manages the transition between a stack of pages.
TabbedPage – A page that contains navigation between pages using tabs.
CarouselPage – A page who's navigation is achieved via swipe gestures between similar content (I.e. images or a listing of classes).
A Xamarin.Forms Layout typically contains logic to set the position and size of child elements in Xamarin.Forms applications.
StackLayout – A Layout that positions child elements in a single line.
AbsoluteLayout – Positions child elements at absolute requested positions.
RelativeLayout – A Layout that uses Constraints to position its children.
GridLayout – A layout containing views arranged in rows and columns.
ContentView – An element with a single content. ContentView has very little use of its own. Its purpose is to serve as a base class for user-defined compound views.
ScrollView - An element capable of scrolling if it's Content requires.
Frame - An element containing a single child, with some framing options.
Views in Xamarin.Forms are the building blocks of cross-platform mobile user interfaces.
Platform defines a renderer for each view that creates a native representation of the UI
Mixing UI and behavior all in one file can make design and behavior harder to understand or change as the app grows.
Forces the developer to do all the work (no way to include a designer unless they understand code as well)
talk about the content at the top, what standards its using, etc. (Xamarin.Forms conforms to XAML 2009 Specification, the differences are in the layout and containers used)
XAML Header:
Content Page:
Layout (usually):
Elements: (labels, buttons, pickers etc.)
While not essential to make a XAML file, XAML files may also contain things such as property elements, databinding, platform specific definition, and attached properties
Layouts such as the grid has special property called attached properties.
Attached properties are set in the child of a tag like grid.
Attached properties are easy to tell because they contain both a class and property name
They get their name because they are defined by one class but attach to other objects
OnPlatform: defines properties based on if it is an Android, iOS or Windows device
OnIdiom: defines properties specific to a phone or tablet
As of right now, you cannot use OnPlatform and OnIdiom together. Instead it requreies you to think about your latouts i.e. using a grid for autosizing or setting stack orientation to vertical on phone and horizontal on tablet.
OnPlatform: defines properties based on if it is an Android, iOS or Windows device
OnIdiom: defines properties specific to a phone or tablet
As of right now, you cannot use OnPlatform and OnIdiom together. Instead it requreies you to think about your latouts i.e. using a grid for autosizing or setting stack orientation to vertical on phone and horizontal on tablet.
OnPlatform: defines properties based on if it is an Android, iOS or Windows device
OnIdiom: defines properties specific to a phone or tablet
As of right now, you cannot use OnPlatform and OnIdiom together. Instead it requires you to think about your layouts i.e. using a grid for auto sizing or setting stack orientation to vertical on phone and horizontal on tablet.
OnPlatform: defines properties based on if it is an Android, iOS or Windows device
OnIdiom: defines properties specific to a phone or tablet
As of right now, you cannot use OnPlatform and OnIdiom together. Instead it requreies you to think about your latouts i.e. using a grid for autosizing or setting stack orientation to vertical on phone and horizontal on tablet.
Resource dictionary’s help keep your XAML clean and helps you to not redefine elements (its like a css for XAML)
Can Use OnPlatform & OnIdiom to set resources (platform or device dependicies)
You can also set styles in your resource dictionary (starting with <Style TargetType=”button”>
and then define setters inside <Setter Property=“BackgroundColor” Value=“#2A84D3/>
Just remember that the properties must be members of the TargetType class or else a runtime error will occour
Resource dictionary’s help keep your XAML clean and helps you to not redefine elements (its like a css for XAML)
Can Use OnPlatform & OnIdiom to set resources (platform or device dependicies)
You can also set styles in your resource dictionary (starting with <Style TargetType=”button”>
and then define setters inside <Setter Property=“BackgroundColor” Value=“#2A84D3/>
Just remember that the properties must be members of the TargetType class or else a runtime error will occour
Page specific resources take presidence over app wide resources
App wide resources are where the end of the line is. If it cant find it after checking app wide, then it will error.
One page cannot call resources from another page
View: The view is the UI. It manages all the visual aspects and should not be where you place your code you want to unit test.
Model: The model Manages the application data and may include domain logic, persisted state, & validation
ViewModel: The View Model provides a representation of the data centered around the view. It also enables easier conversion of methods or model properties and provides a way to access related data via bindings.
Binding acts as the intermediary between the source and the target to move data along.