Microsoft and his Cross-Platform Commitment

I would like to formulate my Rant of today in a positive way: Microsoft remains true to itself: Embrace, extend, and extinguish.

If you don’t know the source:

Nice try to lure developers with .NET Core, to write cross-platform applications and now let it all run back to Windows as we clearly see on BUILD 2018. I don’t want to know how many lemmings have fallen into the pit full of technical debts. And since this term is unknown to many newly graduated business yuppies in decision-maker positions:

I am glad to have XOJO as a real cross–platform-solution for business apps.
Now get back to work!

I would never trust Apple or Microsoft promoting or even selling a cross-platform dev tool …

[quote=386697:@Jean-Yves Pochez]I would never trust Apple or Microsoft promoting or even selling a cross-platform dev tool …[/quote]And even for Xojo it’s hard to deliver same quality for multiple platforms.

Well having worked with .Net Core on a Mac to build business services I’d have to say it is an excellent start to the world of micro services and without it MS would be out of the game. Corporates are moving away from building cross platform applications to building container based solutions and while the technology is impressive, it is the overall cost savings that drives it.

Docker is the main player in the container world, it is open source and all the main players are there, including MS. It is a paradigm shift in terms of testing, deployment, security and scalability. MS have had to put a lot of effort into getting docker to run on their Windows servers because it is based on a Linux kernel and .Net Core is a key part of making it all happen for .Net developers in the corporate environment.

I can deploy a standalone XOJO web application to a docker container and then spin that container up on a Raspberry PI in a couple of minutes without ever compiling it for the Raspberry PI, that is the power of container based solutions.

Nice to see you back here @Tomas Jakobs.
You have been quite busy the last 6 months, haven’t you?

And that discussion is a serious Webinar in itself. You and @Paul Lefebvre should get together on that one.

Code in the container still has to be compiled for the running target. Containers use the host OS and kernel. You’d need to make two containers if you want one for x64 and ARM.

Not the case

This is the first I have heard of this “technology”… but at first blush I can’t see how you could write an app for one platform and have some “container” allow it to run on another… At best it would have to be some kind of “emulator”, since the instruction set and hardware interface requirements of macOS differ greatly from Windows (both Intel sure, but hardware is different)… ARM is differnt still… If an “emulator” then there would be huge performance hits… if the container was platform oriented and the App was P-Code, then that is something else entirely… But it sounds like what you are describing is a “Compile Anywhere / Run Anywhere”…

I’d consider myself a Docker expert on Linux as I’ve built large orchestration systems with it. Docker on Linux uses Linux kernel name spacing and each container uses the host kernel. It’s not possible to run code compiled for a different architecture using Linux containers or Docker. I’m not certain about portability on Windows as containers can be thin or full VMs using Hyper-V. Even then Hyper-V doesn’t emulate ARM.

Now let’s say you’re running PHP or Node in containers. Certainly that runs on ARM if the container image has the scripting environment installed. Static binaries though do need to match the host platform.

Love the concept of “technical debt”, which sad to say, I’m all too familiar with :slight_smile:

Very nice illustration here showing the difference between the docker and VM approaches.

Thanks… after my above post I went surfing… didn’t find the particuular link you provided, but a few with similar information…

The growth curve shown at the bottom is totally bogus! It is so bad that I would call it fraudulent.

Instead of the exponential growth shown it is actually slowing down and approaching saturation.

2015/2014 = 10x
2016/2015 = 6x
2017/2016 = 2x
2018/2017 = ?