I have a Windows phone 8.1 Silverlight application.
Now I need to make it run also on windows 10 phones and tablets. I checked and the app is available on windows 10 phones, even if deployed for windows 8.1 but it seems like I can't install it on windows 10 tablets.
My question is pretty simple:
Is there a "fast way" for converting the 8.1 project to UWP?
Can I deploy my app for tablets without re-writing all the code?
Thanks all
This question is oddly similar to one that I answered just yesterday. It's not really a duplicate so I will restate the answer here along with a link to the other question (1)
Unfortunately there is no easy and fully automated way to port your Silverlight app to UWP mostly because the API footprint has changed and updated between the 2 platforms. There are a lot of similarities but also a lot of breaking changes that require some manual changes.
here is Microsoft's guidance for this particular upgrade path.
From the article above:
Note This guide is designed to help you port your Windows Phone Silverlight app to Windows 10 manually. In addition to using the information in this guide to port your app, you can try the developer preview of Mobilize.NET's Silverlight Bridge to help automate the porting process. This tool analyzes your app's source code and converts references to Windows Phone Silverlight controls and APIs to their UWP counterparts. Because this tool is still in developer preview, it does not yet handle all conversion scenarios. However, most developers should be able to save some time and effort by starting with this tool. To try the developer preview, visit Mobilize.NET's website.
[1] Can a Silverlight out-of-browser app be converted to Universal Windows Platform (UWP) app?
Related
We already have a working and fully functional app working on store in Windows phone 8 silverlight framework. But keeping in Mind windows 10 will be releasing soon we want to be ready. We want to migrate the app to WinRT framework. What would be the best approach to do that.
I see there are a lot of changes at the framework level but still any suggestion would be appreciated.
Thanks
Vinod
There's a MSDN article that targets the describes problem. The most interesting part is probably the mapping of silverlight namespaces to the corresponding WinRT namespaces (if available).
Here is an article about an app by Rudy Huyn to convert Silverlight application to universal apps. That could also be a great help.
I have a couple quick questions about Windows Phone applications. How does one know the type of Windows Phone application? For example, is the WP email client XAML or Silverlight?
The reason I am asking is that I have been assigned the task of writing some automated testing scripts for an already developed application (or WP core app) and I'm not sure which automated scripting method to use (CodedUI vs VSTO Test UI). It's my understanding that CodedUI only works for XAML based applications.
Thanks!
From just looking at the app I don't think there is anyway to tell. However, whether it is SilverLight or new Store App (appx) they both support XAML. If you have the source code you can load it in Visual Studio. After the project name you will see:
Windows Phone 8.1 Silverlight
Windows Phone 8.1
The second one is the newer Store App possibly a Universal App.
If you need to know if it is xaml then certianly asking the developer will be the easiest option. I assume they are both XAML no matter what as I am not aware that WinJS is supported for phone.
One other option that could help you get to what you need to know is if you have the executables. Silverlight will be an XAP file extension and the new Store App will be have an APPX file extension.
Good luck & Have fun,
Tom
I have a Windows Phone 8.1 Silverlight application which is in the store now. Since i see that Microsoft is moving all the attention towards WINRT and Universal Apps, i suspect that there will be limited or no support for Silverlight Apps in Windows 10.
There might be a tablet project that i might roll out for the same project in the future. So i am in the dilemma to convert the Silveright projects in my solution to WINRT or convert them into Universal Apps.Also, i hear that converting to Universal projects are pretty hard as well.And I understand that the bulk of the work will be in porting the UI to Hub Style UI.
Any ideas? Comments on the best approach to take here.
A WinRT app is a Windows only app (not for Phone). Other than that, WinRT and Universal apps are quite similar. They have the same namespaces, classes, controls... almost everything. You can use many WinRT libraries in Universal apps without any problem. And so, porting to them is generally the same, too.
Windows Store and Windows Phone apps generally need different UI anyway, so you would have to work on that, no matter what you do.
One difference is that a WinRT app would work on Windows 8.0 and up, and a Universal app would require Windows 8.1 (or WP 8.1 for phones). Actually, a Windows 8.1 app IS a Universal app. Just like a Windows Phone 8.1 app (not the Silverlight variation) is a Universal app.
I'd recommend porting to a Universal app as you would get used to working with these apps, and they work on both platforms (Windows and Phone). For any future project, that's the way to go.
In the company I work for, we switched to Universal apps a few months ago. Figuring out what UI we would use on both platforms and how to do it properly, as well as porting our existing libraries did take some time (not too much), but now making a new app and supporting both platforms is very easy. So, for me, that's the way to go.
It is quite unlikely that Microsoft will stop supporting Silverlight Apps in the Windows 10 version for phones. Even WP8.1 still supports XNA Games from the WP7.0 era.
Depending on the APIs you are using in your libraries the majority of changes when converting from Silverlight to WinRT will be on the UI side, e.g. if your Silverlight App already uses the LocalStorage-APIs instead of the IsolatedStorage-APIs that won't even have to be changed.
My advice would be the following:
evaluate wether all functionality you need is supported in Universal Apps (some functionality is currently only available in Silverlight Apps)
evaluate wether the actual APIs you are using are supported in Universal Apps or need to be replaced (IsolatedStorage => LocalStorage, etc.)
Armed with that knowledge I'd guess you will be able to better plan on when to port your App to the new APIs. If a tablet version is likely in the future and all required APIs are supported in the Universal App Model porting sooner will likely require less effort than porting later.
I begin to use windows phone 8.1 SDK but there are some strange things i don't understand, one of this complicated things why there are different frameworks Silverlight and the default xaml, also what is the difference between them and when i use this or this ?
One huge difference is of course that the Store Apps supports Universal Apps, where you can easily share almost all all of the code across WP8.1 and Windows 8.1 (including XAML).
But it is Worth noting that there are several features which some apps might require which is only available for WP8.1 Silverlight apps, such as:
VoIP support
Act as Lock screen background provider
Act as a Lens app
Let app extend search results using search extras
Provide ringtones
And a few other listed here along with a feature mapping from WP8 to WP8.1 Silverlight and Store Apps: http://msdn.microsoft.com/en-us/library/windowsphone/develop/dn642486(v=vs.105).aspx
If you are starting a new app and will not need any of these features a Store app is probably the better choice though.
If I understand your question correctly, let me put some sentences from MSDN...
why there are different frameworks Silverlight and the default xaml,
also what is the difference between them and when i use this or this ?
In Visual Studio 2013 Microsoft has come up with an approach where you can build Apps for
Phone as well as for Desktop and tabs simultaneously. A unique concept of Universal Apps.
Build an app for Windows 8.1 and Windows Phone 8.1 at the same time,
and share code, user controls, styles, strings and other assets between them
So if you are going to develop an Apps targeting both the platform, then Universal apps concept is good.
But if you are targeting only the new features of Windows Phone 8.1 then you should start with Silverlight "Blank App (Windows Phone Silverlight)"
As in MSDN its clearly mentioned.
The names of some templates have (Windows Phone Silverlight) appended
to the end. Consider using these templates if you've previously developed
for Windows Phone 8 and just want to access some of the new features available
to Windows Phone apps without having to significantly modify your existing
code. You can use these templates to create apps only for Windows Phone 8.1
More details MSDN Link
Windows Phone Silverlight is Windows Phone 8 deployments where obviously the WP 8.1 is deployment for WP 8.1
The main difference is that the WP 8.1 can use the cross platform DLLs where as WP 8 can not. There are many other framework differences but this is a huge one.
I have a Windows Mobile 6 application, written in C# and I want to port it to Windows Phone 7.
What modifications do I have to do to the original application? Do I have to modify only the user interface or are there any other things I need to modify in the backgroung code?
You can not use native API in Windows Phone 7 applications.
You should recompile your dlls from wp7 environment.
UI should be re-written with XAML.
All interaction with network should be acync.
WebBrowser is different from WinMobile6 one.
You can not use sockets (should wait for Mango update).
It is likely you will need to make a decent number of changes. The framework changed from .NET Compact Framework 3.5 to Silverlight Phone Edition, aka almost-but-not-quite Silverlight 3. And the guidelines for submission to the app store are much stricter in terms of user experience, e.g. time taken to load the app, behavior of background processing, etc.