What's funny/sad is it seemed like they put a good amount of effort into VS for Mac 2022. It still lagged behind the competitors, but it was on the right track.
What I find even funnier - I just watched the Maui community standup that went live shortly before this announcement. Between minutes 50 - 55, they defend VS for Mac, stating that the teams were focusing energy toward "quality and stability work", and giving a spiel about how vs code would NOT replace VS for mac. :) Whoops!
@@IAmTimCoreyyes, thank you, i have already done it. by the way, i want to point something out about the suggestion site, it's becoming a little bulky, i am afraid when i post a new suggestion, it will be lost in a very long scroll. These are my thoughts about the site.
Put simply, VS Code has ZERO advantages over VS. For me .Net cross-platform development is dead and I'll be suggesting Flutter to my clients from now on.
Honestly I much prefer rider even on windows….much better code completion and functionality except for things like hot reload which they’re working on.
To be honest, VS for Mac was way behind VS from the get-go and I never felt like it was improving or will ever catch-up. I'm surprised it has been supported for this long with so little improvement. Another thing of note is, why Microsoft didn't invest much more in the years past to make either VS cross-platform or get VS for Mac closer in feature parity to VS? My frustration is not just about it being retired, it's more about how long it was neglected for (to warrant the retirement).
Actually, there was a big push last year to upgrade VS for Mac by Microsoft. They had made some big strides on it. As for VS being cross-platform, it isn't going to happen. It is too tied into Windows itself. It is built using WPF (which is tied directly into Windows) and it relies on Windows features itself.
Thank you for your insight on the subject and looking at it from a fair perspective, not just "Microsoft is evil" or "Microsoft never does anything wrong". this is an unfortunate situation. Ive only been working with microsoft products for a year so im relatively new to this but from what i've seen so far is that Microsoft has a pretty good DX (Developer Experience). Normally they take care of your needs as a developer. So hearing there is suddenly 1 year of support left for vs on mac was pretty suprising. especially with no fully complete alternatives. It feels rushed indeed. I guess its a good wakeup call Thank you for communicating the situation where Microsoft failed to do so. I hope they take your criticism as a Microsoft MVP serious.
I'm a little confused. I'm working on a MAUI mobile app on a Windows machine in VS for Android devices and was looking at what I need to do to make it work on IOS and to that end even bought a Mac computer and an iPhone in anticipation of my needs. What effect will all of this have on my roadmap?
Good analysis. Today, I finally had enough trying to run visual studio under parallels on my 2017 iMac. Adding a SSD drive helped, but Visual Studio crashes a lot. Too few cores and too little memory. So, I just ordered an HP with the 13th gen I-7 with 64 Gb memory. Thinking this should do it, and the old Mac should be fine to remote into the new box. The Mac side of the machine is fine, it just didn’t have the horsepower to run VS and a win 11 VM.
I echo the frustration with .NET MAUI. I have things I want to build but the feature support I need just isn't there yet. So I'm basically not writing a UI right now and just focusing on the internals.
I suspect the number of companies licensing VS:Mac was probably extremely small - and therefore the few people using it were mainly community (free) users. (If you're seriously developing for .NET you're probably using Windows). As you mention, it now makes sense why the C# Dev Kit exists - to placate Mac users (and to a much smaller extent have something to promote in terms of .NET development on Linux). The quick killing of support within 12 months is a disappointing demonstration of their commitment to their customers. However, due to this exact timing they will not meed to support any Apple platform changes most likely to happen in Sep 2024. (ie. iOS 18, macOS 15)
Hey, I greatly appreciate this kind of context in-depth discussion. My afterthought is: What is happening in relationship between Microsoft (heavily aiming for open-source, cross-platform, and cloud) and Apple (sorry, my worry is focus on income and therefore protect , fence-in your own domain). Has MS AP relationship come to a sudden break? What is really happening in the Mac arena short term and long term?
All of the big tech companies compete with each other. But that competition isn't always directly head-to-head. For instance, Apple is mostly about the hardware. Microsoft is mostly about the software. Amazon is mostly about the cloud. Google is mostly about the search. Facebook is mostly about the social/advertising. So where there is crossover, there can be tension. The tension between Microsoft and Apple used to be higher, back when they each had their walled gardens. Now, that tension is somewhat reduced since Microsoft is more open to working with Apple products/platforms.
You have VS Code, which is from Microsoft. That objectively has better features than VS for Mac ever did, plus VS for Mac didn't work on Linux anyway. Use the C# Dev Kit plug-in and you will be fine.
@IAmTimCorey After watching your video which help clear the .net confusion. I tried learning some C# today using vscode. One thing I didn't like is C# formatter placing opening braces on next line when i hit format document. Coming from Javascript Community, I want to maintain the K & R style where braces are place on same line of code blocks. I couldn't find a setting in vscode or the dev kit extensions to change this. Sadly prettier doesn't format C# code
You are trying to force one language to look like another language. That's not a great plan. Your formatting will not line up with practically anyone else's on the Internet. We all get to choose how we format our code, but my recommendation is to use the industry-standard formatting unless you have a significant reason to change. In the case of JavaScript, the reason why the braces start on the same line was in part because of the fact that JavaScript does not rely on semicolons to delineate the end of a logical line of code. The problem with that was that you can return an object or you can return nothing. That caused bugs. For instance, this statement returns nothing: return { name: 'Tim' } whereas this statement returns an object: return { name: 'Tim' } In C#, that wouldn't be a problem because the compiler can rely on the semicolon to tell it when the logical line of code is complete. So this will return a person variable: return person; as will this: return person; That's why C# doesn't put the braces on the same line. I would highly recommend you follow different formatting rules in C# than you do in JavaScript. The two are different languages with different quirks. Don't try to make them look the same.
I can't say I'm surprised. It was annoying to try and switch back and forth between Mac and Windows VS due to keyboard differences and also because the VS Mac implementation just wasn't up to par with Windows version. Running SQL Server on Mac is already a pain and Entity Framework in VS Mac was very poor. I really wanted it to work, but for whatever reason it just didn't work out. Sad but not a shock.
I was using VS for making some simple MacOS GUI apps. With the utilization of Xcode obviously however I found it pretty easy to work with. I'm curious how this will change that capability..
It's disappointing to say the least and is forcing me to look at going the Rider route and kill my VS Pro license when it expires. I'm also looking more at Avalonia instead of Maui because while it's not quite a feature rich yet, it does seem more stable than Maui.
I love C# Dev Kit, but I love VS Code, and I use it every chance I get unless I absolutely must use Visual Studio (i.e. MAUI). I have no idea how well it works on Mac though, and I hate they're pulling such an abrupt change on Mac users, even if I'm not a Mac user. This is a bizarre change to push through so rapidly (Also, RIP Unreal developers using a Mac with VS and C++) Edit: OH I completely forgot about Rider! 100% agree. If I didn't have VS Code this would be my second choice :D (I use PyCharm and Android Studio a lot)
I have talked to the developers directly to find out more information. It turns out that the .NET MAUI team was also the ones maintaining VS for Mac. By eliminating this product and accelerating their push into VS Code (a different department is handling that), they reduced their workload elsewhere so they could spend more time concentrating on .NET MAUI. The end result, we hope, is that .NET MAUI gets better and Mac developers still have a great option in VS Code (that will also work on Linux and Windows). They did work really hard to make VS for Mac better over the past year, but even with big strides, no one seemed to care. Their usage did not go up and the satisfaction of users did not increase. So basically, they seemed to be putting a lot of effort into something that very few people cared about.
I am excited for it too. I'm bummed that we lost an option for Mac, but I'm hopeful that the VS Code option comes on stronger than the Mac option ever was.
Thanks for this very important Informationens! It's a shame to jump from one to the next technology without thinking to the developers and the companies. No developer has enought time to write a large app every 5 years in a new code! And who is paying for this? Other thing: Hoping .Net 4.8.1 support will be extended, because the migration to .Net core is a lot of work (database first approach). Why they don't write a tool for migration? Same reason.
This has nothing to do with code. You can still use the same code. This is about the IDE going away, not .NET. Just the tool to write the code is going away (but you do have other options). As for .NET Framework support, they have committed to supporting .NET Framework "for as long as Windows exists", so no extension of support is needed. It is still fully supported. There won't be new updates (except security fixes, critical bugs, etc.), but it is supported. As for writing a migration tool to .NET Core, they did write that tool ( learn.microsoft.com/en-us/dotnet/core/porting/upgrade-assistant-overview ). They put a LOT of work into it. Also, the upgrade to .NET Core (now just .NET) is about as easy as it can possibly be. The pain is mostly about the third-party libraries, etc. that you used. The exception would be if you used something that is now deprecated. There isn't much more they can do, though, to make it easier. Finally, .NET Core has been out and stable (let's call that .NET Core 3) for almost 4 years. That's already a LONG time (from stable, not from when you could have started the upgrade process).
@@IAmTimCorey Thank you very much, for your very good answer and the link!!! I will check this. But for .Net 4.8.1 (not .net core) I found a page, that support ends in 2027. But maybe they changed, because now I can't find again. Sadly I taken over the project from another developer and the customers needs new features and so I haven't the time to switch to .net core parallel. These news from you are very valuable! Thanks a lot!
That link was incorrect. They have never announced an end date for .NET Framework support. By the way, it is .NET Framework 4.8.1, not .NET 4.8.1 (semantics mostly, but it does make a difference when you search). .NET refers to .NET Core (so .NET 5, .NET 6, etc. is actually .NET Core).
REMEMBER even when we use open-source code during development we still charge the client for our work. Multiplatform development is difficult because each platform has incompatibility & interoperability issues; Microsoft's narrowing its development scope might have been forced upon them by the competition's OS changes...
You can run Windows using Parallels and have a great experience for both, but the .NET MAUI tooling is getting better for VS Code. You also have the option of using Rider. One of the things that is not as commonly known is that the MAUI team was doing a lot of work on VS for Mac. With this no longer part of their responsibilities, they will actually have more bandwidth to work on MAUI.
I disagree. This doesn't kill MAUI and MAUI has a lot of good progress in .NET 8. As for Blazor, why would you think it is next? Microsoft is making a HUGE investment in it for .NET 8 and the community is loving it.
@@IAmTimCorey time will tell. .NET (Core) going forward, sure, will be big. I don't see the traction that you're hoping for. Good debate is heathy right? :)
I feel that Blazor (apart from being a good full stack platform) is part of the next generation of JavaScript-free platforms compiled to WASM instead of using JavaScript as a compilation target for running in the browser. It seems inevitable that Google will one day achieve this through Flutter and Dart, and others through Rust for example. In that way, Blazor is actually far ahead of the curve, and very innovative, with room to grow.
They would have realized that they couldn't target their IDE in Linux ecosystem. FYI we don't have "VS for Linux". Since VS Code already exist for Linux why not enhace it rather than investing dedicatedly on VS for Mac as well.
It's a mistake that you keep saying; "we will talk about this later" you can do that once or twice, but the way you do it, it feels that you. That talk about nothing, but postpone all your points to some undefined time in the future. That's not how you make a compellent case for something.
I wasn't saying that I was going to discuss it with the audience later. I said that Microsoft told the MVPs that they would discuss it with us later. I was giving you the information I had at the time, and telling you that even Microsoft didn't seem prepared for this move, which is why they told the MVPs (typically the first to know) that they would tell us more later (at an undefined date at that time).
Unless it's absolutely core to the future of WINDOWS, you cannot rely on microsoft as an organisation to keep investing time and effort into it. Anyone investing effort into MAUI apps are making a huge mistake. 10 years from now it'll still be Winforms/WPF.
Same thing for pushing MAUI and retiring X.Forms. Meaning, as a dev I am literally forced to migrate my solution to that unstable and raw piece of... technology so to say. p.s. i mean, maui does have some cool features. but the rush given its current state seems just so bizzar.
That's the frustration. I have talked to the developers directly to find out more information. It turns out that the .NET MAUI team was also the ones maintaining VS for Mac. By eliminating this product and accelerating their push into VS Code (a different department is handling that), they reduced their workload elsewhere so they could spend more time concentrating on .NET MAUI. The end result, we hope, is that .NET MAUI gets better and Mac developers still have a great option in VS Code (that will also work on Linux and Windows).
@@IAmTimCorey good for them. And yet, as their user I am struggling with even launching or debugging my solution under VSCode on macos - instead of actually building my thing. Even breaking changes by apple (with objc, swift and xcode) were less painful (or so it seems to me). Also no obvious reason why the team had to rewrite the X.Forms into MAUI (again, with a lot of rush and hugely degraded quality).
I'm not defending the move here, but the reason why they moved off of Xamarin Forms to .NET MAUI was because they wanted to unify .NET into one language instead of multiple languages that were slightly different. There was a LOT of work that went into making things work between "regular" C# and Xamarin (and the .NET Framework). They are trying to leave all of that behind in order to have one unified platform for everything. Some of these decisions are corporate-led.
@@IAmTimCorey but for iOS and Android they still rely on the same binding project and native libs bridge built by Miguel and his team back in the day (before acquisition by MS). So those diffs between "regular" and Xamarin are still in place under the hood, even with the new branding. Again, not that i am opposing these changes (ok, i do just a tiny bit) and even like some of them. Except the "too fast, too early, too raw, too forcefully"part.
@@IAmTimCorey honestly, my personal experience with vscode has been anything but great so far. That "infinitely flexible plug-in system" sounds promising but feels rather "jack of all trades, master of none". Again, we have an example of eclipse and netbeans that are at best mediocre (even for java as their primary language). But yeah, eventually mobile devs will have to adapt (and maybe even be calling vscode great due to its monopoly and our Stockholm syndrome) But that's just me. If you honestly find vscode great - good for you.
It actually makes it better, since more effort is being invested into VS Code because of this change. Not only that, VS Code is cross platform so these changes will also benefit Windows and Linux users too.
I’ve been waiting for the day when I can go all in Mac as a .NET developer for ten years now. We have come a long way but this is not a step in the right direction. For me the hardware is the biggest issue. My workcomputer is a Lenovo T16S. Good on paper but compare to my private M1pro MacBook Pro and M1 MacBook Air it feels like a old plastic garbage laptop. Battery is terrible, fans spinns like crazy, and when used with a mouse on the side it burns my hand.
So, I talked to the .NET MAUI team directly about this. It turns out that the .NET MAUI team was also responsible for making updates to VS for Mac. That was causing problems with their productivity. They made a big push to make VS for Mac better, but their metrics showed that people didn't really care. There was no increase in adoption and there wasn't a big increase in user satisfaction. That's why they went the route of VS Code. While that does cause a transition issue, which I talked about in this video, it does mean a better option in the future. It also allows the .NET MAUI team to focus on making the necessary changes to .NET MAUI to make it a better product.
It seems Microsoft did the same old way of the big EEE: Embrace (Xamarin) - Extend (to MAUI) - Extinguish (remove cross platform). Removing cross platform will happen, guys, don't fool yourselves, or it will be actually awful/low quality for macOS. BTW, for Java it seems the cross platform quality is the same on all 3 major OSes: win, mac, linux. Why can't a multi billion company like M$ do it also?
The EEE thought is something that doesn't apply except when you look back after they complete all three E's. Otherwise, you are just predicting failure. Remember that the first two things can be really good. Here's an example: Microsoft bought GitHub (embrace), they added new features like improved Actions, etc. (extend), so now they are going to extinguish it? Nah. Embrace and Extend aren't bad things. They are good things. As for removing cross-platform, that's exactly opposite of the direction Microsoft has been going for the past 6+ years. They've been working to be more and more cross-platform. Now whether MAUI succeeds or fails, Microsoft is trying to make it work. And shutting down VS for Mac isn't an indicator that they are getting away from Mac. In fact, they've doubled down on their effort with VS Code (which also works on Linux, by the way). By the way, have you looked at Uno or Avalonia? They've been working on Mac, Linux, Windows, Web, iOS, and Android for years.
@@IAmTimCorey If it was about other company I would get it, the first 2 E would be ok. but considering it's Microsoft.. is doing this first 2 to actually destroy, get control of rivals. What action did people do when they bought github? fear, that microsoft would eventually destroy it. Sorry about your optimism for microsoft, but this is what they do for decades. I tried to believe they changed, I wanted to learn C# and MAUI and now I discovered they discontinued their IDE on macos. this is a clear indicator of their time and quality for macos, a cross platform platform from a company that doesn't provide their IDE on the OSes is targeting means they don't walk the talk
That's just not what happened, though. Yes, they could have handled their retirement of VS for Mac better. However, do you know where VS for Mac came from? It was rebranded from Xamarin Studio, which was based upon MonoDevelop. Have you ever seen applications built on MonoDevelop? That system was a hacky workaround to get C# to work on other platforms. VS for Mac was built on that crumbling foundation. It was full of messy code-rot, systems that could not be updated, and weird workarounds. It was really expensive to update, and no one cared about it. They spent most of a year bringing it up to speed and adding new features. The resulting polling showed that the level of care people had for it didn't change and the usage did not go up. So, Microsoft killed it. Now a reasonable person might ask why they didn't just rewrite it and do it better, even if it would be incredibly expensive. And the answer is, they did. They wrote it as a series of plug-ins for VS Code. So they showed that they actually had a strong commitment to Mac (and Linux) by that move. Again, I don't agree with HOW they did it, but the end result is what we want. By the way, on the GitHub issue, I think you are proving my point. Yes, there was a lot of fear about the transition. And then what happened? Were those fears founded? No. Has Microsoft proved themselves to be good stewards of GitHub? Yep. Here are just a few quick examples: When Microsoft took over GitHub, private repos were a paid-only feature (I think you might have gotten one or two for free, but that was it). Now private repos are free. Next, GitHub Actions was a sub-standard CI/CD system that barely worked. Microsoft took most of their team from Azure DevOps and moved them over to the Actions team. Now GitHub Actions leads the way in CI/CD and then Microsoft pulls the features over into Azure DevOps. Actions are also free up to a certain limit. Finally, Microsoft made a huge investment in GitHub CoPilot. Then they made it really cheap for individual developers ($100/year) and made it free for students, teachers, and open source maintainers. So while the fear of what would happen when Microsoft took over GitHub was understandable, Microsoft proved those fears to be unfounded. Using the initial fear as justification that Microsoft is bad is a bad take.
This is why it is very risky to use Microsoft development tech. It only appears a couple of years then they scrap it and replace it with something different where the investment will be gone as well. It always happen. Microsoft has never created anything that last long. except for C# and Visual studio.
Didn't you just disprove your point with that last statement? C# has been around and supported for over 20 years. Microsoft Office files from 25 years ago can still be opened today in Office. Windows can still run applications from 20 years ago. Microsoft is actually one of the most stable companies in the world for tech.
@@IAmTimCorey Been using Microsoft for 30 years maybe even longer than you do. Had invested time and money in ActiveX Document , ActiveX Controls Silverlight, DCOM and the list goes on . All gone now. Be very careful using Microsoft tech it’s here now gone in 2 years .
So are parallel ports, serial ports, floppy disks, etc. Technology has to evolve with the times. We aren't using Windows 95 and Internet Explorer anymore. Things have to evolve. Of the things you mentioned, those things were mostly deprecated because the industry no longer supported them because they were either no longer needed or were wildly unsafe.
The situation doesn't inspire confidence. Maui doesn't have live preview, and hot reload is pretty bad, even on windows. Compared to their established tech, it's been terrible. The connection between devices, even phones with a usb connection is constantly lost. In contrast, in under an hour I was able register a dev account, get vs setup, and then deploy demos to an xbox. It's been a few weeks now, and I haven't had any complaints. What I would like to see is ms create a native port of vs for mac. Not counting on that though. Everything I see from ms is saying maui is the direction they're going in, but they don't have a real plan. They're still trying to figure it out for themselves. Dumping vs for mac is a huge step backwards when there's nothing indicated to replace it.
So, I talked to the MAUI team about this. It turns out that the MAUI team was the one also building VS for Mac. They were doing split duties as MAUI developers and VS for Mac developers. They did do a push to make VS for Mac better over the past year and while it did improve dramatically, the usage of it did not improve. So, Microsoft decided to eliminate it since they had the VS Code option coming (and is now here) so that the MAUI team could spend more time on MAUI. So this is actually good news for MAUI.
I suggest Electron, React Native, React Web. The truth is, MAUI can’t compete with what’s already there and battle tested. Standardize your UI with React and do your backend in whatever you want. The only alternative that I’d truly consider is native mobile development in Kotlin and Swift, if mobile is truly the most important platform AND you require some native performance that you can’t achieve with React Native.
@@IAmTimCoreyHow do you know that? The new File Explorer coming in Windows 11 is based on WinUI3. MAUI depends on WinUI3. WinUI3 removes the tight dependencies on Windows so it can be updated without a new Windows release. I have used WinUI3 successfully for almost 2 years.
I love c# and Switched a long time ago to vscode already, the 3rd party extensions are fine enough. I recommend getting used to it it’s totally worth it.
@@MicroFourThirdsCorner You can sell extensions. Untill those ge intergrated into the core open source than you make new extensions. The concept of static Application to build your company around is so old and will become increasingly difficult as you have to support and maintain more. It best to build sell and let communty maintain and use your popularity and reach as a marketing /Investment pitch
3:21 but VisualStudio for Mac is based on monodevelop... which is also cross-platform. Also who even needs the vscode on windows when visual studio is available there in its full glory? So basically MS is just ruining the macos IDE and leaves two choices 1. suffering with vscode 2. migrate to windows Such a spit in the face to all xamarin (now maui) devs...
There is a reasoning behind it, even if it wasn't handled correctly. Hopefully, VS Code gets better over the next year. Also, one other point that the developers brought up was that they had spent the previous year making big strides in VS for Mac, yet no one seemed to care. There was no new engagement and the overall usage was low.
@@IAmTimCorey That's great. I just started your course and trying developing for both os. Now I know I have to concentrate only windows. Thanks for responding.
The frustrating thing for me is the leaps and bounds Microsoft have made with .NET Core, compared to the Java ecosystem for example. .NET Core generally outperforms Java, but if you have a team of developers on a mixture of Windows/Mac machines, you're far more likely to go with Java.
@@IAmTimCorey I guess I'm mainly referring to the IDEs and setup. To work on .NET projects in Mac, you're either going to have to shell out for a bunch of Rider licences or the VS Code dev kit licences you mentioned. As opposed to just using something like IntelliJ which is free for the most part.
Not sure how many Mac and Linux uses want to use C#. There are so many better choices for them. Java, Python, JavaScript, Golang, Swift for Mac, C/C++, Rust,. MSFT kind of knows that.
The number is growing, not shrinking. For instance, you can now use VS Code to develop on the web or in a container. Different people have different needs. What they don't want is to be told that the machine they choose to use for the rest of their daily activities isn't usable for one activity. As for "better choices", that's a very subjective argument and not really an effective one.
I am a Mac user. When I first started learning C#, I did not know that there was such a machine discrepancy. As someone who was excited to learn how to build all the cool things that I would see presented in rollouts, it was disheartening to learn that, because of my laptop, I could not do or learn the same things. To have to purchase a new laptop just to learn how to code and test out features is crazy to me. However, as my journey continues, I find that what's best for me is coding in a way that does not require an IDE. So using more browser-based options. Coding is my hobby, not my job. So the idea of spending hundreds to thousands of dollars just to learn how to code and use features is just not worth the investment to me. @@IAmTimCorey
I like C# and really wanted to see VS be a success on the Mac. Unfortunately, between the severe feature deficit and needing to use a Windows laptop for my day job (in VS) it was never a good enough option even for my personal projects.
Not nobody. Less, for sure, but definitely not nobody. For instance, it was the only way to build iOS apps using .NET MAUI or Xamarin. You can't build or test Mac/iOS apps on Windows. You need a Mac for that.
@@IAmTimCorey Can't you build/test .NET MAUI on Windows using a Mac device for the iOS part? Since your Windows VM is on Mac Device, what stops you to setup an remote debugger? (Sorry im not familiar with .NET MAUI)
Considering the Xamarin.Forms deprecation (and refusal to fix even critical issues), forcing the MAUI migration (which has been very painful btw), and NOW they decided to take away the single tool that at least allowed us to adopt MAUI or migrate to it? Surely Microsoft knows how bad this will be for MAUI and its future, surely they're not this stupid? VSCode can not, and will not, ever replace a full fledged IDE like Visual Studio for Mac 2022, we've all seen what a nightmare the official C++ extension for VSCode is, and now their new C# extension will supposedly replace the entirety of VS4Mac? Yeah, not going to happen, ever. MS is destroying itself, its products, its future and its developers/customers.
It turns out that the .NET MAUI team was responsible for VS for Mac as well. That caused a lot of split work and reduced ability to get things done. This change actually frees them up to do more work. They did work hard to update VS for Mac over the past year, but their metrics showed that basically, no one cared. As a result, they decided to stop investing more into something that was not going to get better and was actively taking time away from what they needed to do. As for VS Code replacing VS for Mac, it won't happen immediately, but it is happening. The C# extensions have come a long way in just a few short months. They still have a ways to go, but they have made significant progress.
@@IAmTimCorey I think they are going to do it anyway, but with a silver lining on the horizon: MauiBlazor hybrid. Why? For the exact same reasons you outlined in your episode: To cut your losses and make more money. Let's be honest: Even with the 'quality' offensive they announced for .Net 8, Maui still introduces more regressions than it solves bugs in every new Release Candidate. By switching to a WebView in the UI department they drastically reduce the testing overhead and can still serve all target OS. Maui in its classic form with the "native controls everywhere"-approach is as good as dead.
No. They aren't moving off of Mac. Instead, they are going deeper into Mac/Linux with one tool rather than trying to spread that effort over two tools (one of which doesn't work on Linux).
Don't think .NET is going away, but you do have to question it's future. I watched the video again on Silverlight. Every reason you gave why it failed are the same exact reasons .NET MAUI will fail. Mainly, it relies on cooperation from other companies to succeed. Appple doesn't care about .NET and MS, are you kidding me? The other problem with MAUI is that it's like chasing a constantly moving target. How can you ever possibly keep up especially with updates and changes coming from Android, iOS/Mac, and now who even knows which direction Windows is going?
I can see how the two look similar, but there are actually rather significant differences. With Silverlight, the browsers had to allow a significant amount of power to be given to plug-ins. When they reduced how much a plug-in could do, they effectively killed Flash and Silverlight. With MAUI, the .NET code is converted to native code. There isn't a good way for Apple or Android to stop what Microsoft is doing. Plus, they aren't the only ones that are doing it.
Hey Tim, I was thinking more in terms of what they allow access to during the development stage. I mean, If MAUI can't get the support of Apple to provide access for certain features on the Mac, then the MAUI app becomes very limited in what it can do. Is this correct or am I missing something?
MAUI converts the C# over to the native language of the platform. So when you deploy a .NET MAUI app, you are actually deploying a native app. That means there is nothing Apple could really do to stop Microsoft from doing that. They aren't relying on a shim or wrapper maintained by Apple.
So I talked to the MAUI developers and got some additional information. It turns out that the MAUI developers also had to support Visual Studio for Mac. They were doing to work of updating it. Now, they actually have more time to devote to MAUI, which actually improves MAUI's chances of being a success.
Sounds good to me. Focus on Visual Studio for Windows instead of wasting time on Mac ;) Obviously not making money and not worth the time or effort thus far.
SilverLight II: The self-sabotage continues! Visual Studio for the Mac was the only major product written in Xamarin, the predecessor to MAUI. They could have at least continued its development by porting it to MAUI for dogfooding purposes. This is going to stop any organization from putting their eggs in Microsoft's basket.
@@IAmTimCorey while I agree that it really is a great tool, I believe it became #1 because of publicity and availability on virtually any platform. But not because it is the best one (though it is great and one of the best).
@@IAmTimCorey I'm just busting chops man. Don't take me too seriously. I probably should have put a wink emoji or something as a clue since this is the internet. And no, I haven't tried that. I only make programs for real operating systems ;) jk Seriously though, I am building a MAUI app and I haven't tried building it for iOS, so I think I'll try it out so I can see what you mean. Thanks for all the great content throughout the years man. I've learned a lot from you and continue to do so. I didn't mean to knock the video.
I'm sure they are retiring VS for Mac because its hard to maintain and think they just will make Visual Studio work on Mac in the near future. There are too many developers using mac that aren't going to settle with VS Code as the new IDE. Personally i prefer Rider, but the money for Microsoft are bound to Azure. Getting people to develop applications that run in Azure with connections to Azure AD (Entra ID) + Sass applications including office 365 is their priority. To make this happen the developer tooling they provide must be sorted out. Cross platform. When Jetbrains can do it, then sure as heck Microsoft should be able to do it.
I’m positive. I just talked to the team last week about it. The number of Mac developers is actually quite low for C#. My recommendation would be to use Rider if you can. VS Code will be an option, but not at the same level as VS for Mac was.
MS have a history of promoting a product, and then kicking the devs that supported and went through the pain in the teeth. A year of support is zero consolation and MS owe everyone an APOLOGY for wasting everyones time. How many hundreds of thousands of hours have been wasted with a sub-par VS MAC when behind the scenes they were going to can it anyway. I understand now why VS MAC was such a sh**-show. I will never trust MS again. Maui has a bright future? Yeah right. How can we trust MS to tell the truth.
I think this is a bit of an overreaction. How does providing you with a free IDE on Mac for years "waste your time"? And you won't trust Microsoft again because why? Because they killed VS for Mac? If you stopped trusting companies because they killed products, then you can't trust Google, Apple, Amazon, etc. Heck, Taco Bell got rid of the Choco Taco, so we probably need to stop trusting them as well. 😆 Seriously, though, this is frustrating, but I don't think it is nearly as dire as you are trying to make it.
@@IAmTimCoreyIt's pretty dire! This is SilverLight II! Microsoft just burned their bridges. They've further eroded the little trust developers have in them. Most smart developers will learn to stay clear of putting their eggs in Microsoft's flaming suicide basket. They could have at least waited until MAUI gained some traction. Bad decisions like this one makes me wonder if legalization in Seattle was a wise move.
Bob, that's a really big over-reaction. My guess is that you don't even use VS for Mac. However, if you did, have you tried VS Code with the plug-ins? It is pretty good. It isn't perfect, but they've got a year to get it closer. Plus, you can use Rider if you want or you can use full Visual Studio. Everything isn't the end of the world. If you keep saying it often enough, people stop listening to you.
@@IAmTimCorey I hear you, but here is the thing. I have wasted days, probably weeks, deleting bin and obj folders and then rebuilding purely to get a build that works. 1000's of times. Had to jump through constant hoops and workarounds to get an aab build working, whilst these frustrating issues are simply "closed" on Github. Have had to deal with the endless asset not found error on Android. The broken build environment each time there is an iOS update. And and and and! I am a dev and things need to work, how is not being able to develop and push out a build and rather spending DAYS messing around with a "free" IDE trying to push out builds that are simply huge not a waste of my time? This was promoted as a cross-platform IDE, MAUI is supposed to work, and yet it is nothing short of a cluster F. I have been working with Mono since the days of Miguel and the Novell thing, through the Xamarin transition and now to what is MAUI. And it has been such an inherently unstable, constantly breaking, complete waste of time I am finally throwing in the towel. It IS dire, and I can no longer trust MS to not waste my time with their next "free update" - I would happily pay for something that works, but I cannot trust MS to deliver that. I'm moving on. And don't try and tell me this is an overreaction. This broken tooling and MAUI has cost me a small fortune.
@@IAmTimCorey Yes, Visual Studio for the Mac sucks. It, however, improved to become faster than its Windows counterpart. For .NET development, the recent 2022 is my go to IDE. Developing .NET applications using VS Code and plugins is a pain in the ass. It's a thin veneer over the command-line. All the ugly configuration stuff IDEs simplify for us percolates to the surface in VS Code. Would rather manually edit configuration files, or check off a few boxes from a dialog box? To be fair, however, Visual Studio requires hand editing configuration files, especially for web development. Rider fits between VSCode and Visual Studio. It offers an OK UI for a lot of stuff, but the whole product is lightly held together. A lot of the UI is essentially configuration files laid out in rows and columns inside dialog boxes with type in fields. No option specific controls like checkboxes, radio buttons or comboboxes. Microsoft is becoming lazier and greedier. They're not interested in excellence, just in being good enough to make a comfortable profit. VS Code gets the job done with minimal effort on their part. They also get to leverage the millions of well-meaning developers who toil away writing and maintaining VSCode and its plugins for free. I don't think the Visual Studio product line will last for much longer.
I think its all on how someone has learned and is comfortable with. Our team uses macs for years so switching to windows would be just a hassle. I. personally believe mac is the best of both worlds of having the unix underneath and being much easier to manage the system especially when working with docker while having the beatiful apple ui.
What's funny/sad is it seemed like they put a good amount of effort into VS for Mac 2022. It still lagged behind the competitors, but it was on the right track.
It is interesting. I was rooting for it to succeed. Options are good, but unfortunately we just lost an option.
What I find even funnier - I just watched the Maui community standup that went live shortly before this announcement. Between minutes 50 - 55, they defend VS for Mac, stating that the teams were focusing energy toward "quality and stability work", and giving a spiel about how vs code would NOT replace VS for mac. :) Whoops!
Would love to see a video explaining what are the key advantages/disadvantages between VS and VS Code
Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/
@@IAmTimCoreyyes, thank you, i have already done it. by the way, i want to point something out about the suggestion site, it's becoming a little bulky, i am afraid when i post a new suggestion, it will be lost in a very long scroll. These are my thoughts about the site.
Put simply, VS Code has ZERO advantages over VS. For me .Net cross-platform development is dead and I'll be suggesting Flutter to my clients from now on.
Honestly I much prefer rider even on windows….much better code completion and functionality except for things like hot reload which they’re working on.
Thanks for sharing!
except there is no desktop and mobile at all
@@S3Kglitches true…I’ve been in web world that I forgot about desktop lol
To be honest, VS for Mac was way behind VS from the get-go and I never felt like it was improving or will ever catch-up. I'm surprised it has been supported for this long with so little improvement. Another thing of note is, why Microsoft didn't invest much more in the years past to make either VS cross-platform or get VS for Mac closer in feature parity to VS? My frustration is not just about it being retired, it's more about how long it was neglected for (to warrant the retirement).
Actually, there was a big push last year to upgrade VS for Mac by Microsoft. They had made some big strides on it. As for VS being cross-platform, it isn't going to happen. It is too tied into Windows itself. It is built using WPF (which is tied directly into Windows) and it relies on Windows features itself.
That's not true.
Thank you for your insight on the subject and looking at it from a fair perspective, not just "Microsoft is evil" or "Microsoft never does anything wrong". this is an unfortunate situation.
Ive only been working with microsoft products for a year so im relatively new to this but from what i've seen so far is that Microsoft has a pretty good DX (Developer Experience). Normally they take care of your needs as a developer. So hearing there is suddenly 1 year of support left for vs on mac was pretty suprising. especially with no fully complete alternatives. It feels rushed indeed. I guess its a good wakeup call
Thank you for communicating the situation where Microsoft failed to do so. I hope they take your criticism as a Microsoft MVP serious.
You are welcome.
I'm a little confused. I'm working on a MAUI mobile app on a Windows machine in VS for Android devices and was looking at what I need to do to make it work on IOS and to that end even bought a Mac computer and an iPhone in anticipation of my needs. What effect will all of this have on my roadmap?
Basically none. You will just use the MAUI plug-in and the C# Dev Kit plug-in for VS Code on your Mac and you will be good to go.
Thanks Tim@@IAmTimCorey. Hopefully I can figure it out. Your videos have been very helpful to me in learning about both C# and MAUI.
Very thoughtful! Thanks for sharing!
You are welcome.
Good analysis. Today, I finally had enough trying to run visual studio under parallels on my 2017 iMac. Adding a SSD drive helped, but Visual Studio crashes a lot. Too few cores and too little memory.
So, I just ordered an HP with the 13th gen I-7 with 64 Gb memory. Thinking this should do it, and the old Mac should be fine to remote into the new box. The Mac side of the machine is fine, it just didn’t have the horsepower to run VS and a win 11 VM.
Thanks for sharing!
I echo the frustration with .NET MAUI. I have things I want to build but the feature support I need just isn't there yet. So I'm basically not writing a UI right now and just focusing on the internals.
Have you looked at Uno or Avalonia yet?
@@IAmTimCorey I haven't but it's an excellent idea. Video idea maybe?😆
I suspect the number of companies licensing VS:Mac was probably extremely small - and therefore the few people using it were mainly community (free) users. (If you're seriously developing for .NET you're probably using Windows). As you mention, it now makes sense why the C# Dev Kit exists - to placate Mac users (and to a much smaller extent have something to promote in terms of .NET development on Linux).
The quick killing of support within 12 months is a disappointing demonstration of their commitment to their customers. However, due to this exact timing they will not meed to support any Apple platform changes most likely to happen in Sep 2024. (ie. iOS 18, macOS 15)
I do think that the VS Code plug-ins are a really good thing for C# developers as a whole, but the timing is rather rushed.
Hey, I greatly appreciate this kind of context in-depth discussion.
My afterthought is: What is happening in relationship between Microsoft (heavily aiming for open-source, cross-platform, and cloud) and Apple (sorry, my worry is focus on income and therefore protect , fence-in your own domain).
Has MS AP relationship come to a sudden break?
What is really happening in the Mac arena short term and long term?
All of the big tech companies compete with each other. But that competition isn't always directly head-to-head. For instance, Apple is mostly about the hardware. Microsoft is mostly about the software. Amazon is mostly about the cloud. Google is mostly about the search. Facebook is mostly about the social/advertising. So where there is crossover, there can be tension. The tension between Microsoft and Apple used to be higher, back when they each had their walled gardens. Now, that tension is somewhat reduced since Microsoft is more open to working with Apple products/platforms.
Luckily I keep windows for c#. Thanks for the video
You are welcome.
Visual studio, the main IDE for C# development only works on Windows. And here I'm, a Linux user trying to learn C#. Microsoft does it again
You have VS Code, which is from Microsoft. That objectively has better features than VS for Mac ever did, plus VS for Mac didn't work on Linux anyway. Use the C# Dev Kit plug-in and you will be fine.
@IAmTimCorey After watching your video which help clear the .net confusion. I tried learning some C# today using vscode. One thing I didn't like is C# formatter placing opening braces on next line when i hit format document.
Coming from Javascript Community, I want to maintain the K & R style where braces are place on same line of code blocks. I couldn't find a setting in vscode or the dev kit extensions to change this. Sadly prettier doesn't format C# code
You are trying to force one language to look like another language. That's not a great plan. Your formatting will not line up with practically anyone else's on the Internet. We all get to choose how we format our code, but my recommendation is to use the industry-standard formatting unless you have a significant reason to change.
In the case of JavaScript, the reason why the braces start on the same line was in part because of the fact that JavaScript does not rely on semicolons to delineate the end of a logical line of code. The problem with that was that you can return an object or you can return nothing. That caused bugs. For instance, this statement returns nothing:
return
{
name: 'Tim'
}
whereas this statement returns an object:
return {
name: 'Tim'
}
In C#, that wouldn't be a problem because the compiler can rely on the semicolon to tell it when the logical line of code is complete. So this will return a person variable:
return
person;
as will this:
return person;
That's why C# doesn't put the braces on the same line. I would highly recommend you follow different formatting rules in C# than you do in JavaScript. The two are different languages with different quirks. Don't try to make them look the same.
@IAmTimCorey understood. Thank you very much.
I can't say I'm surprised. It was annoying to try and switch back and forth between Mac and Windows VS due to keyboard differences and also because the VS Mac implementation just wasn't up to par with Windows version. Running SQL Server on Mac is already a pain and Entity Framework in VS Mac was very poor. I really wanted it to work, but for whatever reason it just didn't work out. Sad but not a shock.
Yeah, unfortunately that's a common experience.
I was using VS for making some simple MacOS GUI apps. With the utilization of Xcode obviously however I found it pretty easy to work with. I'm curious how this will change that capability..
It should be similar to use VS Code to do the same. At least it should be by August, when VS for Mac gets officially deprecated.
It's disappointing to say the least and is forcing me to look at going the Rider route and kill my VS Pro license when it expires. I'm also looking more at Avalonia instead of Maui because while it's not quite a feature rich yet, it does seem more stable than Maui.
You can also check out Uno when doing your evaluation. It might be a better fit depending on your needs.
Flutter is also fantastic to work with
It could be that MSFT go with this because of insignificant number of users... who knows...
It definitely is a small user base than Visual Studio.
I love C# Dev Kit, but I love VS Code, and I use it every chance I get unless I absolutely must use Visual Studio (i.e. MAUI). I have no idea how well it works on Mac though, and I hate they're pulling such an abrupt change on Mac users, even if I'm not a Mac user. This is a bizarre change to push through so rapidly (Also, RIP Unreal developers using a Mac with VS and C++)
Edit: OH I completely forgot about Rider! 100% agree. If I didn't have VS Code this would be my second choice :D (I use PyCharm and Android Studio a lot)
I have talked to the developers directly to find out more information. It turns out that the .NET MAUI team was also the ones maintaining VS for Mac. By eliminating this product and accelerating their push into VS Code (a different department is handling that), they reduced their workload elsewhere so they could spend more time concentrating on .NET MAUI. The end result, we hope, is that .NET MAUI gets better and Mac developers still have a great option in VS Code (that will also work on Linux and Windows).
They did work really hard to make VS for Mac better over the past year, but even with big strides, no one seemed to care. Their usage did not go up and the satisfaction of users did not increase. So basically, they seemed to be putting a lot of effort into something that very few people cared about.
This is easy for me to say as a Windows/Linux dev, but this is really exciting for VSCode.
I am excited for it too. I'm bummed that we lost an option for Mac, but I'm hopeful that the VS Code option comes on stronger than the Mac option ever was.
Thanks for this very important Informationens!
It's a shame to jump from one to the next technology without thinking to the developers and the companies. No developer has enought time to write a large app every 5 years in a new code! And who is paying for this?
Other thing: Hoping .Net 4.8.1 support will be extended, because the migration to .Net core is a lot of work (database first approach).
Why they don't write a tool for migration? Same reason.
This has nothing to do with code. You can still use the same code. This is about the IDE going away, not .NET. Just the tool to write the code is going away (but you do have other options).
As for .NET Framework support, they have committed to supporting .NET Framework "for as long as Windows exists", so no extension of support is needed. It is still fully supported. There won't be new updates (except security fixes, critical bugs, etc.), but it is supported.
As for writing a migration tool to .NET Core, they did write that tool ( learn.microsoft.com/en-us/dotnet/core/porting/upgrade-assistant-overview ). They put a LOT of work into it. Also, the upgrade to .NET Core (now just .NET) is about as easy as it can possibly be. The pain is mostly about the third-party libraries, etc. that you used. The exception would be if you used something that is now deprecated. There isn't much more they can do, though, to make it easier. Finally, .NET Core has been out and stable (let's call that .NET Core 3) for almost 4 years. That's already a LONG time (from stable, not from when you could have started the upgrade process).
@@IAmTimCorey Thank you very much, for your very good answer and the link!!! I will check this. But for .Net 4.8.1 (not .net core) I found a page, that support ends in 2027. But maybe they changed, because now I can't find again.
Sadly I taken over the project from another developer and the customers needs new features and so I haven't the time to switch to .net core parallel.
These news from you are very valuable! Thanks a lot!
That link was incorrect. They have never announced an end date for .NET Framework support. By the way, it is .NET Framework 4.8.1, not .NET 4.8.1 (semantics mostly, but it does make a difference when you search). .NET refers to .NET Core (so .NET 5, .NET 6, etc. is actually .NET Core).
@@IAmTimCorey Thank you again! You are right, now I can't find these date and I'm happy (it was the 2027-Jan-14, I noticed in scheduler).
REMEMBER even when we use open-source code during development we still charge the client for our work.
Multiplatform development is difficult because each platform has incompatibility & interoperability issues; Microsoft's narrowing its development scope might have been forced upon them by the competition's OS changes...
The big drivers were the time that VS for Mac consumed (from the .NET MAUI team, actually) and the lack of interest from developers.
This was so good to be true .. Honestly, C# on Mac was great
You still can with VS Code or Rider.
@@IAmTimCorey yeaah but meeh. This is kind of discouraging !
Thanks for the info! Will I still be able to pair my windows machine(.net maui app) to my mac once visual studio for mac is not supported anymore?
Yes, you can still publish MAUI apps for Mac from your Windows machine through your Mac.
@@IAmTimCorey Thanks for your quick response!
I only use Mac for development and was thinking of using MAUI; this is a great setback unless MAUI extension for VS Code gets really good.
You can run Windows using Parallels and have a great experience for both, but the .NET MAUI tooling is getting better for VS Code. You also have the option of using Rider. One of the things that is not as commonly known is that the MAUI team was doing a lot of work on VS for Mac. With this no longer part of their responsibilities, they will actually have more bandwidth to work on MAUI.
Give Flutter a try and I doubt you'll find a reason to give .Net any further consideration for cross platform development
I switched to rider when the vs Mac survey asked if I would be bothered if it disappeared….
😆
I hate to call it, but MAUI is DOA. I fear that Blazor is next.
I disagree. This doesn't kill MAUI and MAUI has a lot of good progress in .NET 8. As for Blazor, why would you think it is next? Microsoft is making a HUGE investment in it for .NET 8 and the community is loving it.
@@IAmTimCorey time will tell. .NET (Core) going forward, sure, will be big. I don't see the traction that you're hoping for. Good debate is heathy right? :)
I feel that Blazor (apart from being a good full stack platform) is part of the next generation of JavaScript-free platforms compiled to WASM instead of using JavaScript as a compilation target for running in the browser. It seems inevitable that Google will one day achieve this through Flutter and Dart, and others through Rust for example. In that way, Blazor is actually far ahead of the curve, and very innovative, with room to grow.
@@adaml.5355 time will tell. I appreciate your honest and factual post.
They would have realized that they couldn't target their IDE in Linux ecosystem. FYI we don't have "VS for Linux". Since VS Code already exist for Linux why not enhace it rather than investing dedicatedly on VS for Mac as well.
Yep, that's basically what they did. They just didn't cast the vision very well and they did it rather abruptly.
I use Rider on Mac. Heck if I had WIndows I would likely use Rider there, too.
I'm glad you like it.
The only turnoff for JB Rider is that there is no community version
That is unfortunate, but I understand.
It's a mistake that you keep saying; "we will talk about this later" you can do that once or twice, but the way you do it, it feels that you. That talk about nothing, but postpone all your points to some undefined time in the future. That's not how you make a compellent case for something.
I wasn't saying that I was going to discuss it with the audience later. I said that Microsoft told the MVPs that they would discuss it with us later. I was giving you the information I had at the time, and telling you that even Microsoft didn't seem prepared for this move, which is why they told the MVPs (typically the first to know) that they would tell us more later (at an undefined date at that time).
Is this a retaliation to IOS being removed from VS by Apple?
No, unrelated.
Unless it's absolutely core to the future of WINDOWS, you cannot rely on microsoft as an organisation to keep investing time and effort into it. Anyone investing effort into MAUI apps are making a huge mistake. 10 years from now it'll still be Winforms/WPF.
Same thing for pushing MAUI and retiring X.Forms. Meaning, as a dev I am literally forced to migrate my solution to that unstable and raw piece of... technology so to say.
p.s. i mean, maui does have some cool features. but the rush given its current state seems just so bizzar.
That's the frustration. I have talked to the developers directly to find out more information. It turns out that the .NET MAUI team was also the ones maintaining VS for Mac. By eliminating this product and accelerating their push into VS Code (a different department is handling that), they reduced their workload elsewhere so they could spend more time concentrating on .NET MAUI. The end result, we hope, is that .NET MAUI gets better and Mac developers still have a great option in VS Code (that will also work on Linux and Windows).
@@IAmTimCorey good for them. And yet, as their user I am struggling with even launching or debugging my solution under VSCode on macos - instead of actually building my thing. Even breaking changes by apple (with objc, swift and xcode) were less painful (or so it seems to me).
Also no obvious reason why the team had to rewrite the X.Forms into MAUI (again, with a lot of rush and hugely degraded quality).
I'm not defending the move here, but the reason why they moved off of Xamarin Forms to .NET MAUI was because they wanted to unify .NET into one language instead of multiple languages that were slightly different. There was a LOT of work that went into making things work between "regular" C# and Xamarin (and the .NET Framework). They are trying to leave all of that behind in order to have one unified platform for everything. Some of these decisions are corporate-led.
@@IAmTimCorey but for iOS and Android they still rely on the same binding project and native libs bridge built by Miguel and his team back in the day (before acquisition by MS). So those diffs between "regular" and Xamarin are still in place under the hood, even with the new branding.
Again, not that i am opposing these changes (ok, i do just a tiny bit) and even like some of them. Except the "too fast, too early, too raw, too forcefully"part.
@@IAmTimCorey honestly, my personal experience with vscode has been anything but great so far.
That "infinitely flexible plug-in system" sounds promising but feels rather "jack of all trades, master of none". Again, we have an example of eclipse and netbeans that are at best mediocre (even for java as their primary language).
But yeah, eventually mobile devs will have to adapt (and maybe even be calling vscode great due to its monopoly and our Stockholm syndrome)
But that's just me. If you honestly find vscode great - good for you.
Do this impact for VSCode for MAC ?
It actually makes it better, since more effort is being invested into VS Code because of this change. Not only that, VS Code is cross platform so these changes will also benefit Windows and Linux users too.
39:14 MAUI - exactly the sigh and haha yes they are more talking than doing and that hasn't changed so far
Yeah, it is unfortunate.
Hi, has anyone had the chance to use the VS code extensions and do you feel like it is a viable option?
It is still quirky and not fully baked, but it is definitely an option. Over the next year, it should get even better.
They're total crap. Can't even do basic stuff like manage NuGet packages in VS Code
I believe a 4th solution is to pay some money and get Jetbrains Rider for Mac
I mentioned that in the video.
I’ve been waiting for the day when I can go all in Mac as a .NET developer for ten years now. We have come a long way but this is not a step in the right direction. For me the hardware is the biggest issue. My workcomputer is a Lenovo T16S. Good on paper but compare to my private M1pro MacBook Pro and M1 MacBook Air it feels like a old plastic garbage laptop. Battery is terrible, fans spinns like crazy, and when used with a mouse on the side it burns my hand.
So, I talked to the .NET MAUI team directly about this. It turns out that the .NET MAUI team was also responsible for making updates to VS for Mac. That was causing problems with their productivity. They made a big push to make VS for Mac better, but their metrics showed that people didn't really care. There was no increase in adoption and there wasn't a big increase in user satisfaction. That's why they went the route of VS Code. While that does cause a transition issue, which I talked about in this video, it does mean a better option in the future. It also allows the .NET MAUI team to focus on making the necessary changes to .NET MAUI to make it a better product.
It seems Microsoft did the same old way of the big EEE: Embrace (Xamarin) - Extend (to MAUI) - Extinguish (remove cross platform). Removing cross platform will happen, guys, don't fool yourselves, or it will be actually awful/low quality for macOS. BTW, for Java it seems the cross platform quality is the same on all 3 major OSes: win, mac, linux. Why can't a multi billion company like M$ do it also?
The EEE thought is something that doesn't apply except when you look back after they complete all three E's. Otherwise, you are just predicting failure. Remember that the first two things can be really good. Here's an example: Microsoft bought GitHub (embrace), they added new features like improved Actions, etc. (extend), so now they are going to extinguish it? Nah. Embrace and Extend aren't bad things. They are good things.
As for removing cross-platform, that's exactly opposite of the direction Microsoft has been going for the past 6+ years. They've been working to be more and more cross-platform. Now whether MAUI succeeds or fails, Microsoft is trying to make it work. And shutting down VS for Mac isn't an indicator that they are getting away from Mac. In fact, they've doubled down on their effort with VS Code (which also works on Linux, by the way).
By the way, have you looked at Uno or Avalonia? They've been working on Mac, Linux, Windows, Web, iOS, and Android for years.
@@IAmTimCorey If it was about other company I would get it, the first 2 E would be ok. but considering it's Microsoft.. is doing this first 2 to actually destroy, get control of rivals. What action did people do when they bought github? fear, that microsoft would eventually destroy it. Sorry about your optimism for microsoft, but this is what they do for decades. I tried to believe they changed, I wanted to learn C# and MAUI and now I discovered they discontinued their IDE on macos. this is a clear indicator of their time and quality for macos, a cross platform platform from a company that doesn't provide their IDE on the OSes is targeting means they don't walk the talk
That's just not what happened, though. Yes, they could have handled their retirement of VS for Mac better. However, do you know where VS for Mac came from? It was rebranded from Xamarin Studio, which was based upon MonoDevelop. Have you ever seen applications built on MonoDevelop? That system was a hacky workaround to get C# to work on other platforms. VS for Mac was built on that crumbling foundation. It was full of messy code-rot, systems that could not be updated, and weird workarounds. It was really expensive to update, and no one cared about it. They spent most of a year bringing it up to speed and adding new features. The resulting polling showed that the level of care people had for it didn't change and the usage did not go up. So, Microsoft killed it.
Now a reasonable person might ask why they didn't just rewrite it and do it better, even if it would be incredibly expensive. And the answer is, they did. They wrote it as a series of plug-ins for VS Code. So they showed that they actually had a strong commitment to Mac (and Linux) by that move. Again, I don't agree with HOW they did it, but the end result is what we want.
By the way, on the GitHub issue, I think you are proving my point. Yes, there was a lot of fear about the transition. And then what happened? Were those fears founded? No. Has Microsoft proved themselves to be good stewards of GitHub? Yep. Here are just a few quick examples: When Microsoft took over GitHub, private repos were a paid-only feature (I think you might have gotten one or two for free, but that was it). Now private repos are free. Next, GitHub Actions was a sub-standard CI/CD system that barely worked. Microsoft took most of their team from Azure DevOps and moved them over to the Actions team. Now GitHub Actions leads the way in CI/CD and then Microsoft pulls the features over into Azure DevOps. Actions are also free up to a certain limit. Finally, Microsoft made a huge investment in GitHub CoPilot. Then they made it really cheap for individual developers ($100/year) and made it free for students, teachers, and open source maintainers. So while the fear of what would happen when Microsoft took over GitHub was understandable, Microsoft proved those fears to be unfounded. Using the initial fear as justification that Microsoft is bad is a bad take.
7:01 required to write good things and nothing to say. exactly.
Yeah, it wasn't great.
This is why it is very risky to use Microsoft development tech. It only appears a couple of years then they scrap it and replace it with something different where the investment will be gone as well. It always happen. Microsoft has never created anything that last long. except for C# and Visual studio.
Didn't you just disprove your point with that last statement? C# has been around and supported for over 20 years. Microsoft Office files from 25 years ago can still be opened today in Office. Windows can still run applications from 20 years ago. Microsoft is actually one of the most stable companies in the world for tech.
@@IAmTimCorey Been using Microsoft for 30 years maybe even longer than you do. Had invested time and money in ActiveX Document , ActiveX Controls Silverlight, DCOM and the list goes on . All gone now. Be very careful using Microsoft tech it’s here now gone in 2 years .
So are parallel ports, serial ports, floppy disks, etc. Technology has to evolve with the times. We aren't using Windows 95 and Internet Explorer anymore. Things have to evolve. Of the things you mentioned, those things were mostly deprecated because the industry no longer supported them because they were either no longer needed or were wildly unsafe.
The situation doesn't inspire confidence. Maui doesn't have live preview, and hot reload is pretty bad, even on windows. Compared to their established tech, it's been terrible. The connection between devices, even phones with a usb connection is constantly lost. In contrast, in under an hour I was able register a dev account, get vs setup, and then deploy demos to an xbox. It's been a few weeks now, and I haven't had any complaints.
What I would like to see is ms create a native port of vs for mac. Not counting on that though.
Everything I see from ms is saying maui is the direction they're going in, but they don't have a real plan. They're still trying to figure it out for themselves. Dumping vs for mac is a huge step backwards when there's nothing indicated to replace it.
So, I talked to the MAUI team about this. It turns out that the MAUI team was the one also building VS for Mac. They were doing split duties as MAUI developers and VS for Mac developers. They did do a push to make VS for Mac better over the past year and while it did improve dramatically, the usage of it did not improve. So, Microsoft decided to eliminate it since they had the VS Code option coming (and is now here) so that the MAUI team could spend more time on MAUI. So this is actually good news for MAUI.
@@IAmTimCorey Thanks for the reply, Tim. It's good to know maui will be getting the attention it needs.
I suggest Electron, React Native, React Web. The truth is, MAUI can’t compete with what’s already there and battle tested. Standardize your UI with React and do your backend in whatever you want. The only alternative that I’d truly consider is native mobile development in Kotlin and Swift, if mobile is truly the most important platform AND you require some native performance that you can’t achieve with React Native.
Is WinUI3 not long lasting?
No, it isn't.
@@IAmTimCoreyHow do you know that? The new File Explorer coming in Windows 11 is based on WinUI3.
MAUI depends on WinUI3.
WinUI3 removes the tight dependencies on Windows so it can be updated without a new Windows release.
I have used WinUI3 successfully for almost 2 years.
I love c# and Switched a long time ago to vscode already, the 3rd party extensions are fine enough. I recommend getting used to it it’s totally worth it.
Thanks for sharing!
Bring it on :-)
Not a fan, huh?
I think everything will be vscode eventually, open source is just cheaper to maintain long term
It could be. It has a long way to go to catch Visual Studio, though.
"Cheaper to maintain" is not what makes them money if there are no licence fees to collect.
@@MicroFourThirdsCorner You can sell extensions. Untill those ge intergrated into the core open source than you make new extensions. The concept of static Application to build your company around is so old and will become increasingly difficult as you have to support and maintain more. It best to build sell and let communty maintain and use your popularity and reach as a marketing /Investment pitch
3:21 but VisualStudio for Mac is based on monodevelop... which is also cross-platform. Also who even needs the vscode on windows when visual studio is available there in its full glory?
So basically MS is just ruining the macos IDE and leaves two choices
1. suffering with vscode
2. migrate to windows
Such a spit in the face to all xamarin (now maui) devs...
There is a reasoning behind it, even if it wasn't handled correctly. Hopefully, VS Code gets better over the next year. Also, one other point that the developers brought up was that they had spent the previous year making big strides in VS for Mac, yet no one seemed to care. There was no new engagement and the overall usage was low.
How this gone reflect mastercourse learners?
It doesn't.
@@IAmTimCorey That's great. I just started your course and trying developing for both os. Now I know I have to concentrate only windows. Thanks for responding.
I'm working on a Xamarin Forms (yeah, no MAUI) and honestly, working on VS Mac just sucks.
Hopefully VS Code makes life better for you.
The frustrating thing for me is the leaps and bounds Microsoft have made with .NET Core, compared to the Java ecosystem for example. .NET Core generally outperforms Java, but if you have a team of developers on a mixture of Windows/Mac machines, you're far more likely to go with Java.
That opinion has been changing for the past few years, though. It takes time, though, to overcome inertia.
@@IAmTimCorey I guess I'm mainly referring to the IDEs and setup. To work on .NET projects in Mac, you're either going to have to shell out for a bunch of Rider licences or the VS Code dev kit licences you mentioned. As opposed to just using something like IntelliJ which is free for the most part.
yeah everything has a price, even if i watched this seems free - but i'm not, i'm spending time to watch it.
Time is money.
Back to Rider it is then.
It is a good option.
Not sure how many Mac and Linux uses want to use C#. There are so many better choices for them. Java, Python, JavaScript, Golang, Swift for Mac, C/C++, Rust,. MSFT kind of knows that.
The number is growing, not shrinking. For instance, you can now use VS Code to develop on the web or in a container. Different people have different needs. What they don't want is to be told that the machine they choose to use for the rest of their daily activities isn't usable for one activity. As for "better choices", that's a very subjective argument and not really an effective one.
I am a Mac user. When I first started learning C#, I did not know that there was such a machine discrepancy. As someone who was excited to learn how to build all the cool things that I would see presented in rollouts, it was disheartening to learn that, because of my laptop, I could not do or learn the same things. To have to purchase a new laptop just to learn how to code and test out features is crazy to me. However, as my journey continues, I find that what's best for me is coding in a way that does not require an IDE. So using more browser-based options. Coding is my hobby, not my job. So the idea of spending hundreds to thousands of dollars just to learn how to code and use features is just not worth the investment to me. @@IAmTimCorey
but that's exactly what Apple does. You want to develop for iPhone you need to buy a Mac.
@@beater6967 True, but other than WFP, I can do everything on a Mac I can do on Windows and more, and if I need Windows there's a VM for that :)
I like C# and really wanted to see VS be a success on the Mac. Unfortunately, between the severe feature deficit and needing to use a Windows laptop for my day job (in VS) it was never a good enough option even for my personal projects.
Let's talk the truth. Who was using it? nobody! even mac users had Windows VM on their laptops.
Not nobody. Less, for sure, but definitely not nobody. For instance, it was the only way to build iOS apps using .NET MAUI or Xamarin. You can't build or test Mac/iOS apps on Windows. You need a Mac for that.
@@IAmTimCorey Can't you build/test .NET MAUI on Windows using a Mac device for the iOS part? Since your Windows VM is on Mac Device, what stops you to setup an remote debugger? (Sorry im not familiar with .NET MAUI)
Hope MAUI would not be another UWP.... I write this comment from Lumia 1520...
Me too.
Considering the Xamarin.Forms deprecation (and refusal to fix even critical issues), forcing the MAUI migration (which has been very painful btw), and NOW they decided to take away the single tool that at least allowed us to adopt MAUI or migrate to it? Surely Microsoft knows how bad this will be for MAUI and its future, surely they're not this stupid? VSCode can not, and will not, ever replace a full fledged IDE like Visual Studio for Mac 2022, we've all seen what a nightmare the official C++ extension for VSCode is, and now their new C# extension will supposedly replace the entirety of VS4Mac? Yeah, not going to happen, ever. MS is destroying itself, its products, its future and its developers/customers.
It turns out that the .NET MAUI team was responsible for VS for Mac as well. That caused a lot of split work and reduced ability to get things done. This change actually frees them up to do more work. They did work hard to update VS for Mac over the past year, but their metrics showed that basically, no one cared. As a result, they decided to stop investing more into something that was not going to get better and was actively taking time away from what they needed to do. As for VS Code replacing VS for Mac, it won't happen immediately, but it is happening. The C# extensions have come a long way in just a few short months. They still have a ways to go, but they have made significant progress.
Killing MAUI in 3..2..1..
I don't think so. They don't have an alternative for Mobile or Mac desktop.
@@IAmTimCorey I think they are going to do it anyway, but with a silver lining on the horizon: MauiBlazor hybrid.
Why? For the exact same reasons you outlined in your episode: To cut your losses and make more money.
Let's be honest: Even with the 'quality' offensive they announced for .Net 8, Maui still introduces more regressions than it solves bugs in every new Release Candidate.
By switching to a WebView in the UI department they drastically reduce the testing overhead and can still serve all target OS.
Maui in its classic form with the "native controls everywhere"-approach is as good as dead.
Are they trying to push developers back to Windows OS since many are moving out of it?
No. They aren't moving off of Mac. Instead, they are going deeper into Mac/Linux with one tool rather than trying to spread that effort over two tools (one of which doesn't work on Linux).
Don't think .NET is going away, but you do have to question it's future. I watched the video again on Silverlight. Every reason you gave why it failed are the same exact reasons .NET MAUI will fail. Mainly, it relies on cooperation from other companies to succeed. Appple doesn't care about .NET and MS, are you kidding me? The other problem with MAUI is that it's like chasing a constantly moving target. How can you ever possibly keep up especially with updates and changes coming from Android, iOS/Mac, and now who even knows which direction Windows is going?
I can see how the two look similar, but there are actually rather significant differences. With Silverlight, the browsers had to allow a significant amount of power to be given to plug-ins. When they reduced how much a plug-in could do, they effectively killed Flash and Silverlight. With MAUI, the .NET code is converted to native code. There isn't a good way for Apple or Android to stop what Microsoft is doing. Plus, they aren't the only ones that are doing it.
Hey Tim, I was thinking more in terms of what they allow access to during the development stage. I mean, If MAUI can't get the support of Apple to provide access for certain features on the Mac, then the MAUI app becomes very limited in what it can do. Is this correct or am I missing something?
MAUI converts the C# over to the native language of the platform. So when you deploy a .NET MAUI app, you are actually deploying a native app. That means there is nothing Apple could really do to stop Microsoft from doing that. They aren't relying on a shim or wrapper maintained by Apple.
MAUI is in some danger here, Microsoft spearheading React Native desktop so they just might start recommending that for mobile too.
So I talked to the MAUI developers and got some additional information. It turns out that the MAUI developers also had to support Visual Studio for Mac. They were doing to work of updating it. Now, they actually have more time to devote to MAUI, which actually improves MAUI's chances of being a success.
Why would you not use React, honestly? I’m searching for justification for MAUI.
Sounds good to me. Focus on Visual Studio for Windows instead of wasting time on Mac ;) Obviously not making money and not worth the time or effort thus far.
I'm not a big fan of losing options. Hopefully, the VS Code option will be even better, though.
Next to retire … MAUI
I don't think so because they don't have an alternative for Mac desktop or mobile.
vs give up mac?
Nope.
VS Mac is Lego, VS Windows is Knex & VSCode is Playmobil.
What does that even mean ?
Means he doesn’t know how to use Lego
SilverLight II: The self-sabotage continues! Visual Studio for the Mac was the only major product written in Xamarin, the predecessor to MAUI. They could have at least continued its development by porting it to MAUI for dogfooding purposes. This is going to stop any organization from putting their eggs in Microsoft's basket.
I think you've misjudged the situation.
MS should've shelved VS years ago...
Just make free and paid extensions for VS Code and move on to the open source future.
VS on Windows is a masterpiece, VS Code has a very different audience.
There is a lot more to Visual Studio than will ever be in VS Code.
Code is like a kiddy environment
VS Code is the number one editor on the planet, so no, not just a kiddy environment.
@@IAmTimCorey while I agree that it really is a great tool, I believe it became #1 because of publicity and availability on virtually any platform. But not because it is the best one (though it is great and one of the best).
The best option is... get a real computer.
Not really constructive. Have you ever tried compiling/debugging/deploying a .NET MAUI app to Mac or iOS from Windows? You need a Mac for that.
@@IAmTimCorey I'm just busting chops man. Don't take me too seriously. I probably should have put a wink emoji or something as a clue since this is the internet.
And no, I haven't tried that. I only make programs for real operating systems ;) jk
Seriously though, I am building a MAUI app and I haven't tried building it for iOS, so I think I'll try it out so I can see what you mean. Thanks for all the great content throughout the years man. I've learned a lot from you and continue to do so. I didn't mean to knock the video.
I'm sure they are retiring VS for Mac because its hard to maintain and think they just will make Visual Studio work on Mac in the near future. There are too many developers using mac that aren't going to settle with VS Code as the new IDE. Personally i prefer Rider, but the money for Microsoft are bound to Azure. Getting people to develop applications that run in Azure with connections to Azure AD (Entra ID) + Sass applications including office 365 is their priority. To make this happen the developer tooling they provide must be sorted out. Cross platform. When Jetbrains can do it, then sure as heck Microsoft should be able to do it.
I’m positive. I just talked to the team last week about it. The number of Mac developers is actually quite low for C#. My recommendation would be to use Rider if you can. VS Code will be an option, but not at the same level as VS for Mac was.
MS have a history of promoting a product, and then kicking the devs that supported and went through the pain in the teeth. A year of support is zero consolation and MS owe everyone an APOLOGY for wasting everyones time. How many hundreds of thousands of hours have been wasted with a sub-par VS MAC when behind the scenes they were going to can it anyway. I understand now why VS MAC was such a sh**-show. I will never trust MS again. Maui has a bright future? Yeah right. How can we trust MS to tell the truth.
I think this is a bit of an overreaction. How does providing you with a free IDE on Mac for years "waste your time"? And you won't trust Microsoft again because why? Because they killed VS for Mac? If you stopped trusting companies because they killed products, then you can't trust Google, Apple, Amazon, etc. Heck, Taco Bell got rid of the Choco Taco, so we probably need to stop trusting them as well. 😆 Seriously, though, this is frustrating, but I don't think it is nearly as dire as you are trying to make it.
@@IAmTimCoreyIt's pretty dire! This is SilverLight II! Microsoft just burned their bridges. They've further eroded the little trust developers have in them. Most smart developers will learn to stay clear of putting their eggs in Microsoft's flaming suicide basket. They could have at least waited until MAUI gained some traction. Bad decisions like this one makes me wonder if legalization in Seattle was a wise move.
Bob, that's a really big over-reaction. My guess is that you don't even use VS for Mac. However, if you did, have you tried VS Code with the plug-ins? It is pretty good. It isn't perfect, but they've got a year to get it closer. Plus, you can use Rider if you want or you can use full Visual Studio. Everything isn't the end of the world. If you keep saying it often enough, people stop listening to you.
@@IAmTimCorey I hear you, but here is the thing. I have wasted days, probably weeks, deleting bin and obj folders and then rebuilding purely to get a build that works. 1000's of times. Had to jump through constant hoops and workarounds to get an aab build working, whilst these frustrating issues are simply "closed" on Github. Have had to deal with the endless asset not found error on Android. The broken build environment each time there is an iOS update. And and and and! I am a dev and things need to work, how is not being able to develop and push out a build and rather spending DAYS messing around with a "free" IDE trying to push out builds that are simply huge not a waste of my time? This was promoted as a cross-platform IDE, MAUI is supposed to work, and yet it is nothing short of a cluster F. I have been working with Mono since the days of Miguel and the Novell thing, through the Xamarin transition and now to what is MAUI. And it has been such an inherently unstable, constantly breaking, complete waste of time I am finally throwing in the towel. It IS dire, and I can no longer trust MS to not waste my time with their next "free update" - I would happily pay for something that works, but I cannot trust MS to deliver that. I'm moving on. And don't try and tell me this is an overreaction. This broken tooling and MAUI has cost me a small fortune.
@@IAmTimCorey Yes, Visual Studio for the Mac sucks. It, however, improved to become faster than its Windows counterpart. For .NET development, the recent 2022 is my go to IDE. Developing .NET applications using VS Code and plugins is a pain in the ass. It's a thin veneer over the command-line. All the ugly configuration stuff IDEs simplify for us percolates to the surface in VS Code. Would rather manually edit configuration files, or check off a few boxes from a dialog box? To be fair, however, Visual Studio requires hand editing configuration files, especially for web development. Rider fits between VSCode and Visual Studio. It offers an OK UI for a lot of stuff, but the whole product is lightly held together. A lot of the UI is essentially configuration files laid out in rows and columns inside dialog boxes with type in fields. No option specific controls like checkboxes, radio buttons or comboboxes.
Microsoft is becoming lazier and greedier. They're not interested in excellence, just in being good enough to make a comfortable profit. VS Code gets the job done with minimal effort on their part. They also get to leverage the millions of well-meaning developers who toil away writing and maintaining VSCode and its plugins for free. I don't think the Visual Studio product line will last for much longer.
Well mac sucks soooo
I think its all on how someone has learned and is comfortable with. Our team uses macs for years so switching to windows would be just a hassle. I. personally believe mac is the best of both worlds of having the unix underneath and being much easier to manage the system especially when working with docker while having the beatiful apple ui.
I wonder how macos users can work comfortable with Finder without possibility to copy/paste catalog's path
I'm not a huge fan of Mac either, but I am a huge fan of options. Unfortunately, we just lost an option.