שתף באמצעות


VB.NET Application - Mac OS Compatibility

Question

Saturday, June 27, 2015 4:59 PM

I've made my program in VB.Net for a few friends and family members. Some of my friends & family members have a Mac OS. I've heard that it's possible to run parallels on a Mac to make vb.net programs compatible, but I'm wondering what folks here in the community recommend for this situation. Would greatly appreciate the help.

All replies (13)

Saturday, June 27, 2015 5:41 PM | 1 vote

I would think it would be some kind of Open Source  solution and nothing proprietary to run  on other O/S platforms. VB.NET is proprietary to  MS. Unless there is some kind of VB.NET Open Source software development solution, I kind of doubt you can do what you are talking about. There are C# Open Source software development solutions, since C# is not proprietary to MS.

Is there a runtime .NET Framework that can be installed on a MAC? If there is not one, then there is no way  you are going to get anything using the .NET Framework to run on a MAC.

That's what you have to look at.


Saturday, June 27, 2015 6:12 PM | 1 vote

Be aware, it is VB and .Net

Even if you are able to create an app for the Mac using only VB, you have not yet solved the problem that probably 90% of your program is .Net. (This is of course the same for C#).

Success
Cor


Saturday, June 27, 2015 7:00 PM | 3 votes

Yes, the Mac user can run Windows emulation to run your program.

Through Xamarin, you can compile your program to run on Mac.  You'll need a Xamarin account to do this.  Right now you'll also need to download some additional packages for Visual Studio; when VS2015 is released, Xamarin tools will be included (you'll still need a Xamarin account).

The Mono project has grown into the .Net Framework port for other platforms.  You application will likely need some additional code to support the platform-specific features.  Depending on what your application is and what components it uses this could be a fair amount of work.

Cross-platform development is a huge part of the next Visual Studio release.  You can investigate the existing tools but you may just want to wait another month or two and then redesign your application for Windows 10 with cross platform support for Android and Mac. Starting over with cross-platform support in mind and using the most current tooling may actually be easier than trying to retro fit the existing version of your application with multi-platform support.

Reed Kimble - "When you do things right, people won't be sure you've done anything at all"


Saturday, June 27, 2015 7:07 PM | 2 votes

My customers tell me that my #1 app works well in Parallels on the Mac. Also works with VMware.

I use .net 3.5.

You also have the dual boot options to run windows on the Mac with OS version something or higher. Other windows emulators.

Finally there is a software wrapper called Wine that is open source that you can embed your app into (if that is the word) and it is open source. There is a commercial version of it I cant think of the name. I tried the demo but had problems. You develop this on the Mac using your PC made .exe.

As normal there may be issues with drivers and etc. If you use later .net versions and the newest things then you will be more app to find things that may not work. One is the new Retina displays which are like 3600 dpi but if the drivers are properly installed it seems to work.

If you want to rewrite then you can work in Real Studio which is supposedly similar to vb. Of course it runs on the Mac.

PS my app is compiled to target x86. The installer is MSI and its all made in VS 2010. Not sure if any of that matters.


Saturday, June 27, 2015 7:10 PM

"Cross-platform development is a huge part of the next Visual Studio release. "

Oh boy oh boy! That sounds very interesting!


Saturday, June 27, 2015 7:13 PM | 1 vote

My customers tell me that my #1 app works well in Parallels on the Mac. Also works with VMware.

I use .net 3.5.

You also have the dual boot options to run windows on the Mac with OS version something or higher. Other windows emulators.

Finally there is a software wrapper called Wine that is open source that you can embed your app into (if that is the word) and it is open source. There is a commercial version of it I cant think of the name. I tried the demo but had problems. You develop this on the Mac using your PC made .exe.

As normal there may be issues with drivers and etc. If you use later .net versions and the newest things then you will be more app to find things that may not work. One is the new Retina displays which are like 3600 dpi but if the drivers are properly installed it seems to work.

If you want to rewrite then you can work in Real Studio which is supposedly similar to vb. Of course it runs on the Mac.

All good info, Tommy.  But, I still highly recommend that the OP wait for Windows 10 and Visual Studio 2015 and then do a rewrite.  There are new and better ways to achieve the goal (less code to write, no need for other IDEs, etc.) and you gain even more platform compatibility (the application can also be made to run on phones, tablets, XBox One... pretty much anything with a CPU!).

Reed Kimble - "When you do things right, people won't be sure you've done anything at all"


Saturday, June 27, 2015 7:25 PM

My customers tell me that my #1 app works well in Parallels on the Mac. Also works with VMware.

I use .net 3.5.

You also have the dual boot options to run windows on the Mac with OS version something or higher. Other windows emulators.

Finally there is a software wrapper called Wine that is open source that you can embed your app into (if that is the word) and it is open source. There is a commercial version of it I cant think of the name. I tried the demo but had problems. You develop this on the Mac using your PC made .exe.

As normal there may be issues with drivers and etc. If you use later .net versions and the newest things then you will be more app to find things that may not work. One is the new Retina displays which are like 3600 dpi but if the drivers are properly installed it seems to work.

If you want to rewrite then you can work in Real Studio which is supposedly similar to vb. Of course it runs on the Mac.

All good info, Tommy.  But, I still highly recommend that the OP wait for Windows 10 and Visual Studio 2015 and then do a rewrite.  There are new and better ways to achieve the goal (less code to write, no need for other IDEs, etc.) and you gain even more platform compatibility (the application can also be made to run on phones, tablets, XBox One... pretty much anything with a CPU!).

Reed Kimble - "When you do things right, people won't be sure you've done anything at all"

You have me VERY excited.

Except for the REWRITE part. Guess that depends on the size of your app.

What is the eta for VS 2015? I know there are things out now, I mean the official release. I really don't know much about it.


Saturday, June 27, 2015 7:43 PM | 2 votes

You have me VERY excited.

Except for the REWRITE part. Guess that depends on the size of your app.

What is the eta for VS 2015? I know there are things out now, I mean the official release. I really don't know much about it.

I don't think there is a hard date that I can share with you... the best I can probably say is "very soon".

And yes, when I say "rewrite" I mean that you are going to start a fresh project with new tooling, but you may indeed be able to reuse and/or refactor a lot of your existing code.  I expect there will be a lot of blog posts and codeproject samples of taking traditional applications and "upgrading" them to support multi-platform.  Some of these may even have been created already and are just waiting for the NDA to be lifted so that they can be published.

Reed Kimble - "When you do things right, people won't be sure you've done anything at all"


Saturday, June 27, 2015 8:02 PM

I think I heard "2nd half of 2015" as the expect release date. That could be as early as Wednesday (but probably not).


Sunday, June 28, 2015 9:21 AM

Here's the link for WineSkin.

And another link about it.

La vida loca


Monday, June 29, 2015 3:49 PM | 1 vote

Now I can share a date.  :)

 http://blogs.msdn.com/b/somasegar/archive/2015/06/29/save-the-date-visual-studio-2015-rtm-on-july-20th.aspx

July 20th!

Reed Kimble - "When you do things right, people won't be sure you've done anything at all"


Monday, June 29, 2015 4:32 PM

At this point I would tend to agree with using a VM (such as Parallels). Cross-platorm support for apps sounds great, but in my opinion it's mostly a myth. The primary reason for this is that you are limited to language extensions and OS features that are supported by all platforms. For example, if you are using a particular database engine that is supported in Windows, but does not have native support in the .NET Framework, then it very likely will not run on a Mac. This will be the case with other technologies as well.

Paul ~~~~ Microsoft MVP (Visual Basic)


Monday, July 27, 2015 7:53 PM

Thanks guys!!! Very Informative!!!