Is the new MBP Pro M1 good for .NET Core and Angular development?

Hi Guys, I'm approaching to buy a new MBP 13 to replace my Early 2013 MPB 15.
Most of the time, I'm develop web applications based on .NET Core for webapis and Angular for frontend.
My actual equipment is not enough in terms of RAM so Intel Based Mac with 32GB shall fit enough.
But, newly M1 bumped my brain, and I'm curious to know more about it's performance in my daily job routine.
Is there anyone that used it in a scenario like mine?
Thanks!
Apple Silicon has Rosetta 2 translation which is what you'll be using 99% of time for next few years. This means you'll rely on its quality, original Rosetta was infamous for how bad it was, this one is integrated directly in M1 chip so "should be better". I wouldn't place my bets on it.

With .net core you'll likely be reliant on emulation for foreseeable future. I don't expect performance issues:
  • Latest MBP 16 (9750H) in Geekbench gets 1000-1100 in single core

  • Apple Silicon gets 800-1700 in single core

One take away is some software will run much quicker, some much slower. You should generally expect compatibility issues with existing software. Microsoft had to adjust its Office suite to work properly on Rosetta2, you will most likely need to live with glitches while working on your software. Some software may not work at all.

Most importantly your software performance and memory profile may wary. Some code may work quickly on your laptop and slow on AWS/Azure or wherever you deploy and vice versa. This may also affect your ability to analyse dumps from live server making live debugging more difficult (this can always be solved with getting another dedicated x86 machine in cloud I guess).

Common sense says it is probably more future proof to get M1 instead of Intel which is going away. Microsoft is also pushing toward ARM Windows 10 so we may see big adoption in next few years. If you can live with early adopter inconveniences then get M1.
i'll see in a couple of days once it arrives, but i'm not planning or expecting to replace my intel-based mac with the M1 anytime soon.

docker is currently 🙅‍♂️
vs code is 🤷‍♂️
.net probably 🐢

maybe in a year or so things would be a lot better, but i doubt day 1 would allow you to get your work done solely on the M1
A bit late on this but I'm using an M1 MB Air for .Net Core development with minimal issues. I'm using VS Studio Mac and the #1 problem is that DotNet crashes in debug mode. This is the biggest issue but thankfully, I don't write buggy code (ha ha!).

Seriously though, that crash is a pain but it hasn't slowed me down development wise that much.

We are doing Vue and DotNet Core and it's gone smoothly otherwise.

The other issue is virtualization. You can't use Virtual Box on it - so I switched to Parallels but even with Parallels right now, you can only use the ARM-based Windows. This does work well but does limit you somewhat (no ODBC for example)

So right now, I'm using both my M1 AND my MBP 2017 for development and testing. Both have 16GB RAM.

I'm hoping they fix the crash as that will let me move development fully onto the M1.



If you are willing to run Microsoft softwares for example Visual Studio .Net Core then it does not work . I have sent almost $3000 dollar to buy this customized Apple Big Sur laptop with M1 chip on it . I have spent countless hours to fix the problem but look like Apple Rosetta 2 has some issue and allowing visual studio app to run. I wish can return this laptop back to them as its no use for me.

Lost $3k

Steps :

  1. Install .Net Core
  2. create new Web Application
  3. Run

you will get promoted with dialog box for below errors:

rocess: dotnet [687] Path: /usr/local/share/dotnet/dotnet Identifier: dotnet Version: 0 Code Type: X86-64 (Translated) Parent Process: vsdbg-ui [686] Responsible: VisualStudio [501] User ID: 501

Date/Time: 2021-10-08 14:32:46.229 -0700 OS Version: macOS 11.1 (20C69) Report Version: 12 Anonymous UUID: 3D8B8BCC-D71F-C3E9-7DC4-D785931DE72B

Time Awake Since Boot: 250 seconds

System Integrity Protection: enabled

Crashed Thread: 23

Exception Type: EXC_BAD_INSTRUCTION (SIGILL) Exception Codes: 0x0000000000000001, 0x0000000000000000 Exception Note: EXC_CORPSE_NOTIFY

Termination Signal: Illegal instruction: 4 Termination Reason: Namespace SIGNAL, Code 0x4 Terminating Process: exc handler [687]

Thread 0:: Dispatch queue: com.apple.main-thread 0 0x000000010334c63c ??? 1 0x0000000103044d18 ??? 2 libcoreclr.dylib 0x000000010b7f9fdd ThePreStubPatchLabel + 1 3 libcoreclr.dylib 0x000000010b7f9f8b ThePreStub + 92 4 ??? 0x0000000111ebb2cb ??? 5 ??? 0x0000000111ebb10e ??? 6 ??? 0x00000001133ef8fb ??? 7 ??? 0x00000001133eeede ??? 8 ??? 0x00000001133eec03 ??? 9 ??? 0x00000001133ed88f ??? 10 ??? 0x00000001131c9a0b ??? 11 ??? 0x00000001131c8c6f ??? 12 ??? 0x00000001131c82d4 ??? 13 ??? 0x00000001132757b8 ??? 14 ??? 0x00000001129d9301 ??? 15 ??? 0x000000011327527b ??? 16 ??? 0x000000011330554a ??? 17 ??? 0x0000000112956c84 ??? 18 ??? 0x000000011253a23d ??? 19 ??? 0x0000000112539dd9 ??? 20 ??? 0x0000000112345854 ??? 21 libcoreclr.dylib 0x000000010b7f9359 CallDescrWorkerInternal + 124 22 libcoreclr.dylib 0x000000010b64d52f MethodDescCallSite::CallTargetWorker(unsigned long const*, unsigned long*, int) + 1519 23 libcoreclr.dylib 0x000000010b528c0a RunMain(MethodDesc*, short, int*, PtrArray**) + 746 24 libcoreclr.dylib 0x000000010b528f43 Assembly::ExecuteMainMethod(PtrArray**, int) + 387 25 libcoreclr.dylib 0x000000010b565a7d CorHost2::ExecuteAssembly(unsigned int, char16_t const*, int, char16_t const**, unsigned int*) + 509 26 libcoreclr.dylib 0x000000010b512472 coreclr_execute_assembly + 242 27 libhostpolicy.dylib 0x000000010b3f2bd3 run_app_for_context(hostpolicy_context_t const&, int, char const**) + 1443 28 libhostpolicy.dylib 0x000000010b3f3eda corehost_main + 234 29 libhostfxr.dylib 0x000000010b303a11 fx_muxer_t::handle_exec_host_command(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, host_startup_info_t const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, std::__1::unordered_map<known_options, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > >, known_options_hash, std::__1::equal_to<known_options>, std::__1::allocator<std::__1::pair<known_options const, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > > > > > const&, int, char const**, int, host_mode_t, char*, int, int*) + 1281

How are the latest developments in regards to the issue you have been facing when using .NET?

I have been thinking in buying a Mac Book Pro 14' (would be my return to an apple system since the iMAC era in the 90s) to do .NET and Angular development but not fully sure and after seeing a post from 3 months ago saying rosseta just crashes when creating an app does make me fell I should look for other alternatives...

Did any of you use rider does it work well?

Is the new MBP Pro M1 good for .NET Core and Angular development?
 
 
Q