Topics

Xamarin | Azure | DevOps | Artificial Intelligence | Reference Architectures

Xamarin

Where to Start?

  • Xamarin welcome post from James Montemagno

Inspired by Scott Hanselman’s recent blog on what .NET Developers ought to know to start 2017 I thought I would take it a step further to create a small guide for Xamarin developers creating iOS, Android, and macOS apps in .NET. So I sat down with Chris Hardy and put together a list of Xamarin specific terms and resources. details.

  • Free training on Xamarin University

Get essential Xamarin training at your own pace with our free content. Earn credit towards certification, then upgrade to a full subscription to go deeper. details.

  • Success stories

Thousands of businesses worldwide use Xamarin to build, test, and monitor powerful apps. details.

Sample Apps

  • Bike Rider

At Microsoft Connect(); 2016, we demoed mobile apps for BikeSharing360, a fictional company that allows users to rent bikes located throughout New York City and Seattle. BikeRider, the consumer mobile app for BikeSharing360, is a beautiful native mobile app for iOS, Android, and Windows built with Xamarin.Forms. Today, we are happy to announce the open-sourcing of the BikeRider app for you to dive into and explore. details.

  • Shopping Demo

App Service is a platform-as-a-service (PaaS) offering of Microsoft Azure. It allows to create mobile apps for any platform or device. You can integrate your apps with several SaaS solutions as Authentication, Push Notifications, Storage, etc. details.

  • My Driving

This repository contains the MyDriving sample that demonstrates the design and implementation of a comprehensive Internet of Things (IoT) solution that gathers telemetry from devices, processes that data in the cloud, and applies machine learning to provide an adaptive response. The demonstration logs data about your car trips using both your mobile phone and an On-Board Diagnostics (OBD) adaptor that collects information from your vehicle’s control system. The Azure backend uses this data to provide feedback on your driving style in comparison to other users. details.

  • Health Clinic

HealthClinic.biz is a fictitious regular doctor practice specialized in offering healthcare preventive care. This clinic is using different Microsoft and multi-channel apps built with Visual Studio 2015 to grow their business and modernize their customer experience. They also innovate and offer multiple apps and services—including websites, mobile apps, and wearable apps—to empower their patient’s well-being with easy access to manage their healthcare data and stay healthy. details.

  • Sport

Sport is a Xamarin.Forms app initially built for Xamarin employees as a way to facilitate leaderboards for a few ping-pong tables and darts we have around the office. Athletes can join leagues, get ranked and challenge other athletes to move up the ladder. details.

  • XWeather

XWeather is a weather app for iOS and Android built with Xamarin. details.

Lectures

  • Ebook for Xamarin Patterns (2017)

Guidance on core patterns and architectural guidance for developing Xamarin.Forms enterprise apps that are easier to test, maintain, and evolve. Guidance is provided on how to implement the Model-View-ViewModel (MVVM) pattern, dependency injection, navigation, validation, and configuration management, while maintaining loose coupling. In addition, there’s also guidance on performing authentication and authorization with IdentityServer, accessing remote data from containerized microservices, and unit testing. details.

Development Blogs

Azure

Azure Mobile App Service

  • Authentication/Authorization

App Service Authentication / Authorization is a feature which allows your application to log in users with no code changes required on the app backend. It provides an easy way to protect your application and work with per-user data. details.

  • Offline Synchronization

Offline data sync is a client and server SDK feature of Azure Mobile Apps that makes it easy for developers to create apps that are functional without a network connection. details.

  • Xamarin.Android Azure Push Notifications

In this tutorial, you add push notifications to the Xamarin.Android quick start project so that a push notification is sent to the device every time a record is inserted. details.

  • Xamarin.iOS Azure Push Notifications

In this tutorial, you add push notifications to the Xamarin.iOS quick start project so that a push notification is sent to the device every time a record is inserted. details.

Azure Bot Service

  • Azure Bot Framework resources

The Bot Framework is a platform for building, connecting, testing, and deploying powerful and intelligent bots. With support for .NET, Node.js, and REST, you can get the Bot Builder SDK and quickly start building bots with the Bot Framework. details.

  • Azure Bot Service overview

The Azure Bot Service provides an integrated environment that is purpose-built for bot development, enabling you to build, connect, test, deploy, and manage bots, all from one place. It is powered by Microsoft Bot Framework and Azure Functions, which means that your bot will run in a serverless environment on Azure that will scale based upon demand. details.

  • Debug an Azure Bot Service bot

Azure Bot Service bots are built upon the Azure Functions serverless architecture. When you create a bot using Azure Bot Service, the source code for your bot is initially accessible only via Azure and therefore cannot be debugged locally. However, if you set up continuous integration, you can manage the application’s files using the integrated development environment (IDE) and source control system of your choice and will be able to debug your bot locally. This article describes how to debug your bot after you have enabled continuous integration. details.

  • Azure Bot Service samples
  1. A sample pharmacy bot integrated with a LUIS.ai application for understanding natural language. details.

  2. A sample azure service bot integrated with azure services. details.

Azure Cosmos DB

  • Azure Cosmos DB resources

Azure Cosmos DB is a globally distributed database service designed to enable you to elastically and independently scale throughput and storage across any number of geographical regions with a comprehensive SLA. You can develop document, key/value, or graph databases with Cosmos DB using a series of popular APIs and programming models. Learn how to use Cosmos DB with our quickstarts, tutorials, and samples. details.

  • Azure Cosmos DB overview

Azure Cosmos DB is Microsoft’s globally distributed, multi-model database. With the click of a button, Azure Cosmos DB enables you to elastically and independently scale throughput and storage across any number of Azure’s geographic regions. It offers throughput, latency, availability, and consistency guarantees with comprehensive service level agreements (SLAs), something no other database service can offer. details.

  • Azure Cosmos DB and Xamarin sample

This quick start demonstrates how to create an Azure Cosmos DB account, document database, and collection using the Azure portal. You’ll then build and deploy a todo list web app built on the DocumentDB .NET API, Xamarin, and the Azure Cosmos DB authorization engine. The todo list web app implements a per-user data pattern that enables users to login using Facebook Auth and manage their own to do items. details.

DevOps

HockeyApp

  • Join to HockeyApp

The world’s best developers develop the world’s best apps for iOS, Android, OS X, and Windows on HockeyApp. Bring Mobile DevOps to your apps with beta distribution, crash reporting, user metrics, feedback, and powerful workflow integrations. details.

  • Mobile DevOps with HockeyApp and Xamarin

Come learn how pairing HockeyApp with Xamarin can provide a consistent mobile DevOps solution across all mobile app platforms. HockeyApp provides a comprehensive beta distribution platform, rich crash analytics, pairs with Visual Studio Team Services and common build and work management tools, and provides tools to understand user feedback and behavior. This session shows how pairing these tools can create a consistent workflow to increase your team’s development velocity. details. (video)

  • HockeyApp Knowledge Base

Search the Knowledge Base. details.

Mobile Center

  • Join to Mobile Center

Mobile Center is mission control for apps. Automatically build your app, test it on real devices, and distribute it to beta testers, collect crash reports and user analytics, including custom events, add push notifications to your app in minutes. details.

  • Mobile DevOps con Mobile Center

Learn how to ship mobile apps faster with Visual Studio Mobile Center. details. (video)

Visual Studio Team Services

  • Join to Visual Studio Team Services

Agile Tools. Git. Continuous Integration. Visual Studio Team Services gives your team everything they need to take your software from idea to release. Any language, any platform. details. video.

  • Mobile DevOps con Visual Studio Team Services

Join us for a demo-packed session! Learn more about how HockeyApp and Visual Studio Team Services help Xamarin developers deliver high-quality, modern apps for Android, iOS, and Windows. Automate your build pipeline, run unit and integration tests, and control the release management. details. (video)

Artificial Intelligence

QnA Maker

  • QnA Maker overview

Microsoft QnA Maker is a free, easy-to-use, REST API and web-based service that trains AI to respond to user’s questions in a more natural, conversational way. Compatible across development platforms, hosting services, and channels, QnA Maker is the only question and answer service with a graphical user interface—meaning you don’t need to be a developer to train, manage, and use it for a wide range of solutions. details.

Computer Vision API

  • Computer Vision API overview

The cloud-based Computer Vision API provides developers with access to advanced algorithms for processing images and returning information. By uploading an image or specifying an image URL, Microsoft Computer Vision algorithms can analyze visual content in different ways based on inputs and user choices. details.

  • Computer Vision API sample

This sample is a Xamarin.Forms application which uses the Computer Vision and Bing Web Search RESTful APIs to parse text from images and then query that text on Bing. It can import photos or capture them with the OS-default camera on Android, iOS, or the Universal Windows Platform. details.

Face API

  • Join to Face API

Detect one or more human faces in an image and get back face rectangles for where in the image the faces are, along with face attributes which contain machine learning-based predictions of facial features. The face attribute features available are: Age, Emotion, Gender, Pose, Smile, and Facial Hair along with 27 landmarks for each face in the image. details.

  • Face API samples
  1. A Xamarin.Android app for the Microsoft Cognitive Services Face API. details.

  2. A client library that makes it easy to work with the Microsoft Cognitive Services Face API on Xamarin.iOS, Xamarin.Android, and Xamarin.Forms and/or Portable Class Libraries. details.

Bing Speech API

  • Join to Bing Speech API

Convert spoken audio to text. The API can be directed to turn on and recognize audio coming from the microphone in real-time, recognize audio coming from a different real-time audio source, or to recognize audio from within a file. In all cases, real-time streaming is available, so as the audio is being sent to the server, partial recognition results are also being returned. details.

  • Bing Speech API overview

Microsoft’s Speech to Text and Text to Speech cloud offerings help you put speech to work in your application. Microsoft’s Speech APIs can transcribe speech to text and can generate speech from text. These APIs enable you to create powerful experiences that delight your users. details.

  • Bing Speech API samples
  1. This sample is a Windows WPF application to demonstrate the use of Speech-to-Text in the Bing Speech API. It demonstrates the following features using a wav file or external microphone input: * Short-form recognition * Long-form dictation * Recognition with intent. details.

  2. A client library that makes it easy to work with the Microsoft Cognitive Services Bing Speech API on Xamarin.iOS, Xamarin.Android, and Xamarin.Forms and/or Portable Class Libraries. details.

Language Understanding Intelligent Service

  • Language Understanding Intelligent Service overview

Language Understanding Intelligent Service (LUIS) enables developers to build smart applications that can understand human language and react accordingly to user requests. LUIS uses the power of machine learning to solve the difficult problem of extracting meaning from natural language input, so that your application doesn’t have to. Any client application that converses with users, like a dialog system or a chat bot, can pass user input to a LUIS app and receive results that provide natural language understanding. details.

  • Language Understanding Intelligent Service samples
  1. A sample pharmacy bot integrated with a LUIS.ai application for understanding natural language. details.

  2. A sample bot integrated with a LUIS.ai application for understanding natural language. details.

Reference Architectures

Mobile and Cloud architectures

  • Custom mobile workforce

A Xamarin.Forms client app with support for iOS, Android, and Windows that works offline and allows field engineers to view and edit the jobs assigned to them.

This solution is built on the Azure managed services: App Service, API Management, SQL Database, Azure Active Directory, Application Insights and HockeyApp. These services run in a high-availability environment, patched and supported, allowing you to focus on your solution instead of the environment they run in. details.

  • Social mobile and web app with authentication

A mobile client app for social image sharing and with a companion web app. The app backend does background image processing using an Azure Function. The mobile client app works in offline mode, allowing you to view and upload images even when you don’t have a network connection.

This solution is built on the Azure managed services: App Service, Traffic Manager, Azure Cosmos DB, Redis Cache, Notification Hubs, Azure Active Directory, Functions, Application Insights and HockeyApp. These services run in a high-availability environment, patched and supported, allowing you to focus on your solution instead of the environment they run in. details.