I've made an educational game for Windows Phone 7 with XNA - which is now a dead technology. But through MonoGame and Xamarin I have been able to port it to Android. Now I need it as an app for Windows tablets, windows 8 app or windows 10 universal app.
What is the best route to this? I'm using Visual Studio 2013 with Xamarin Business edition. And I don't know enough about my options. Should I start with the XNA version or the Android/Xamarin version? What template or architecture is best. Or do I need to do a complete rewrite (only keeping the C# business logic)?
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
I recently bought a Lumia 950 on Windows 10 and want to develop some Universal Windows Apps, and I already got developed Android apps developed on Eclipse.
So, I would prefer to develop on my Mac (OS X 10.9.5) and cross-platform (I also got an iPhone 4S). In case of I really need to develop on Windows, I have a windows 10 Insider on a virtual machine, but I would prefer use it to test my apps. Also, develop Mac apps can be interesting.
I don't know if there is great Eclipse plug-in to do it, and as it is already a "gaz factory", I would prefer Xamarin, which seems much more adapted.
But I don't know which version to use, there is so much declination of this tool :
Xamarin Studio (Mac OS compatible)
Visual Studio IDE
Visual Studio Code (Mac OS compatible)
Visual Studio Comunity
I have a lot of questions:
What differences there is between those IDEs?
Can I use iOS/Android/Windows Mobile emulator on my environment?
Now that Visual Studio includes Xamarin. Is it well integrated ?
Can I develop on my Mac ? or use my Windows 10 VM?
Can I deploy my apps on my Windows Mobile? On my iPhone? With debugging?
Thanks to make my mind clear :)
What differences there are between those IDEs?
On Windows there are two choices for Xamarin app development.
Visual Studio
is the default choice for Xamarin on Windows. It has the most up-to-date support and should be most stable. Since Microsoft bought Xamarin, the platform became free for all developers, so you no longer need the paid Visual Studio IDE, but you can use Visual Studio Community.
Xamarin Studio
is the second choice, which also works great, but because of all the extensions and first-class support, Visual Studio is definitely a better choice.
On Mac you can use Xamarin Studio only. The app should be always on par with the Windows version.
If you really don't want to use Windows 10 (which is a great OS ;-) ), Xamarin Studio will probably suit your needs for iOS development. For UWP however, you will need to use Visual Studio on Windows as it is the only way to build UWP apps.
Can I use iOS/Android/Windows Mobile emulator on my environment?
Android emulator is avaiable on both Mac and Windows, so you are covered there.
iOS Simulator runs only on Mac, so in case you use Xamarin Studio on Mac, it will run out of the box and if you use Visual Studio on Windows, you will need to connect to it using the built-in Visual Studio Xamarin Mac Agent. The newest versions of Visual Studio also have a preview of an awesome Remote Simulator for iOS. With this, you can view the simulator directly on your PC and even use touch gestures to control it, which is normally impossible on Mac.
UWP has Emulators for Mobile and Simulator for desktop, you need to use Visual Studio on Windows 10 to run them (and build UWP apps).
Visual Studio includes Xamarin. Is it well integrated?
Yes! As I have said above, it is a first-class experience!
Can I develop on Mac?
You can develop iOS and Android apps on Mac, but need Windows with Visual Studio to build UWP apps.
Can I deploy my apps on my Windows Mobile? On iPhone? On Android?
On Mac you can debug Android and iOS apps as well as test on a real device by connecting it and selecting it as the debug target.
On Windows you can debug UWP and Android apps on your devices and also debug iOS apps by connecting the Mac Agent as I have described above. Visual Studio and Mac Agent communicate very well with Mac, so it works great even with debugging on real iOS device :-) .
Hope this helps! Looking forward to your UWP and Xamarin apps :-) !
This is going to be quite a long question but please bear with me till the end. Before going into the details, below are my PC environments:
Windows 7 Professional x64
Visual Studio Community 2013 Update 4
On top of that, I checked my PC's processor does support virtualization using Intel® Processor Identification Utility.
I also installed all the required SKD 8.1 components required to develop Windows phone 8.1 apps as shown in the picture below.
Now I clearly understands from the visual studio website requirements:-
Windows Phone 8.0 development requires Windows 8.1 (x64) or higher
Windows Phone 8.1 development requires Windows 8.1 (x86) or higher
For the Windows Phone emulators, Windows 8.1 (x64) Professional
edition or higher, and a processor that supports Client Hyper-V and
Second Level Address Translation (SLAT)
But from this SO Q&A it seems like developing windows 8.1 phone apps is still possible. However when I try to open an existing windows phone 8.1 project I got the error as shown in the picture below:
On top of that, in my Add New Project window there are no Windows Store Apps templates showing up.
I later found out from this msdn documentation that the RequiredPlatformVersion Element of the Visual Studio project template is filtering out the templates. However I tried to change the Blank Windows Phone project template element's value to 8 as specified in the documentation and also a few others value smaller than 6.3.0 but still fail to show the template.
Then I tried to install an extension called Windows Phone Template Pack which then adds two window phone project templates in my Add New Project window as shown below.
I created an empty project using that template and surprisingly I am able to open the windows phone 8.1 project as shown in the picture below.
That got me thinking that it should be possible to develop windows phone 8.1 apps but not emulating it but I am out of ideas on how to work around it now. I even tried looking at the denv.exe.config file to try my luck but there's nothing of interest there either.
Is there anyone that successfully build a Windows Phone 8.1 apps in an similar PC environment? A workaround will be sufficient.
Sorry to say this but Windows 8.1 is a requirement for developing as usually emulators on being initialized tries to load the OS into the device like the basic theme etc options.
1) You can try to connect your Windows phone to your PC and select Deploy to Device. (Though it might work and you will be able to debug yet still you would face a problem when you try to create a release build package to be uploaded on windows store. Also even though the fixes might work for short period but with Windows 10 about to be released you would be stuck with waiting for a fix to develop apps for that.)
2) You can try installing windows 8.1 inside VMWARE and deploy it.
I downloaded Xamarin Studio and Visual Studio, but I still don't see any options in either of those programs for programming iOS apps. Is programming for iOS even possible on a PC?
Using Xamarin with a business license, you can use Visual Studio on a PC for development, but you MUST have a Mac running as a build server. The iOS native SDK and Apple iOS simulator tools are only available on a Mac, and Xamarin depends on them as part of the build process.
You cannot create a native iOS app using a windows based machine. iOS apps can be developed using XCode only and XCode can be installed on mac only.
So in simple words there is no "direct" way of creating an iOS app from windows machine. I guess you should have searched on google first before asking this question.
So I've been playing around with XNA and after all this time, I finally made a game that's worth buying!
And to my surprise, I see this on MSDN:
XNA Game Studio 4.0 apps that target Windows Phone OS 7.1 remain fully
supported and continue to run on Windows Phone 8 devices.
•You can continue to develop and maintain new or existing XNA
Framework apps that target Windows Phone OS 7.1.
•You can’t upgrade existing XNA Framework apps that target Windows
Phone OS 7.1 to target Windows Phone OS 8.0.
•You can’t create new XNA Framework apps that target Windows Phone OS
8.0.
When you select an XNA Game Studio 4.0 project template, you can only
choose Windows Phone OS 7.1 as the target operating system.
•You can use certain XNA Framework assemblies in apps that target
Windows Phone OS 8.0.
You can reference and use the following XNA Framework assemblies in
apps that target Windows Phone OS 8.0. You can’t reference or use
other XNA Framework assemblies that aren’t in this list in apps that
target Windows Phone OS 8.0.
•Microsoft.Xna.Framework.dll
•Microsoft.Xna.Framework.GamerServices.dll
•Microsoft.Xna.Framework.GamerServicesExtensions.dll
•Microsoft.Xna.Framework.Input.Touch.dll
•Microsoft.Xna.Framework.Media.dll
•Microsoft.Xna.Framework.MediaLibraryExtensions.dll
http://msdn.microsoft.com/en-US/library/windowsphone/develop/jj207003(v=vs.105).aspx
I'm only interested in making 2D games. I don't have the slightest idea about Direct X or Direct 3D (I would love to get into 3D but that will be yet another huge set back).
From the quoted text above, I see two things that really get on my nerves:
I can create new or maintain existing XNA games that target Windows Phone 7.1
But I can not create new XNA games that target Windows Phone 8! Why??? Where is the sense in that???
So, naturally, my question now is:
What are my options for making 2D games (in Visual Studio) for Windows Phone OS 8? I think I saw an option that lets you use XAML for 2D games, correct me if I'm wrong about that but that feels extremely weird to me. I mean, XAML is very structured, I cannot imagine so much freeform objects being trivial to setup for a game.
Try using Cocos2D and Monogame. The were born from iOS and Android development but now support WP8 and Win8. In addition you write your code once (C# + VS) and have a game for all platforms.
If you have XNA skills (or exising code) Monogame allows you to reuse that and port it to Windows, iOS, Android very quickly.
If you are new, a popular new option is Unity. Their 4.3 beta has 2D support. They have a free intro SKU for indies, and you can get their add-ins to target Windows Phone and Windows for free.
Finally, if you are only targeting Windows Phone 8 (and maybe Windows 8) you can also use DirectX/Direct3D straight up.
Recently I was asked to work on a project which was developed for an aviculture company.
The client asked if I can make the application which was being developed in C#, to work on a tablet.
So i want to know if i finish the application in c# normally Will I be able to:
1.Use the mono for android and compile the whole project with that and get an android app easily for being used in android devices?
2.Use the executable project on a Windows 8 tablet without any changes?
I would be grateful if any one could answer these two questions.
It depends which tablet you're talking about.
On a Windows RT (ARM based) tablet like Surface, only Metro apps are supported. There are a few desktop apps, but only Microsoft can make them. So if your app is a desktop app, it won't run on Surface RT.
On a tablet with the "real" Windows 8 (x86 based, e.g. Surface Pro), you can run the same apps as on a PC.