Shopping list for developing Windows app on Mac - visual-studio

Folks,
I need to maintain a C#/.Net desktop application. So, I need to set myself up with Windows(7?) and Visual Studio.
My current development machine is a Macbook Pro and I would like to continue using it. Overall, I am considering the following recipe:
Install VMWare Fusion or Parallels or VirtualBox for running the Windows OS
Buy a version of Windows to develop on
Buy Windows Developer tools
Having been in the open source universe all this time, I am utterly unfamiliar with the options/packages in the Windows world. I could use some help on the following:
Does the recipe above look fine, or do I need to change something?
What is a good VM environment to buy/use? VirtualBox is free, but Parallels/VMWare promise Windows app that blend in with my Mac windows. Could use some help on this topic
Does MSFT sell a package deal which has bare bones Windows 7 and the necessary dev tools, or do I need to buy the OS and dev tools separately?
Since I only need Windows to churn this C# desktop application, What is the OS version and flavor or Visual Studio I should get?
Thanks in advance for any pointers.
-Raj

* Does the recipe above look fine, or do I need to change something?
Looks fine to me, it is what I do too.
* What is a good VM environment to buy/use? VirtualBox is free, but
Parallels/VMWare promise Windows app that blend in with my Mac windows.
Could use some help on this topic
I've used parallels and VMware fusion and I prefer VMware because I can move machines to other VMware hosts relatively easily. They seem to flip-flop when it comes to performance, but I think this week, Parallels is a little faster (of course this might change with the next fusion update, or the next parallels update).
* Does MSFT sell a package deal which has bare bones Windows 7 and the
necessary dev tools, or do I need to buy the OS and dev tools separately?
I think that this depends on what you are doing. If you purchase an MSDN subscription, you get software that you can use for development (including all windows versions). But if you just purchase Visual Studio, then you need to buy the OS too.
* Since I only need Windows to churn this C# desktop application,
What is the OS version and flavor or
Visual Studio I should get?
You should get whichever OS versions you intend to support your application on.
Good luck,
--jed

Doesn't a Mac have Boot Camp? If so, use that.
It looks fine though. You must buy the OS then the Dev tools (There's Visual C# Express for free though). I would get Windows 7 and either the newest Visual Studio (2008, but 2010 is being released on April 12).

I've used both Bootcamp and VMWare Fusion with 15" MacBook Pro for quite a while (2013 and 2018 models). Bootcamp is better in terms of battery life. Though in terms of performance, Windows VM under macOS can be a better dev box due to significant difference in SSD performance - it's way faster in VM rather than in Bootcamp, especially in random reads/writes (which is crucial for project build time).

Related

How to develop Windows app on Visual Studio for Mac

I recently bought an iMac in order to develop my App on Visual Studio for Mac in a better environment (lots of issues on Windows), but on the Visual Studio for mac, there is no UWP projects.
It is understood that I have to create a new .NET project, but what are exactly the steps to follow in order to achieve that correctly for the app to work on Windows with a peace of mind? Should I have gone with Visual Studio code, which support the .NET core framework completely?
I saw on other answers that I need the .NET SDK tool, and so forth, but further details are needed if you don't mind on the why (not the installation stuffs, only the tech savvy explanations for the app to build correctly at the end!
You will need to run a Windows installation (eg, via Parallels or Boot Camp) and then run the Windows version of Visual Studio to create UWP apps.
You can do a lot of the business-logic coding inside Visual Studio on MacOS, but you will need Visual Studio and the Windows SDK to use WinRT types (which are required to build a UWP app) and to correctly build / package the app for deployment.
.NET is a big ecosystem. As you cannot develop all kinds of .NET projects using Visual Studio on Windows (Xamarin.Mac for example), you cannot do the same using Visual Studio for Mac (like you found, WinForms/WPF/UWP and so on). Such limitation comes from vendor SDK availability or other underlying systems.
In your case, you can easily develop web apps, Mac apps, and iOS apps. If you do want to develop Windows specific apps, like the other answer shows, please use Windows.
You mentioned ".NET SDK", but I believe that should be ".NET Core SDK". .NET Core apps are cross platform. Thus, you can develop such apps in Visual Studio for Mac, and then deploy to Windows. However, so far only console apps and web apps can be developed. What might happen in the future is still to be determined.
Visual Studio Code, however, is just a code editor. It won't give you extra flexibility.
For those whom imperatively needs to develop their app on all platforms, here is what I did, and the pros and cons:
Buying an Imac, thinking that I could also develop UWP projects within it
After realizing that I couldn't, I bought a cheap Windows 7 pro License on ebay (around 5$), and installed it on VirtualBox.
From there, I upgraded to Windows 10 for free and installed everything. It worked like a charm.
Cons: Buying a brand new IMac while a Macbook pro would have been better. An old one even since YOU CAN'T upgrade the ram.
Working on 8go of ram computer when you must give 4go of RAM to your VM isn't quite great. 4go gets you a laggy environment! Really frustrating.
So, prefer something older, but up-gradable (a cheap Macbook pro with 16go of RAM would do).
Not to mention that you will have to install Ubuntu as another VM in order to setup a .Net core Server for the majority of you.
What environment to favor while developing, most importantly when you are a C# and Xamarin noob like me?
The best being to develop from Mac as you will have FAR LESS ERRORS AND BUGS than in VS for Windows.
Correcting mistakes is really daunting and the best is really to develop from Mac to mitigate the damages, but it won't be hurdles free as well!
It took me more time debugging than coding within VS Windows.
After developing chunk of your app within Visual Studio MAC, the best is to get the code on the windows machine and arrange it to work in UWP.
UWP apps compile fastly and like a charm, so better is to get rid of errors within macOS, IOS, Android, and then go and adapt to UWP. This is easier IF YOU THINK ABOUT CHOOSING THE CORRECT LIBRARIES (working on all platforms, hence check my last advice).
From VS Mac, compile using macOS as a host! It's the easiest way to develop fastly, and correct your bugs.
Here is an article on how to get started from Mac:
https://blog.xamarin.com/preview-bringing-macos-to-xamarin-forms/
Cons: Always having to commit the code for it's use within UWP. But that's also a good way to save your project as well, so that if you screw up (like it happened to me numerous time) you roll back.
Hope that helps others whom didn't know what to do and where to start.
ALSO:
Don't follow tutorials dating from before 2017. Use the .Netstandard/.NET Core framework to develop your App so that libraries are more portable (following the blog article above should do).
Otherwise, headaches ahead!

Getting started with a Windows Store app

I'm looking to get started on a pretty simple Windows Store app. It'll be distributed inside a business, not public (there's a more specific way to say that but...). It seems you can't get past the very first step of installing Visual Studio if you aren't on Windows 8.1. I have a Win8 device (a Surface Pro 3), but I'd be more comfortable developing on my Windows 7 Desktop. Long question to say, do I have to purchase a Windows 8 license to run a VM on my Desktop for development? Or is there an easier way to get Visual Studio installed and started? Windows Dev guidelines, just kinda jump over that little step...
Not sure why you would keep a 5 year old OS on your desktop, but you do need Windows 8 to do Windows 8 development. Not sure if there's any way to develop on Windows 7 and do remote debugging to a Windows 8 device - I doubt that, but that would be much more painful anyway than debugging on your dev box.
Yes, you need a license even for VM. However, Microsoft has the best support for developers and you can find some programm that will be suitable for you. BizSpark, DreamSpark, AzureCloud etc. Maybe you'll be able to get all the software for free.
Regarding the new system, Windows 8 is same as Windows 7 in desktop mode. Except start menu. So, you can install Pokki or Start8 to 'fix' it.

Installing and running visual studio executable on an Apple computer

I am debating creating a simple project through Visual Studio on a Windows computer for a couple of my friends. However I know that a couple of them own an Apple computer instead of Windows. I was wondering (before I get to far) if it is possible (without installing other software like Parallels, etc) to install my executable so they can use it along with the supporting database structure (open to anything free or comes with Visual Studio) on their Apple computers?
You won't be able to do that without extra software. However you don't need to run Parallels with a full install of Windows.
You can try CrossOver. It lets you run Windows applications within OS X. I've use it a fair bit to play old PC games from my childhood. Works well.
http://www.codeweavers.com/products/

Is Windows Phone 7 programming available on Mac OS X based computers?

I'm eager to start developing for WP7, but restarting my Mac to boot Windows seems pretty annoying. Is there any usable ways of WP7 development on Mac except virtual machines?
Thanks in regards.
VM is not an option, the Windows Phone emulator will not run from within a VM (here's an answer to an earlier SO question stating the reasons for that). The only option is to shutdown and boot Windows, however annoying that may be.
To develop WP7 using IDE such as Visual Studio .NET you have to work on Windows. So the only way is too install virtualisation such as VMWare Fusion or Parallel for MAC.
Hope this helps.
DCA
You might be able to use the open source .Net implementation Mono, but in order to actually test your applications and install them onto a WP7 device, you need Zune and that is not available on OS X.
The best option would be a VM to run Windows and Visual Studio.
Visual Studio 2017 is now available on Mac. I haven't play with it yet, but it should at least support developing mobile apps using Xamarin. Another good news is that there is free VS version (community edition):
https://www.visualstudio.com/vs/visual-studio-mac/

Will the new VS2010 Beta 1 have a Virtual PC

I love the idea of using VS2010. I downloaded it today to play with it. But I am hesitant to install it all on my machine as upgrading from Microsoft betas is usually difficult. Also, I am not a TFS install expert, so I don't know the best ways to set that up.
But I still want to play with it...
Does anyone know of a VPC that has it all set up and ready to use?
VPC only for alpha version of Visual Studio, I think.
Best way how play with VS is install into virtual machine (VmWare or VirtualPC) or install another your machine (home pc, notebook, second pc, etc...), imho.
If you haven't licence OS for virtual machine, you can try trial version of Microsoft systems or betas (Win7 and Server 2008 R2).
Microsoft is doing allot of interesting work internally with virtualization and shipping several major virtualization products soon. HyperV and XP being virtualized in Windows 7 most notably. It would be shocked if we didn't see this functionality in the new VS.
If you are interested in desktop virtualization for development testing check out Virtual Box from Sun it is amazing and unlike the other high quality virtualization environments free and GPL. I use a portable version of VirtualBox to drag my virtual desktops back and forth to work each day on a external SATA drive.
link text

Resources