Announcement

Collapse
No announcement yet.

Microsoft Had Another Year Of Big Open-Source Surprises

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Microsoft Had Another Year Of Big Open-Source Surprises

    Phoronix: Microsoft Had Another Year Of Big Open-Source Surprises

    The past few years have been filled with rather big surprises by Microsoft as it pertains to Linux/open-source. During 2015 they began supporting VP9, open-sourcing more of their projects and began embracing LLVM/Clang while in 2016 they bought out Xamarin, launched SQL Server for Linux, and kept on open-sourcing. Last year was very interesting as well with Microsoft joining the OSI, continuing to advance Windows Subsystem for Linux, and doing more about .NET on Linux. But this year was arguably their most surprising year yet...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    They also released the Visual Studio Code source code under the MIT licence.

    Edit: I see this was mentionned in the article from 2015. I was surprised it was not in the recap in this article because for me it was an important event, finally having Visual Studio on Linux (sort-of).
    Last edited by stqn; 25 December 2018, 11:24 AM.

    Comment


    • #3
      - One of the long overdue changes... Windows Notepad finally supports Unix line endings!
      How is this Open Source related? It's Microsoft related, so that's probably why it is mentioned here. Btw, when do they stop adding BOM to UTF-8 files?

      Comment


      • #4
        The biggest surprises are yet to come, when Microsoft formally moves Windows 10 over to the Linux kernel and Wayland. This will include a Windows System Call emulation layer on Linux and a DirectX and GDI to Vulkan/Wayland layer which will allow Windows GUI libraries and program binaries which use GDI and DirectX to be used on Linux , Vulkan, and Wayland. This will also include a device driver compatibility layer allowing Windows device drivers to be used on Linux. The Windows 10 look/feel will be maintained but the Windows userland GUI code will run on Linux and Wayland using system call emulation and the GDI/DirectX over Vulkan/Wayland comptability layer which will support running GDI and DirectX code and the complete Windows GUI on top of Wayland and Vulkan backend.

        This move is being conducted by Microsoft to benefit from the collective development of Linux, Microsoft has already started making contributions to the Linux kernel.

        Comment


        • #5
          And soon .NET Core 3.0 will get released. With System.Devices.Gpio you will be able to access SPI, I2C, GPIO, etc on Raspberry Pi 3 and other devices, to use .NET Core for IoT.

          It is very exciting that Microsoft ported Windows Forms, WPF and UWP from .NET Framework to .NET Core and also did open source them.
          Unfortunately they do only run on Windows, not on other platforms such as Linux.
          • Windows Forms is a legacy widget toolkit using GDI+ and Win32 API. Microsoft later introduced WPF but still continues to support Windows Forms.
          • Windows Presentation Foundation (WPF) uses XAML and Direct2D. It is said to be rather complicated and have a steep learning curve. I think bindings are runtime checked, not compiled-time checked.
          • Universal Windows Platform (UWP) is Microsoft's newest platform and is not only a widget toolkit, but also a platform and is used for Windows Store apps. Applications can be sandboxed, and have a UI that is mobile-first and touch-optimized. It deals more with the concept of pages than windows.
          None of these runs on Linux. I don't know if it would be possible to create a Direct2D wrapper around Vulkan or OpenGL. Maybe something like DXVK. Neither does these run on Android or iOS.

          Microsoft also have Xamarin which runs Android and iOS, but not on Windows, macOS or Linux.
          So Microsoft does have a cross-platform runtime (.NET Core), but not any cross-platform UI.

          WPF, UWP and Xamarin all use the markup language XAML. But they all use their own dialects, so unfortunately they are not compatible with each other.

          There is Avalonia which is cross-platform and very close to WPF. It works on Windows, Linux and macOS. It does not work on Wayland yet. It also have some improvements over WPF.

          But maybe Windows Forms, WPF and UWP all suck, and maybe there would be better with something like React.

          Comment


          • #6
            I think it is a matter of time before WPF and UWP are ported to other operating systems. Windows Forms might be more difficult since it is tied to Win32 API.

            Comment


            • #7
              Originally posted by jpg44 View Post
              The biggest surprises are yet to come, when Microsoft formally moves Windows 10 over to the Linux kernel and Wayland. This will include a Windows System Call emulation layer on Linux and a DirectX and GDI to Vulkan/Wayland layer which will allow Windows GUI libraries and program binaries which use GDI and DirectX to be used on Linux , Vulkan, and Wayland. This will also include a device driver compatibility layer allowing Windows device drivers to be used on Linux. The Windows 10 look/feel will be maintained but the Windows userland GUI code will run on Linux and Wayland using system call emulation and the GDI/DirectX over Vulkan/Wayland comptability layer which will support running GDI and DirectX code and the complete Windows GUI on top of Wayland and Vulkan backend.

              This move is being conducted by Microsoft to benefit from the collective development of Linux, Microsoft has already started making contributions to the Linux kernel.
              Did you get drugs for christmas?

              Comment


              • #8
                Originally posted by uid313 View Post
                And soon .NET Core 3.0 will get released. With System.Devices.Gpio you will be able to access SPI, I2C, GPIO, etc on Raspberry Pi 3 and other devices, to use .NET Core for IoT.

                It is very exciting that Microsoft ported Windows Forms, WPF and UWP from .NET Framework to .NET Core and also did open source them.
                Unfortunately they do only run on Windows, not on other platforms such as Linux.
                • Windows Forms is a legacy widget toolkit using GDI+ and Win32 API. Microsoft later introduced WPF but still continues to support Windows Forms.
                • Windows Presentation Foundation (WPF) uses XAML and Direct2D. It is said to be rather complicated and have a steep learning curve. I think bindings are runtime checked, not compiled-time checked.
                • Universal Windows Platform (UWP) is Microsoft's newest platform and is not only a widget toolkit, but also a platform and is used for Windows Store apps. Applications can be sandboxed, and have a UI that is mobile-first and touch-optimized. It deals more with the concept of pages than windows.
                None of these runs on Linux. I don't know if it would be possible to create a Direct2D wrapper around Vulkan or OpenGL. Maybe something like DXVK. Neither does these run on Android or iOS.

                Microsoft also have Xamarin which runs Android and iOS, but not on Windows, macOS or Linux.
                So Microsoft does have a cross-platform runtime (.NET Core), but not any cross-platform UI.

                WPF, UWP and Xamarin all use the markup language XAML. But they all use their own dialects, so unfortunately they are not compatible with each other.

                There is Avalonia which is cross-platform and very close to WPF. It works on Windows, Linux and macOS. It does not work on Wayland yet. It also have some improvements over WPF.

                But maybe Windows Forms, WPF and UWP all suck, and maybe there would be better with something like React.
                Wait, WPF has a steep learning curve? But I thought a lot of (non-Linux) developers thought Windows was the Holy Grail because it's so easy to develop for?

                Comment


                • #9
                  Originally posted by Britoid View Post

                  Did you get drugs for christmas?
                  He caught Santa while he was dropping of presents at his house and Santa gave him some of his amphetamine to keep quiet. It's got to be amphetamine, how else would Santa be able to pull all-nighters and climb up and down every frickin' chimney in the world (or at least the parts where people believe in Santa)???
                  Last edited by Vistaus; 25 December 2018, 12:59 PM.

                  Comment


                  • #10
                    Originally posted by paulpach View Post
                    I think it is a matter of time before WPF and UWP are ported to other operating systems. Windows Forms might be more difficult since it is tied to Win32 API.
                    Yeah, but WPF and UWP are tied to Direct2D.
                    However, it might be possible to create a Direct2D wrapper around Vulkan or OpenGL.
                    But besides the rendering, there is also input, clipboard, etc.
                    Then you also need file system dialogs for open/save, so you need something like GTK or Qt too maybe.

                    Originally posted by Vistaus View Post

                    Wait, WPF has a steep learning curve? But I thought a lot of (non-Linux) developers thought Windows was the Holy Grail because it's so easy to develop for?
                    I am not sure. I've read on the web it mentioned that WPF has a steep learning curve.
                    But the Windows platform have a stable API and ABI, so you can compile applications and they will run on different versions of Windows. Example you can run Windows 95 applications on Windows 10.
                    On Linux you can't even run Debian packages on Fedora, or even Ubuntu 17.04 packages on Ubuntu 18.10.
                    Last edited by uid313; 25 December 2018, 05:26 PM.

                    Comment

                    Working...
                    X