For building a native windows app which can launch multiple web applications in a webview , i have tried a poc using WinUI3 .Main usecase for this is usb peripheral integrations from the webapps loaded in webview and Single Sign On . Reading more on microsoft documentation , i see some features not supported and some slowness compared to UWP. Do i need to go with UWP for a new app or is the recommendation to go with WInUI3 for a new app development .
Supported Feature List Doc - https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/migrate-to-windows-app-sdk/what-is-supported
Can see WebAuthenticationBroker also in not supported list .
Any guidance on what sdk to use . UWP or WinUI3
WinUI3 is the new technology for Windows Desktop. Although it is not perfect now, but it will be improved. Currently, not all the WinRT APIs are able to be used in WinUI3 apps, but you could use win32 APIs to achieve what you want. So I'd suggest you use WinUI if you are familiar with win32 API can you use win32 API to bypass the limitations.
Compared to WinUI3, UWP is more stable. UWP could use all the WinRT APIs. But some features on UWP are not up to date. For example, some features from WebView2 controls are missing on UWP but available on WinUI like print. Another thing is that UWP apps have limitations like system isolation for accessing local files and local network resources.
I have existing UWP apps that I would now like to migrate to Xamarin, so that I can run them on Android devices. What are the most viable and/or practical approaches for doing this?
In some cases I will also want to continue to run these apps on Microsoft devices. I'd prefer not to have two code-bases to maintain, but that might be an option for some apps. A couple of the apps are available on the MS Apps Store.
The UWP apps are relatively cleanly architected, with separate layers and physical projects separating the UI from data access, logic, etc.
Worse-case I can make a new (Xamarin) project and UI from scratch, but what about the other projects / layers? What are my options for those? E.g. copy and paste - retain the old code/solutions (for future UWP-based support if necessary), create copies of the old (non-UI) code/projects in the new Xamarin solution (with a new Xamarin UI).
This post How do I add Xamarin Forms to an existing UWP XAML app? talks about "multiple types of Xamarin code sharing strategies and UI strategies" but doesn't provide any details or references.
This post Adding UWP option to Xamarin cross-platform application seems to be talking about doing it the other way around: taking a Xamarin app and delivering it as UWP.
What are the most viable and/or practical approaches for doing this?
Currently, there is no tool that could directly convert a UWP app into a Xarmain App. Based on your description, you will need to create a new Xamarin app to make your app available in both Android and Windows, or even more on IOS.
You could build a Xamarin.Forms app for your scenario. Xamarin.Forms allows developers to build Xamarin.iOS, Xamarin.Android, and Windows applications from a single shared codebase. As #Jason mentioned, if your app is well architected with data, domain, and service layers, those can probably be reused in Xamarin.Forms app. And the Xamarin.Forms app will convert the code into performant native controls on each platform. So you don't need to write extra code for each platform for the same function.
We need to build a commercial mobile app that is supported on iOS, Android and UWP platforms. We have been looking at react native and xamarin forms to do so. What is more recommended/preferable technology to implement this?
Reasons why we wanted to use react native in first place:
1) more experience in JavaScript
2) Some of the UI designs in our mobile app includes having cross platform features which by default could be native to either IOS or android. Such as having icon badges on tab items, having toggle search box in navigation bar. On react native we found these were more easily achievable by git hub plugins but in xamarin forms you need to write custom renderers to achieve so.
Reasons why started investigating on xamarin forms: Since the app needs to run windows phones too, we stared using react native XP plugin to support that. But end prototype on windows phone wasn't very impressive in terms of performance and user experience of some of react native plugins we have used. Plus we also had to do quite a bit UI customisation in terms of specifying width/heights to make components work.
I have been develop on Xamarin a few years now. My honest opinion is that there is a lot of third party libraries and components that only has support for Android and iOS only. Maybe you you check out what third party libraries you need and work back from there.
If Windows Phones are an honest target for you going forward, unless you can limit to those capable of UWP apps (Win 10 Mobile) then scratch Xamarin from the list. Windows Phone 8 and 8.1 support is deprecated and will be dropped soon from Forms.
I am not sure even of a starting point with this.. however knowing that Silverlight works across win/mac platforms (as far as I know!), is it possible to create a silverlight based screensaver?
If not, are there any tools (no flash skills unfortunately!)
Any starter points would be cool..
Thanks!
By now Silvelight is being deprecated, but if you need to run web pages as a screensaver, my startup is creating a product to do exactly that, it's called Screensaver Ninja and you can find more about it at https://screensaver.ninja. That means that all you have to do is develop the web app and leave the screensaver part to us.
Here's a screenshot of how you configure it:
Silverlight is only usable as a web browser plugin on Mac OS X. It cannot be practically used to build screensavers.
Additionally, there's good reason to believe that Silverlight is being abandoned by Microsoft. I'd avoid it for any new development.
I am interested in developing an app for my new iPad purely for my own use. (well to start with at least)
Is there a way to develop an app without a mac?
Can I install the app only on my own iPad without having to sign up to the right to publish it when I might not even want to do that?
EDIT:
Could i use an old G3 powerbook for development? They can be picked up really cheap on ebay. Would something of that spec be up to running the xcode development environment?
I think the best option is to develop the application using HTML5 / Javascript and CSS, and use a service like appMobi or PhoneGap to compile it for IOS. They both have an online service that can make the build for you without needing you to own a Mac.
You have also the added advantage that you can compile your app not only for IOS, but for Windows Mobile, Android, Blackberry and even the good old web.
You have some Javascript libraries like JQTouch that allows you to easily implement the IPhone look and feel in your web app. Normally you can't access the native API from Javascript, but these solutions (appMobi and PhoneGap) offers a Javascript API that you can use to access Camera, GPS, Gyro, etc...
I think normally serious apps are coded for many platforms, and if you don't have the structure to pay to 4 different skill sets, it makes sense to code in HTML5, and from there you have a more future and device proof solution. Even if you "can" pay different developers to code in diffrent mobile platforms I would prefer to do it in HTML5.
Oh, and also take a look at applicationcraft.com, pretty cool online IDE (wysiwyg) connected to PhoneGap, really easy to develop prototypes. The generated HTML/Javascript is not very usefull to continue editing it outside their IDE (a bit complicated), but, again, for something very simple or a prototype it's something you must check out.
Good Luck
Is there a way to develop an app without a mac?
Officially, no. Realistically, unless you like wasting countless hours, no.
Can I install the app only on my own iPad without having to sign up to the right to publish it when I might not even want to do that?
No, you must be a paid developer in order to push to anything but the simulator.
xcode for windows.
http://ipodtoucher55.blogspot.com/2010/12/installing-ios-sdk-and-xcode-on-windows.html
Yes, you can develop without apple computer (using hackintosh).
And yes, you can install the developed app on your iPad without having to pay for developer program. There are a tons of guides over the internet about running (thus installing) apps on ios devices without developer program.
check this:
How can I deploy an iPhone application from Xcode to a real iPhone device?
You can develop for iOS without a Mac by using Adobe Flex. The Flex SDK is free and Open Source, and includes a compiler + packager. If you want an IDE, you can get Adobe FlashBuilder (not free, but with a free 90-day trial), which makes your development time much more productive.
You would not develop in C, C++, or Objective C, but in a combination of ActionScript (a dialect of Javascript) and MXML (markup language, mainly for rich GUI layout).
On the minus side: you have less control over what you can do (you can still do a lot) and you cannot use the iOS SDK directly.
On the plus side: it is very easy to develop great looking apps, and with very little changes, you can recompile them for Android, Blackberry Playbook, Windows, and Mac OS X.
You do not technically need a Mac to develop an app, unless you are serious about it. There are couple of solutions available to you for developing mac-less.
First, there are some services that port your HTML5 web apps into an iOS app, so you only need to write your code HTML5.
Second, if you dont want to buy a Mac, you can instead buy Snow Leopard or Lion, and build your own "hackintosh" (a windows computer hacked to run off the mac operating system).
Finally, you cannot make your app available for purchase in the App Store unless you are a paid developer. However, you could publish online as an HTML5 web application, or you could publish your app in a third-party app developer market (however you could only intall that app if you jailbreak your iPad).
Not sure how new this is, but Dragon Fire SDK is 100% Windows based (you do submit your code to them for compilation), but at no time are you required to own a Mac.