Monday, August 17, 2015

Microsoft WinObjC

Salmaan Ahmed (via Daniel Jalkut):

Today I’m going to take you a bit deeper on what’s in the Windows Bridge for iOS (previously referred to as ‘Project Islandwood’), how it enables iOS developers to bring their code and skills to Windows, and why we’ve decided to make this particular Windows bridge available as open-source on GitHub.


Our goal with the iOS bridge has never been simply to run iOS apps on Windows. Rather, our goal is to help you write great Windows apps that use as much of your existing code and knowledge as possible. We will, of course, continue to work to expand our iOS compatibility, but it’s important to note that there is much more you can do with the bridge.

Previously: Microsoft’s New Middleware: Islandwood and Astoria.

Craig Hockenberry:

This work was based on our own Chameleon Project, written by Sean Heber.

Christopher Lloyd:

So far I know of 3 iOS compatibility layers built with Cocotron: Inception Mobile (now MS), Apportable and Stella

Guy English:

Looks like Microsoft played fast and loose with licenses of open source projects they used for WinObjC. They should work hard to fix this.

Peter Steinberger:

WinObjC’s source code is well worth a read. Some parts are super interesting, others just plain scary.

Ari Weinstein:

WinObjC is chock full of crude shortcuts, questionable design decisions, and ridiculously incomplete implementations.

Landon Fuller:

When including an actual copy of arc4random involves borrowing a single .c from the BSDs, there’s really no excuse

Mike Ash:

That’s the cryptographic equivalent of leaving brown liquid high-level nuclear waste sitting around in sealed Coke bottles.

Logan Collins (compare with Apple’s):

Ladies and Gents, WinObjC’s implementation of the (supposedly) thread-safe dispatch_once.

Frank A. Krueger:

Ouch the NSLayoutConstraint solver is pretty weak :-( Single-pass, only 2 levels of priority. Still fun to read.

Rosyna Keller:

This Objective-C bridge Microsoft released the source to is so bizarre. Many things not implemented (CFUUID), strange coding conventions…

Some of it just makes you want to curl into a ball and cry. Also, check!

Tim Dierks:

WTF code from Microsoft. None of these are correct; some are just crazy.

Brian Webster:

Soooo Microsoft basically reimplemented Objective-C synthesized accessors in C++?

2 Comments RSS · Twitter

Thank you. It's so sad and funny :-) By the way, embed tweets will look better.

After like ~15 minutes of examinaing WinObjC's code base, I've been able to open 5 distinct issues:

This is horribly, horribly wrong.

Leave a Comment