Tuesday, January 2, 2018

Azure App Service / Azure Stack App Service–related technologies

The Azure App Service technologies can be used from the Azure public cloud (in Azure App Service) and from the on-premises implementation of Azure, called Azure Stack (in PREVIEW, as of H1 2016).

Azure Web Apps
 A web or service deployed into Azure App Service. You can deploy ASP.NET MVC apps, plain HTML web apps, Node.js, Java, PHP, Python web/services, and more.
 Appropriate when you just need to deploy a web/service into the cloud.
 You can easily manage your web app configuration from Azure portal and to deploy directly from Visual Studio when you are developing.

Azure Mobile Apps
 An Azure App Service Mobile App is internally similar to an Azure Web App, but it is specially made to be consumed by mobile apps.
 You can deploy services (based on ASP.NET Web API or Node.js) but Azure Mobile Apps provide additional capabilities, like offline scenario (sync local device database with database in the cloud), simplified push notification implementation based on Azure Push Notification hub, and an easy implementation of Internet authentication (Facebook, Google, Twitter, Microsoft) or enterprise Azure Active Directory authentication.
 Appropriate when the services you want to deploy will be consumed by any mobile app (including native, cross-platform, or hybrid).

Azure API Apps
 The API Apps support within Azure App Service enables you to easily create, consume, and call APIs. Azure API Apps provide metadata describing your services (based on Swagger) so other apps can easily discover what your services are offering.
 You can easily expose and integrate APIs across a wide variety of languages.
 Discoverability and integration features integrate API Apps with Logic Apps.
 Appropriate when consuming services (API Apps) from apps like Logic Apps or PowerApps.

Azure Logic Apps
 Logic Apps enable you to automate workflows and business processes.
 You can configure workflows that integrate and transform data between LoB systems (like Microsoft Dynamics or Oracle) with SaaS systems (like Office 365, Salesforce, or Twitter) or your custom applications/services.
 Take advantage of already available SaaS/LoB connectors or custom API Apps so you can easily build integration systems.

Source Of Information : Microsoft Platform and Tools for Mobile App Development

Monday, January 1, 2018

Rapid Mobile App Development (RMAD) with Microsoft PowerApps

PowerApps-related technologies

PowerApps
 PowerApps is an enterprise service for LoB and IT analysts and developers to connect, create, and share business apps across an organization on any device in minutes.
 The PowerApps tool allows you to create mobile apps that can run on iOS, Android, and Windows.

Swagger
 To consume HTTP services from PowerApps (like services in Azure App Service), those services need to expose Swagger metadata so that PowerApps can discover what can be consumed.
 Swagger is a very popular RESTful API description metadata so services can be discoverable from the outside. It is basically what Azure API Apps, Azure Logic Apps, and PowerApps use to understand how to use services/APIs and to connect to them.
 Azure API Apps already provide Swagger metadata by default, but if you want to consume Azure Mobile App services (or any other HTTP service, like a regular ASP.NET Web API service) from PowerApps, you need to add functionality so they provide Swagger metadata.

Swashbuckle
 Swashbuckle is a convenient way to rapidly and automatically generate Swagger metadata from a Web API .NET project, like any ASP.NET Web API service or an Azure Mobile App service.
 Swashbuckle is basically a NuGet component that you can add to your Web API service so that it automatically generates the Swagger metadata related to your methods (no need to manually generate it).

Source Of Information : Microsoft Platform and Tools for Mobile App Development

Sunday, December 31, 2017

Main frameworks and SDKs for C#/Xamarin/.NET

MVVM built-in in Xamarin.Forms
 Appropriate when using Xamarin.Forms and you want to implement a clean and simplified MVVM architecture for your client apps targeting iOS, Android, and Windows UWP.
 You can use an MVVM framework that comes out-of-the-box with Xamarin.Forms.

MvvmCross
 Appropriate when using traditional Xamarin and .NET for Windows UWP and you want to implement a MVVM architecture for your client apps targeting iOS, Android, and Windows UWP.
 MvvmCross is a popular and open source MVVM framework that has been crossplatform since its creation and has been tested in many cross-platform apps.

MVVM light toolkit
 Appropriate when using traditional Xamarin and .NET for Windows UWP and you want to implement a MVVM architecture for your client apps targeting iOS, Android, and Windows UWP.
 MVVM light toolkit is a popular and open source MVVM framework that was widely used for WPF, Silverlight, Windows Store, and for Windows Phone. It added support for Xamarin.Android and Xamarin.iOS as a cross-platform framework in v5 in 2014.

Prism for Xamarin.Forms
 Appropriate when using Xamarin.Forms and you want to implement
 composite apps with MVVM architecture for your client apps targeting iOS, Android, and Windows UWP.
 Prism is not just an open source MVVM framework—it also offers additional capabilities, like dependency injection, commands, EventAggregator, and other capabilities.
 Prism was originally created by the Microsoft Patterns & Practices team, was open sourced in 2015, and has been driven by an independent team ever since.

Azure Mobile Apps .NET Client SDK
 Appropriate when consuming Azure Mobile App services from Xamarin or .NET apps.
 It allows you to add a scalable back end to your connected client applications and to have structured storage, authentication, push notifications, and offline scenarios (automatic data-sync between local SQLite in the device and Azure SQL Database in the cloud) to your Xamarin- or .NET-based mobile apps using Microsoft Azure Mobile Apps.

Akavache Cache and local store
 Appropriate when implementing client cache/store for native apps, like Xamarin apps (iOS and Android) and .NET apps (Windows and UWP apps).
 Akavache is an asynchronous, persistent (that is, writes to disk) key-value store created for writing apps in C#, based on SQLite.
 Akavache is great for both storing important data (like user settings), as well as cached local data that expires.

SQLite.NET
 Appropriate when storing relational SQL data locally in the mobile device into a SQLite database.
 SQLite.NET is an open source, minimal library to allow .NET and Xamarin apps to store data in SQLite databases.
 It is a thin, fast, and efficient library, not a full SQLite driver. If you need that, use Mono.Data.SQLite or csharp-sqlite.

SQLCipher
 Appropriate for Xamarin and .NET apps when you need to secure/encrypt SQLite database in the device.
 It allows for transparent and secure 256-bit AES encryption of SQLite database files.
 SQLCipher has a small footprint and great performance. As such, it's ideal for protecting embedded application databases and is well-suited for mobile development.

FileDb NoSQL .NET database
 Appropriate when storing NoSQL data locally in the mobile device into local files.
 FileDb is a simple database solution for .NET and Xamarin apps.
 FileDb is a NoSQL database meant for use as a local data store for applications.
 Take advantage of LINQ to join tables, and get all the relational and grouping power that LINQ offers.

Source Of Information : Microsoft Platform and Tools for Mobile App Development

Saturday, December 30, 2017

Development tools for Xamarin (iOS, Android, Windows)

Microsoft Visual Studio with Xamarin Extension
 Appropriate when you want to take advantage of a full IDE, like Visual Studio.
 You can visually design views with the iOS and Android, edit code with IntelliSense, and debug C# code in apps running in emulators or real devices.
 Take advantage of advanced Visual Studio features and your C# skills.

Xamarin Studio
 Appropriate when you want to use an IDE that works cross-platform on Mac OS X and Windows.
 You can visually design views with the iOS and Android, edit code with IntelliSense, and debug C# code in apps running in emulators or real devices.
 Take advantage of your C# skills.

Source Of Information : Microsoft Platform and Tools for Mobile App Development

Friday, December 29, 2017

Development platforms and technologies for C# cross-platform mobile (iOS, Android, Windows)

PCL (Portable Class Library)
 Take advantage of your .NET/C# skills, and share code across platforms.
 Share key artifacts for C# cross-platform across Windows, iOS, and Android.
 Appropriate when developing with traditional Xamarin, Xamarin.Forms, Windows 10 UWP, and .NET.
 You can share most of the C# logic across platforms, like Model-View-ViewModel (MVVM), and even the views/XAML, if using Xamarin.Forms.

Xamarin
 Take advantage of your .NET/C# skills while building native apps.
 Traditional Xamarin
o You can create apps for iOS, Android, and Mac, with specially tailored UI per platform (it is possible to have a different UI/views per platform), while sharing the same C# logic.
o Should be used in conjunction to PCL to share approximately 80 percent of the code (C# logic) between Xamarin and UWP/.NET apps.
o Appropriate when building mobile apps with the best possible UI and performance, like B2C apps.

Xamarin.Forms
 Xamarin.Forms
o You can share most of the implementation (approximately 95 percent, including C# and XAML views) in a PCL, when creating apps for iOS, Android, and Windows 10 UWP.
o Appropriate when building apps for iOS, Android, and Windows, which will have the same UI/views with almost no differences in layout across platforms.
o Can be used in a mixed approach (Xamarin + Xamarin.Forms) so you can get the best of both worlds—using Xamarin.Forms for simpler views and traditional Xamarin with native views and UWP views, depending on the platform.

UWP with .NET
 Take advantage of your .NET/C# skills.
 With Universal Windows Platform (UWP), you can create the same app running on Windows 10 (desktop/tablet) and Windows 10 Mobile.
 Should be used in conjunction with PCL, to share approximately 80 percent of the code (C# logic) between Xamarin and UWP/.NET apps.
 Appropriate when building mobile apps with the best possible UI and performance, like B2C apps.

Source Of Information : Microsoft Platform and Tools for Mobile App Development

Thursday, December 28, 2017

Hybrid and cross-platform: Visual Studio Tools for Apache Cordova

Development platforms and technologies for hybrid/Cordova mobile apps (iOS, Android, Windows)

Apache Cordova
 Use your HTML/JavaScript skills.
 Appropriate when building mobile apps, like B2E or B2B apps.
 You can create mobile apps that are fully installed in the device so that you can also have offline scenarios.

Cordova plug-ins
 It is part of the Apache Cordova platform.
 A plug-in is a bit of add-on code that provides a JavaScript interface to native components.
 Using plug-ins, your app can use native device capabilities beyond what is available to pure web apps.


Microsoft development tools for hybrid/Cordova
Visual Studio Tools for Apache Cordova
 Appropriate when you want to take advantage of a full IDE like Visual Studio.
 You can edit code with IntelliSense and debug JavaScript/TypeScript.in apps running in emulators or real devices, configure Cordova projects and plugins easily in project settings.
 Take advantage of your Visual Studio skills and insights.

Visual Studio Code + Cordova Tools Extension + Cordova CLI (Command Line Interface)
 Appropriate when you want to use a light editor like Visual Studio Code, which is also cross-platform (Visual Studio Code runs on Windows, Mac, and Linux).
 You can debug your code, find commands in the Command Palette, and use IntelliSense.


Languages for hybrid mobile apps (iOS, Android, Windows)
JavaScript
 Appropriate when building typical Cordova apps which are not very complex in the JavaScript layer.
 Take advantage of your web development and JavaScript skills.

TypeScript
 TypeScript is a programming language created by Microsoft that is a superset of JavaScript. You can develop a Cordova app with TypeScript that will compile into simple JavaScript to be deployed as part of your app.
 Appropriate when building complex business applications with a heavy volume of client code.
 With TypeScript, you can have a better structured code, thanks to certain object orientation, based on classes, modules, and interfaces.


Main web frameworks for Apache Cordova
AngularJS
 AngularJS is a very popular JavaScript framework created by Google. It is a library written in JavaScript (although Angular 2 is written in TypeScript).
 You can have dynamic views in your app. AngularJS lets you extend HTML vocabulary for your application.
 Appropriate when creating Cordova apps, either with JavaScript or TypeScript.
 Take advantage of a resulting environment that is expressive, readable, and quick to develop.

Ionic
 Ionic is a front-end SDK for developing hybrid mobile apps. It offers a library of mobile-optimized HTML, CSS, and JavaScript CSS components, gestures, and tools for building highly interactive apps.
 Built with Sass and optimized for AngularJS.
 Most popular choice when developing Cordova apps with AngularJS and/or jQuery.
 You can take advantage of your web development skills.

Onsen UI
 Onsen UI framework is designed and implemented to deliver a positive user experience for your hybrid apps.
 Appropriate when developing Cordova apps with AngularJS and/or jQuery.

Backbone
 Backbone.js gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, and views with declarative event handling.
 Appropriate when creating rich client-side applications.
 You can create a structured code, decoupling views from models.

Source Of Information : Microsoft Platform and Tools for Mobile App Development

Wednesday, December 27, 2017

Securing mobile apps end to end with Microsoft Intune MAM

IT administrators can deploy MAM policies that protect data and help safeguard secure access. Intune
App SDK typically handles the implementation of these policies, creating a consistent experience for
administrators across apps and letting developers to quickly turn on MAM.

The Intune App SDK (MAM) supports Xamarin apps, Cordova apps, and also single-platform language/SDK apps like Objective-C apps for iOS and Java/Android-SDK apps for Android.

 After an app is set up for MAM, an IT administrator can do the following:

 Control users’ ability to move corporate documents Administrators can deploy a policy that turns off file backup apps to prevent backing up corporate data to the cloud.

 Configure clipboard restrictions They can deploy a policy so that users are unable to use the clipboard to cut/copy from an Intune-managed app and to paste into a nonmanaged app.

 Enforce corporate access requirements Administrators can require an access challenge to the user, such as full authentication or app PIN, to launch the app. Authentication relies on the users’ Active Directory identity and therefore can benefit from all Active Directory identity features. Intune App SDK uses Azure AD to provide an SSO experience in which the credentials, after they are entered, are reused for subsequent sign-ins. Authentication of identity management solutions federated with Azure AD are also supported.

 Enforce encryption on saved data Administrators can enforce a policy that ensures that all data stored on the device by the app is encrypted.

 Remotely wipe corporate data Corporate data can be remotely wiped from an Intunemanaged app when the device is unenrolled from Microsoft Intune. This feature is identity-based and deletes only the files that relate to the corporate identity of the end user.

 Enforce the use of a managed browser Using the Intune-managed browser helps to ensure that links that appear in emails (in an Intune-managed mail client) are kept within the domain of Intune-managed apps.

 Check device health and compliance Administrators can check the health of the device and its compliance with corporate policies before users access Intune-managed apps. On the iOS platform, this policy checks whether the device has been jailbroken. On the Android platform, this policy checks whether the device has been rooted.

Source Of Information : Microsoft Platform and Tools for Mobile App Development

Tuesday, December 26, 2017

Managing client mobile apps and devices

As part of Enterprise Mobility Suite (EMS), Microsoft Intune provides organizations with the ability to manage mobile devices, PCs, and apps so that employees are productive and a company’s information remains protected.

 Mobile device management IT administrators use mobile device management to manage, monitor, and secure employees’ mobile devices. Intune supports MDM of iOS, Android, Mac, and Windows devices. IT administrators can manage both personal and corporate devices, with users’ ability to enroll their devices and install apps with Intune via a company portal app. Using the Intune admin console, IT administrators can manage a variety of scenarios, including policies, corporate email, certificates, VPN, and many more device settings. They also can use Intune Conditional Access policies to control access to on-premises Microsoft Exchange email from mobile devices.

 Mobile app management MAM is typically used for deploying and managing employees’ apps. With Intune MAM, IT administrators can deploy and manage both store and internal company
apps, while ensuring that data remains protected in these apps through MAM policies configured
by the administrator.

Intune MAM also offers a variety of options for data protection. You can manage apps with and without MDM, making it possible for companies with BYOD devices to manage apps with little friction for their employees. You also can deploy MAM alongside third-party MDM providers with a goal to meet customers’ needs, regardless of where they are. In addition, IT administrators can manage a large ecosystem of MAM-compliant productivity apps, including Microsoft Office apps and third-party apps such as Adobe Reader and Box.

Developers can set up their mobile apps for MAM through Intune App SDK, which supports native iOS and Android, in addition to Cordova and Xamarin. IT administrators can also utilize an app-wrapping tool to configure compiled LoB apps for management. After an app has been set up for MAM, administrators can deploy a variety of policies to protect corporate app data, leaving personal data intact, to help ensure an uncompromised user experience.

Source Of Information : Microsoft Platform and Tools for Mobile App Development

Monday, December 25, 2017

Data protection on device (data at rest)

Although base device encryption capabilities and cross-platform plug-ins and components can provide a certain degree of security for app developers on their own, the Microsoft Intune MAM
features provide the ability to enforce policies at the app level, including encryption of all local
data. It is therefore a low friction way to increase your security.

Intune provides two solutions for implementing its MAM features for Android and iOS devices: an
app-wrapping tool, and an app SDK. You can run the app-wrapping tool on internal line-of-business
(LoB) Android and iOS apps to activate certain capabilities such as limiting cut-copy-paste while the
app is running, requiring a PIN, or requiring app-level encryption. The Intune App SDK takes this a
step further, making it possible for apps to designate corporate data only for protection, leaving
personal data completely intact, and ensuring that users cannot store their data in personal appconnected services.

Source Of Information : Microsoft Platform and Tools for Mobile App Development

Sunday, December 24, 2017

Threats analysis

 Identity protection Azure Active Directory Identity Protection takes secure identity and access
management to the next level by detecting attacks in real time, informing you of risks, and applying controls to help keep your enterprise safe. The service detects suspicious activities, based on signals like brute-force attacks, leaked credentials, sign-ins from unfamiliar locations, infected devices, and more, and provides remediation recommendations to protect against these activities in real time. Based on these suspicious activities, a user risk severity is calculated, and you can configure risk-based policies that automatically protect the identities of your organization from future threats. These risk-based policies, in addition to other conditional access controls provided by Azure AD and other EMS services, can either block or provide adaptive remediation actions that include password reset requests and MFA. The service is built on a decade of Microsoft experience in protecting consumer identities, and it has special features to reduce falsepositive rates and noise.

 On-premises threat detection Microsoft Advanced Threat Analytics (ATA) is an on-premises product that can help customers protect their enterprise from advanced targeted attacks by automatically learning, analyzing, and identifying normal and abnormal entity (user, devices, and
resources) behavior. ATA takes advantage of deep-packet inspection technology as well as information from additional data sources (SIEM and Active Directory) to build an organizational
security graph and to detect advanced attacks in real time. The solution is agnostic to the device type and operating system version—ATA witnesses all authentication and authorization.

 SaaS/Cloud Application Security Microsoft Cloud Application Security, based on the Microsoft
Adallom acquisition, is a comprehensive cloud service that provides deeper visibility, stronger controls, and increased security for the cloud applications.

 Malware detection When building an internal-facing app, Intune mobile device management and mobile application management solutions detect malware on Android and report jailbroken or rooted devices for iOS and Android. You also can use Intune MAM capabilities on their own or to complement an existing MDM solution.

Source Of Information : Microsoft Platform and Tools for Mobile App Development

Saturday, December 23, 2017

Communication security

 Key management Secure Sockets Layer (SSL) provides an essential building block for all secure
communications, and all Azure services support SSL-based communication. Azure Key Vault can
help improve overall network-based communication security by centralizing sensitive certificates,
keys, and secrets in a secure, audited hardware- or software-based central service and by removing the need for apps to maintain these values directly. With this centralization, organizations can regularly change keys globally without having to redeploy apps or services, in addition to providing a more granular level of control over the keys themselves.

 VPN and Wi-Fi access Microsoft Intune can provide additional peace of mind by enforcing mobile device resource access control policies. Using Intune, you can require VPN or secure Wi-Fi access to connect to key services, helping you to manage device profiles.

Source Of Information : Microsoft Platform and Tools for Mobile App Development

Friday, December 22, 2017

Identity, SSO, authentication, and authorization

 SSO corporate authentication and authorization, Azure Active Directory, and Active Directory Federation Services Active Directory provides an industry-leading identity server, both in the cloud and on-premises, through Azure Active Directory (Azure AD) and Active Directory Federation Services (AD FS). Developers can securely authenticate, authorize, access information in Active Directory and can take advantage of device-level SSO and MFA capabilities, along with storage through the powerful Active Directory Authentication Library (ADAL), which is available for all major native and cross-platform mobile and server-side technologies. In addition, Intune MAM features include the ability to force authentication against Active Directory for any app, further enhancing an enterprise’s ability to control access to sensitive apps and data. Additionally, products like Azure Active Directory Identity Protection help security-conscious organizations implement Microsoft Identity as a Service (IDaaS) solutions with confidence.

 Internet authentication social authentication providers Azure App Service Authorization provides a unified, simplified mechanism for authenticating against Azure AD, Facebook, Twitter, Google, and Microsoft account—from not only services and web apps, but also mobile apps, through the use of Azure Mobile Apps libraries, plug-ins, and SDKs for Android, iOS, Windows, Xamarin, and Cordova. The common interface means that developers are abstracted from provider interface changes and will be able to instantly take advantage of new auth providers as they come online in the service. Azure AD now also has a preview of B2C support, giving you the ability to manage sign-ins, using credentials from Facebook, Google, LinkedIn, Amazon, and Microsoft account, and to take advantage of the same power of Azure AD available for enterprise accounts. It is currently in preview for Android, iOS, and Windows native apps, with other technologies coming soon.

 Role-based access control (RBAC), Rights Management Azure AD and AD FS are essential directories for configuring RBACs for mobile apps. Organizations can establish specific roles that have access to an app through Active Directory groups that can then be validated by using the Active Directory Graph API. In addition to app-level access controls, the broad ADAL support for server-based technologies like .NET and Node.js make it possible for organizations to further enhance their security by using these same capabilities to provide or restrict access to specific server-side data sources. In the cloud, Azure Mobile Apps can further streamline the process of getting up and running with RBACs through the use of features like Easy Tables that set up the entire infrastructure needed while still enabling developers to implement customized authorization controls. Finally, Azure Rights Management is a comprehensive cloud service with which you can implement tight role-based controls to Microsoft Office, SharePoint, and OneDrivepersisted data that extends to apps using Office APIs to access data.

Source Of Information : Microsoft Platform and Tools for Mobile App Development

Thursday, December 21, 2017

Securing and managing mobile apps

Developers can build secure mobile apps, and IT managers can feel confident by securely managing mobile apps and devices in an enterprise “Bring Your Own Device” (BYOD) environment, along with their desktop infrastructure.

Securing mobile apps
With the range of possible mobile app technologies and the mobile back ends, Microsoft provides recommendations and solutions for developers creating their mobile app strategy. This ranges from
components to create mobile apps that securely manage data (such as data encryption) or to provide
authentication of the user (like single sign-on with Microsoft Azure Active Directory), to the ability for IT managers to securely manage the deployment of apps and devices in a corporate environment. It extends through Mobile Application Management (MAM)/Mobile Device Management (MDM)
capabilities with Microsoft Intune and Microsoft Enterprise Mobility.

There are many security considerations to take into account in a mobile app strategy that cover
application scenarios, IT, and developer scenarios.

 User identity, single sign-on (SSO), authorization and authentication Using Azure App Service and the SDKs, developers can authenticate users through a number of means such as Active Directory, Azure Active Directory for SSO support, or other social sign-in systems, such as Twitter, Facebook, and Google. It includes more fine-grained or higher levels of security through multifactor authentication (MFA) and role-based access to APIs. Azure App Service provides developers with a simple authentication process to handle the management of tokens and to facilitate federated authentication across enterprise back-end systems and SaaS providers.

 Back-end API management You can use Azure API Management to drive API consumption among internal teams, partners, and developers while benefiting from the business and operational insights available in the Azure portal. API Management gives you the tools you need for end-to-end API management—provisioning user roles; creating usage plans and quotas; applying policies for transforming payloads; and setting up throttling, analytics, monitoring, and alerts.

 Data at rest (local encryption) or in motion (communication) Azure Mobile App SDK provides the means to securely encrypt data stored locally on the device during offline/online scenarios, but developers can also make use of SDKs, Cordova plug-ins, and more for specific app scenarios, with and without Azure SDKs.

 Tamper and malware detection Microsoft Antimalware for Azure Cloud Services and Virtual Machines is a real-time protection capability that helps identify and remove viruses, spyware, and
other malicious software, with configurable alerts when known malicious or unwanted software
attempts to install itself or run on your Azure systems.

 Keys, certificates, and secrets Azure Key Vault helps safeguard cryptographic keys and secrets used by cloud applications and services. By using Key Vault, you can encrypt keys and secrets (such as authentication keys, storage account keys, data encryption keys, .PFX files, and passwords) by using keys that are protected by hardware security modules (HSMs). Key Vault streamlines the key management process and enables you to maintain control of keys that access and encrypt your data.

 Application and device management (MAM/MDM) With the increasing volume and diversity
of both BYOD and corporate-owned devices being used in organizations today, a growing challenge for IT departments is keeping corporate information secure. Microsoft MAM and MDM solutions based on Microsoft Intune help minimize this complexity by offering management capabilities both on-premises and in the cloud, all from a single console.

Source Of Information : Microsoft Platform and Tools for Mobile App Development

Wednesday, December 20, 2017

Analyzing the health of back-end services by using Visual Studio Application Insights

Application Insights  is an extensible analytics service that monitors your live application. It
helps you to detect and diagnose performance issues and to understand what users actually do with
your app. Application Insights designed for developers to help you to continuously improve the
performance and usability of your services or applications.

Application Insights works with both web/services and stand-alone apps on a wide variety of
platforms: .NET or J2EE, hosted on-premises or in the cloud.

Application Insights is aimed at the development team. You can use it to do the following:
 Analyze usage patterns to understand your users better and to continuously improve your app.

 Count page views, new and returning users, geolocation, platforms, and other core usage
statistics.

 Trace usage paths to assess the success of each feature.

 Detect, triage, and diagnose performance issues, and fix them before most of your users are
aware.

 Get alerts on performance changes or crashes.

 Explore metrics to help diagnose performance issues, such as response times, CPU usage, and
dependency tracking.

 Get availability tests for web apps.

 Gain insight from exception reports and alerts.

 Access the powerful diagnostic log search (including log traces from your favorite logging
frameworks).

Source Of Information : Microsoft Platform and Tools for Mobile App Development

Tuesday, December 19, 2017

DevOps for back-end mobile services using VSTS, Azure, and Application Insights

Developers and testers can easily and quickly provision production-like dev-test environments by
using templates in Azure. This pipeline can begin with Visual Studio or VSTS by initiating automated builds for every check-in and with automated deployments (CD).

Developers can create automated tests at every stage of deployment and can define necessary
approvals before and after deployments. There are two fundamental technologies that are the pillars in Azure’s infrastructure:

 Azure Resource Manager Developers can provision virtual machines and any Azure PaaS components by using ARM templates saved in source control using tools with which they are already comfortable working.

 Azure Marketplace templates Developers can use the cloud as a test harness for a number of real-world situations, such as testing a large number of requests and multiple clients, simulating realistic and distributed load, at the same time validating the scale and tolerance of your application. Azure Marketplace templates have a host of test frameworks and services that give developers the ability to do functional and performance testing. Customers can take advantage of the on-demand and scalable infrastructure of Visual Studio Team Services load-testing service to generate unlimited virtual users for your application from various Azure datacenters around the globe.

Source Of Information : Microsoft Platform and Tools for Mobile App Development

Monday, December 18, 2017

Getting mobile customer insights and implementing marketing campaigns by using Azure Mobile Engagement

Azure Mobile Engagement is a SaaS user-engagement platform that provides data-driven insights
into mobile app usage by end users, along with real-time user segmentation. It also makes
contextually aware push notifications possible as well as in-app messaging. With Azure Mobile Engagement, application publishers and marketing professionals can better
understand and interact with the app users.


Real-time actionable analytics to maximize return on investment
You can initiate engagement scenarios according to user behavior and demographics by combining
Big Data collection with real-time message processing. Mobile Engagement can answer nearly any
question relevant to your particular business needs. For example, you can create custom dashboards
to measure key performance indicators (KPIs), rapidly find and fix usage bottlenecks in a user funnel
path, track retention and user stickiness, and then determine which campaigns are driving the highest
return on investment. Using the Mobile Engagement 360-degree user path view (see Figure 4-5), you
can easily and continually enhance and optimize the user experience (UX), driving higher retention
rates and improved app usage.


Value-added push and communications platform
Mobile Engagement provides in-app messaging capabilities and works seamlessly with native push
notifications gateways such as Google GCM, Apple APNS, and Microsoft MPNS. And it goes beyond, giving you the power to create targeted campaigns by analyzing user behaviors to identify unique customer segments.


Open APIs and ease of integration
By providing open APIs and SDKs that ease integration, you can use data from your existing CRM,
CMS, or other back-end systems. This makes it possible for you to further improve your audience
targeting and protect your investments.

Source Of Information : Microsoft Platform and Tools for Mobile App Development

Sunday, December 17, 2017

Gathering operational and behavioral analytics by using HockeyApp

You can track application health alongside usage metrics and application crash analytics. Get powerful dashboards, in which you can filter for different views and levels of detail—from segmenting data to drilling down to an event.

Understanding real-world crash behavior is essential for mobile applications. HockeyApp’s integration of fully open-source SDKs provides highly reliable automatic crash collection of every application crash. HockeyApp crash collection is supported natively on most major mobile platforms: iOS, Android, Windows, Xamarin, Cordova, React Native, and others.

The HockeyApp dashboard provides the app owner with a summary of crashes and user feedback,
including messages from users and automatic screenshots. It groups the crash reports on all platforms
by similarities.

You can enjoy the benefits of powerful crash analytics tools, such as full symbolization support for iOS and .NET native code, and de-obfuscation of ProGuard on Android provides actionable human
readable stack traces for all crashes. Automatic crash grouping identifies crashes resulting from the
same cause. Because of HockeyApp’s integration with most major bug-tracking systems, you take
advantage of streamlined workflows for notification and status tracking of crash defects. You can
utilize the HockeyApp Mac app to view crash reports and navigate directly to the crashing line of code in your IDE. HockeyApp helps you to understand the device and OS distribution for each crash to gain insight into platform issues. Enable faster triage by getting the details on total impacted users for each crash.

HockeyApp gives you an opportunity to learn about basic user behavior automatically—without
additional coding. It helps you to fully understand DAU, MAU, and user sessions for your application and each individual version. You can dive deeper into user behavior by tracking any user action as a custom event; visualize custom event statistics to learn about factors influencing end user behavior; and engage directly with end users via feedback with bi-directional communication from end users inapp to the development team, including the ability to share screenshots of customers’ experiences.

Source Of Information : Microsoft Platform and Tools for Mobile App Development

Saturday, December 16, 2017

Managing a beta release program by using HockeyApp

HockeyApp provides a comprehensive solution for management of betas across your applications. All workflows for creating and managing betas are supported. Upload of beta builds is simple through integration with workflows used by a development team to produce builds, from manual local development machine builds to integration with CI servers. You can easily manage builds by placing them in a central location—the HockeyApp service.

With HockeyApp, you can take advantage of direct over-the-air delivery to testers and to internal or
external beta customer devices. Through a centralized dashboard, accessible via the web or native
mobile apps, testers can have access to beta apps and all available versions.

Using the convenient mobile app notification service, you can keep your users updated about new
versions or control versions in the wild by requiring users to update to a specific version. HockeyApp provides a rich set of management tools for users and devices. Users can sign in by using existing accounts in common single sign-on (SSO) providers such as Google, Facebook, Twitter, Microsoft, and Azure Active Directory. You can gain new testers via automatic recruitment and invitation via URL links or email. You also can control access to apps and beta per user or via teams, with fine-grained controls—even down to specific versions. HockeyApp also collects user device information, helping to manage UDIDs for iOS and to understand the device test coverage.

Source Of Information : Microsoft Platform and Tools for Mobile App Development

Friday, December 15, 2017

Continuous integration, deployment, and release management using VSTS/TFS, Xamarin Test Cloud, and HockeyApp

Utilizing the comprehensive yet easy-to-use continuous integration (CI) support in VSTS and TFS,
developers can set up and maintain an automated build and test server for any mobile platform,
without needing to write hundreds of lines of custom script code. This means that you can spend
more of your time building high-quality mobile apps instead of creating the infrastructure to make
them operational. The completely revamped core of VSTS and TFS is fully cross-platform and adopts a lightweight task framework with a library of prebuilt tasks and an entire new marketplace of extensions. For the first time, builds can run on Windows, Linux, or Mac machines, opening up mobile device and server-based scenarios like never before.

To facilitate better release agility, the new Release Management (RM) capability in VSTS/TFS makes it possible for you to set up a continuous delivery (CD) server that streamlines the process of publishing updates to beta and public stores while giving you the control and visibility needed to match your organizational needs.

Key benefits include the following:
 Continuous integration Provides a simplified, task-based experience for setting up a CI server for both native (Android, iOS, and Windows) and cross-platform (Xamarin, Cordova, and React Native) mobile apps, in addition to Microsoft and non-Microsoft (Node.js, Java)–based server technologies.

 Continuous testing Builds display integrated test results, which you can run by using Grunt, Gulp, xctool, and Gradle, among others, and which allow for automatic work item creation when failures occur.

 Test clouds Build/test pipeline integrations with Xamarin Test Cloud or with partners like Perfecto Mobile, Sauce Labs, and Keynote to run your integration and UI automation tests as part of your CI builds.

 Build agents Use the cloud-hosted build machines provided by VSTS (Windows) and MacinCloud (OS X), or configure a self-hosted build agent running on your own infrastructure that integrates with on-premises TFS or cloud-hosted Team Services instances.

 Continuous delivery Automate the deployment of your mobile apps, regardless of whether you’re publishing to HockeyApp (for beta), Google Play, or the App Store (for production). Continuously deploy the service side of your mobile apps by using Azure deployment tasks, along with Chef, Docker, and more.

 Release management Configure multiple environments for your app (QA, staging, production), each of which can have pre- and post-approvers to help ensure that updates aren’t unintentionally released.

 Marketplace The rich ecosystem of first- and third-party services extensions facilitates further customization of your CI and CD experience.

Source Of Information : Microsoft Platform and Tools for Mobile App Development

Thursday, December 14, 2017

Managing teams and projects by using VSTS/TFS

With the ability to create an unlimited number of private Git and/or Team Foundation Version Control
(TFVC) repositories, VSTS and TFS provide the flexibility needed for teams all of sizes, regardless of whether they prefer distributed or centralized version control. Support for branching and pull requests facilitates modern collaboration workflows, and gated builds and code reviews provides enforcement of best practices.

Be agile, on your terms. Capture, prioritize, and track work with backlogs and customizable Kanban
boards. Work items link directly to code to ensure transparency, and you can use them to build rich
dashboards for easy reporting.

Here are some of the key benefits:
 Flexible version control Use Git for distributed version control to maximize collaboration, or
use TFVC for centralized version control.

 Unlimited private repositories No need to limit your development projects. VSTS/TFS provide
teams with the ability to create as many Git or TFVC repositories as are needed for any project.

 Modern collaboration workflows Branches isolate risk in a development project. Pull requests
provide tools that facilitate collaboration and code reviews for changes being merged back into
the mainline.

 Branch policies Enforce best practices by requiring that all code submissions have code reviews,
and eliminate build breaks with gated build.

 IDE integration Use your favorite language and development tool. Version control supports any
language, as well as any Git client (including Xcode). Java teams can access code and work items
through free plug-ins for Eclipse and IntelliJ and can run continuous integration builds based on
config files from Ant or Maven.

 Build integration Create and manage build processes that automatically compile and test your
applications in the cloud, either on demand or as part of an automated continuous integration
strategy.

 Backlogs Quickly define, prioritize, and decompose the work for your project. Prioritization is
easy with drag-and-drop reordering, which helps you keep the most important work at the top of
your backlog.

 Scrum planning Scrum teams will feel right at home. Plan sprints using team-based capacity
planning, drag work-item assignments where you need them, and monitor progress throughout
the sprint with real-time burndown charts.

 Task boards Run your sprint using a fit-for-purpose Taskboard, where you can watch the work
as it happens. Pivot the board by team member or story, making daily standups quick and
efficient.

 Custom queries Using queries, you can track and organize your data to fit the needs of every
project and situation. Create custom queries to look for stale work, impediments that are blocking
progress, or backlog items that need attention.

Source Of Information : Microsoft Platform and Tools for Mobile App Development