windows 8 phone app vs windows 8 tab app - windows

I am new to windows 8 app development I just want to know that it is possible to make one app package which will run both on windows tab and windows 8 phone [For example in case of iOS same ipa can be installed on iPhone as well as iPad]?
I know win 8 phone and win 8 tab/desktop have different sdks and and coding sharing can be possible. But can I make one common package to run it on both platform.

No it's not possible. WP8 app packages are .XAP files & Windows 8 apps are .APPX/.APPXUPLOAD files. You can use various code sharing techniques like MVVM, PCL, etc, but you can't create a single file which acts as installer for both.
Maximize code reuse between Windows Phone 8 and Windows 8

As Xyroid explained they have different file name for apps. And since you compared to iOS, let me tell you that iPhone and iPad is basically the same device, with same architecture and same OS, with different screen resolution(if you ignore the calling function), so one IPA which works on iPhone, can work on iPad too.
While Windows 8 and Windows Phone 8 are two different OS, based on some common code and runtime, but they do actually have different app handling layers. They even have some different UI component. You can make a library (dll) which can work for both if it's just fetching data from a particular server or provides some low level functionality. But for creating single package which can run on both is a different thing. Even if they'd be using same file name, the internal codes and runtime can't be changed.
PS: WinRT apps can work on Windows 8 too, since WinRT is a stripped down version of Windows 8(without desktop app).

Related

How to develop Windows Phone 7.5 compatibile app?

I am starting first project for Windows Phone and it should work on at least Windows Phone 7.5. My question is if should I write app on Windows Phone 7.5 or should I write two app versions - once for Windows Phone 7.5 and another for Windows Phone 8?
I know that app which works on WP7.5 will also work on WP8 but what would you recommend? What would you do?
If you think that writing two apps for both versions is a better idea then should I write app on WP8 first and at the end remove special WP8 features to downgrade it for WP7.5 or maybe I should write WP7.5 app and then add some WP8 features to upgrade it to WP8?
I am asking because I want to learn WP developement and I have two tutorials: "WP7 jumpstart" and "WP8 jumpstart" tutorials (from MSDN) and I am wondering If I can skip WP7 and start directly with WP8?
Standard way will be to create a Windows Phone Class Library that will contain all the code except Page, View or Windows 8 specific code and than create Windows Phone App and set dependency to above created Library project. Now as Rowland Shaw as suggested you can target the Windows Phone app to 7.5 so that it will work for Windows 8 as well and if you want to use any Windows 8 specific API you can create separate application with same Library reference so that all the common code will not be duplicated.
Referr MSDN Link for the same.
If you wish to normally support all screen sizes, you should create 2 apps. Because WP7.x supported only 1 screen resolution, and running on WP8.x with larger screen the app will remain small size.
You would have to use WP7.5 if you are not going to impelement any feature which is present in only WP8

How to handle multiple tile sizes in WP 7.8

Now that the 7.8 update is coming to WP7.x devices, how can I handle the multiple tile sizes an app can offer?
What changes do I need to do in the AppManifest?
The SDK can be downloaded from here. Please help as I am not able to find a good resource till now.
Have a look at this blog post, it describes the changes, and references a MSDN article on how to set that up.
Another option is to use a CodePlex project called MangoPollo.
Mangopollo will allow you to easily take advantage of new windows phone tiles (cyclic, flip, iconic) if your application is run from a Windows Phone 7.8 or 8 as well as new launchers if your application is run from a Windows Phone 8 while remaining compatible with windows phone 7.

Are windows phone 7 apps compatible on windows phone 8 devices?

very straight forward question. My company has developed a windows phone 7 app and have been testing it on a windows phone 7 device. Can we safely assume that the same app will be backwards compatible and work seamlessly on a windows phone 8 device such as a Nokia Lumia 920?
Thanks in advance!
Yes it will work. But it won't take advantage of all the WP8 features like a real WP8 app would. I'd suggest that you create a copy of the project and update it to WP8 for a better performence. Also replace any listboxes with LongListSelectors for example.
In most scenarios it should just work, but you should check this list of known breaking changes and you should also test your app on new devices thoroughly, just in case.
For example FMRadio class is no longer working on WP8 and there are other similar issues:
App platform compatibility for Windows Phone

Windows 8 Store App with Windows Phone App

May I know, can
A Windows 8 Store App source project (Metro), link with binary reference initially created for Windows Phone 7?
A Windows 8 Store App source project (Metro), link with binary reference initially created for Windows Phone 8?
A binary Windows 8 Store App, run in Windows Phone 8?
I had tested (1) so far, by compiling a Windows 8 Store App project using Microsoft Face SDK for WP7. I get a mystery compilation error.
The "GenerateResource" task failed unexpectedly. System.InvalidOperationException: Item named 'resources/template/background/beard.01.jpg' of type 'System.IO.UnmanagedMemoryStream' cannot be added to the resource file because it is not serializable.
[... more goes here]
So, may I know [2] and [3] would work?
As far as I know the answer is 1. no, 2. no and 3. no.
Windows Phone 7 and WinRT are completely different platforms.
Windows 8 and Windows Phone 8 shares part of WinRT, but there are still differences in available APIs. There are parts of the API available for Windows 8 and not for Windows Phone 8 and same works in the other direction too.
The best you can do is use Portable Class Libraries targeting both WinRT and Windows Phone 8 - this way you can use API available in both platforms and you can reference the created library both in WP8 and Windows 8 projects.

How can I launch a Windows Phone 7 app programmatically?

How can I launch a Windows Phone 7 app programmatically?
I want to launch a custom app built by me from another app built by me.. and hopefully be able to pass parameters.
I don't believe you can. As far as I'm aware, the interaction between applications is limited to the Microsoft.Phone.Tasks namespace.
I would personally expect this to be one of the aspects of Windows Phone 7 development to be improved pretty soon.

Resources