Showing posts with label mobile. Show all posts
Showing posts with label mobile. Show all posts

Thursday 3 August 2023

Visual Studio App Center

Visual Studio App Center is an Azure/Microsoft Service for packaging and deploying mobile apps. "Visual Studio App Center lets you automate and manage the lifecycle of your iOS, Android, Windows, and macOS apps. Ship apps more frequently, at higher-quality, and with greater confidence." Microsoft Learning

Useful for Canvas apps that will be deployed via the stores or InTune to mobile user devices.

To login to the App Center go to https://appcentee.ms/apps (I logged in with an Azure Tenant admin account)


First create an Organisation, in the organisation you can create your mobile Apps for the Organisation.

Note: Max 2 new orgs per day.  I delete all my Orgs and was messing around to find i could not add anymore organisations.

Problem: I cannot create new organisation in the App Center and i get the error "You can not create more organizations at this time. Please try again later."


Hypothesis: I thought I had broken my tenant and tried repairing it with the AppCentre Cli, no joy.  Went to ms support and they immediately told me that a max of 2 new orgsanizations can be created per day.

"The limit for creating organizations is indeed 2 organization's per day, to prevent abuse by malicious actors. Now you have to wait 24 hours to create other 2 more organizations."

The error message could provide a clearer expalination.

Resolution: I'll wait until tonight as my 24 hour 2 org limit should be available in a few hours.


Tuesday 1 August 2023

Wrap Feature of Canvas Apps for Android store deployment

Overview:  I am going to use the wrap feature for Canvas Apps to make a separate deployable package (apk) for Android devices.   Ensure you have setup the Wrap solution so the feature is available in each environment you deploy to.  

Tip: Wrap deployment has many nuances, I try take them away by have Admin on the Power Platform tenant and Azure.  Not ideal for enterprise client deployment.

Power Platform Setup:


There are a few ways to get to the wrap screens, here I click the vertical ellipses, and select "Wrap"


Walk thru the wizard as shown below, step 1, select the apps 



Step 2 - choose mobile platform
I need to disable signing to get Android/apk to build.  i.e. Under "Sign my app", turn it off.

Step 3 - Configure Branding

Step 4 Register a new app


Complete step 4 Register your app (ensure all boxes are ticked and green)

Step 5.  Manage Output - you need to get a Auth token by selecting the "Get App Center token" button and signing in (I'm a tenant admin and have AAD Admin rights)
Step 6. Build the App and wait to ensure it completes

Step 7. Verify Build


Step 8. Check you App Center

Note: On the Power Platform tenant, you may need to change configuration to allow third party apps.  I add this once per tenant i.e. not per mobile app on a tenant.  So i just need to to this once per DTAP env e.g. Production.

PS> Install-Module -Name Microsoft.PowerApps.Administration.PowerShell

PS> Install-Module -Name Microsoft.PowerApps.PowerShell -AllowClobber

PS> Add-AdminAllowedThirdPartyApps -ApplicationId 84xx-xxx-xxx-xxx


Update: 1 Aug 2023: I can't get the build to work for pkgfiles and the wizard is returning multiple js errors during the process.  I delete my organisation, create new organisations and Apps.

Image. Cannot build apk package in app centre

Sunday 13 November 2022

Deploying a Canvas App direct to mobile devices

Overview:  Canvas apps have a feature called "Wrap" that can take a canvas app via a solution and allow it to be access naively on iOS and Droid.  This allow users to open the canvas app without going thru the Power Apps client on their mobile device.  The apps can be shipped using the app stores/marketplace or Microsoft Intune for enterprise deployment.

Enable the feature in your dev/un-managed environment using the "Power Platform Admin centre":

There is a great wizard that takes care of a lot of the underlying work such as registering the app in Azure Portal AAD.

Use the Wrap wizard (you'll need a lot of access rights on the Power Platform and Azure Portal)
Pick your package types, this post outlines the full process for Android (apk). Below shows the iOs file needed for the Apple store but you can distribute using InTune.
 



Saturday 28 September 2019

Flutter vs Xamarin vs React Native vs PhoneGap

Overview:  As a solution architect and CTO I need to choose the right approach to help our clients select the correct technology and approach to delivering solutions.
Flutter vs React Native vs Xamarin
My History of Building Mobile Applications:
  • Originally, building mobile apps required building two code bases generally for Android and iOS in their own language.  Xamarin also allows you to write in C# for a specific platform.
  • Next came a single code base that compiled down into each native platform (Droid and iOS), then we would customize for each platform.
    • I like Xamarin Forms as I want native apps with a single code base (C#).  One can also write separate code bases for each of the 2 main mobile platforms. 
    • React Native is built using Facebook's ReactJS library.  React Native like Xamarin Forms uses a single code base that compiles a iOS and a Android app.
  • Note: An alternative around this time was to use HTML5 with PhoneGap and deploy to both mobile platforms, native controls could be used but this was once again a split in the code base.
  • Flutter is the newest of the options.  Flutter is from Google and uses it's own DART language, it then can be compiled into various formats including iOS and Android.  Flutter goes back to the single code base that pushes native apps to multiple platforms.  Including the Web.  It is fast, looks good, great native interaction.

More Info
Flutter vs React Native - 

Alex Zubkov - 6Aug 2020

Friday 27 September 2019

Basics of Flutter

Overview:  Flutter is a UI toolkit built by Google used to create native mobile applications (and web sites (Hummingbird)) using a single code base.  Historically, I have tried to keep a single code base in the front end using Angular, KO or ReactJS for my websites and used PhoneGap to build pseudo native apps on Android and iOS.  This allows me to have a single code base and also deploy to Droid and iOS with minor tweaks on PhoneGap.  
Tips:
  • There is a Flutter add-in for Visual Studio Code.
  • Flutter uses "Dart" as it's programming language.
  • Dart is a strongly types object orientated language that compiles into JavaScript for websites, and "natively" for iOS and Droid.
  • Also can compile code for native Windows, Mac, Chromebook.
  • Everything is a Widget (layout widget, elements e.g. image, text, or a gesture widget (listens for actions like a tap)),
  • Add widget together to make a custom widget,
  • Widgets are either stateless e.g. picture or stateful e.g. textbox
  • import the material.dart to provide basic building blocks
The more I see of Flutter, the more I like it.  It is quick to build mobile apps and looks fantastic.

Cons:
  • Pretty new & hard to find skills
  • Slightly bloated on a native app - not noticeable to end users
Basic Environment setup:
  1. Surface Windows 10 Pro
  2. Visual Studio Code
  3. Flutter SDK
  4. Android emulator (I didn't setup iOS)
  5. Android device to load the package to try it out on a phone

Emulator Running using Flutter

Thursday 25 May 2017

Xamarin is fantastic-

Overview:  I am enjoying working with Xamarin, easy for any C# developer with a little experience and forethought to build decent applications.  Microsoft/Xamarin really reduces the barriers and makes building native mobile applications very achievable.  Nothing to do with SharePoint but maybe my next out of hours project will encompass O365.  I saw a demo at an Azure conference 2 months ago and thought it looks pretty straight forward.  MVVM with C# makes iOS and Android development of native apps easy.

Proposed Solution:  Scratch card game
  • Build a Web  Service for holding game and user details
  • Build UI to reveal scratch card for Android and iOS
  • Sign in using Facebook
  • Retain users winnings and games played information 
Summary: PoC is going well, deployed the Web Service and SQL back-end, registered with Facebook and can login.  Secured mobile apps Droid and iOS.

Tips: PCI projects and Xamarin forms projects do not play nicely together.  Choose the project type wisely.  Also get some help from a Xamarin developer, it is saving me so much time when I hit an unknown.

Friday 12 August 2016

Mobile Platform Development for SharePoint 2016

Overview:  There are various options for building Mobile applications.  The simplest answer is to have a fully responsive designed web page and mobile users interact with the application using the mobile devices browser. Another option is to write code for each platform so for example write and iOS application what would be loaded in the AppStore, this requires multiple source codes to be maintained.  An improvement on this approach is to use a tool that creates a version from a single source for multiple stores.  So write once deploy to MS, Android and Apples store; PhoneGap and Xamarin are examples.

Xamarin uses C# code and compiles executable applications for each target mobile store such as iOS, Windows and Android.  Xamerin uses it's own IDE or a add-in for Visual Studio.

PhoneGap is also refereed to as Cordova.  PhoneGap creates the web application using HTML5, CSS & JS and wraps this web application in a plaform control/container.  In effect, the html page is hosted in each platforms executable within a web control.  The exe can interact with the web pages:  


Unity is another development platform probably the 3rd biggest and generally favored for gaming.

Summary:  Responsive Web Design works on the mobile device as a native html app using the mobile browser.  If you need to interact with he phones features and you need to write an application for the platforms store, rather use Cordova/PhoneGap where you write once and distribute to each desired platform.

Updated: 29 August 2016
More Info:
http://magenic.com/documents/Xamarin_PhoneGap_eBook.pdf?EBookTest



Friday 28 January 2011

Writing Windows Phone 7 Applications

Overview:  Windows Phone 7 (WP7) was released in the end of October 2010 on the HTC Mozart, Samsung Omnia 7 & LG Optimus 7 in the UK.  WP7 apps are written in .NET and based on Silverlight or XDA.  As a C# enterprise developer I always use Silverlight as this is for Rich Internet Applications (RIA).  Microsoft XDA is for games development.

Tooling:  Microsoft have great free tools such as expression blend and Visual Studio 2010 express for WP7.
There is a single download for all the tools including the Windows Phone 7 emulator.
VS has dedicate template for the WP7 in VS2010 that are a good starting point.
There is Intelisense and full debugging integration with the WP7 emulator.
Xaml is responsible for the UI and it's pretty straight forward especially if you have done ant Silverlight development previously.


Training: Microsoft have done a great job on providing getting started examples and video learning via Channel 9.  It really can't be simpler.  Take a look at Channel 9's Windows Phone 7 Development for Absolute Beginners.

More info:
Updated 25/02/2011 - SharePoint integration with Windows Phone 7 by B.K. Winstead 

Wednesday 26 January 2011

Smartphone Development

Overview:  Over the past few days I have been looking at writing apps for the Windows 7 Phone & an iPhone app and I thought I would share my findings.

Development for all smartphones is done at the browser or application level.

Browser development is usually a subset of xHtml and there are issues such as on Safari using an iPhone does not supporting all the html elements and attributes of XHTML.

Application Development Run Down:
  • There are 5 big players in the smartphone OS market (palm is not 1 of them).
  • Microsoft have entered the smartphone industry with there OS "Windows 7 Phone".  Windows 7 phone is going to gain a large marketshare in the app store market.
  • Application development is big business and iPhone has had over 10 billion downloads already i.e. more downloads than people on the planet.  The app dev platforms I'm interested in are iPhone(iOS), Windows 7 Phone, Android and blackberry/RIM.
  • The smartphone market is shared between Symbian (Nokia and previously others), Android, Windows 7 Phone, Blackberry (RIM) and iPhone (iOS).
  • Symbian/Nokia sells the most smart phone units by a long way however, they don't have a nice sales and developement market for 3rd party application market like the iApp from Apple.  Additionally, users don't tend to use alot of apps or surf as much as say an iPhone or Blackberry.  Symbian may support Silverlight going forwards so from an RIA perspective this would make it pretty simple to develop and could help achieve better apps with more app writers. 
  • Android has multiple hardware manufactures that use the OS and it is owned by google, app development runs on Java and there are multiple programming languages for developing apps.  It has a open store, the OS is widely used and is a very good option for mobile developers to explore.
  • Blackberry/RIM use to be the enterprise smartphone of choice it is still a market leader but with stiff competition, it is still growing quickly in units sold (as the smartphone market grows at about 35% year on year) but it appears to be loosing market share.  This is definitely a platform you can't ignore as a mobile app platform.
  • iPhone, only Mac builds phones for iOS (not Cisco OS).  It has huge market share and the impressive consideration is the number of apps and surfing people that use iPhones accounts for.  iPad, iTouch also use iOS.  This post assumes iPhone is the only smart phone from Apple. iOS is an extremely important platform and is my 1st choice of platform to target.
  • Windows 7 Phone is going to get popular especially as there are alot of .NET and silverlight developers that can easily adapt to the Microsoft Windows 7 phone platform.  Tooling for developers is good and free.  The app store is easy to use so this has to a big player for the future.  In the short time MS have released Windows 7 phone, manufactures like Samsung and LG have sold alot of smartphone units with the Windows 7 Phone OS.
Original Source: Wikipedia 26 January 2010
Update: 11 Feb 2011 - Microsoft and Nokia have an agreement to win market share in the smartphone market.  This looks like good business for both parties.  Nokia is loosing ground and doesn't have a decent platform.  Microsoft have a great platform but no market share.  With Nokia's distribution and Microsoft playform/devlopers it looks like agreat match.   BBC news article.

Update 3 March 2011 - Apple has now sold 100 million iPhones as of Feb 2011.  15 million iPads where sold in 2010.