Slashdot Mirror


Microsoft Launches Visual Studio 2019 Preview 1 For Windows and Mac; Open-Sources WPF, Forms and WinUI (venturebeat.com)

An anonymous reader writes: At its Microsoft Connect(); 2018 virtual event today, Microsoft announced the initial public preview of Visual Studio 2019 -- you can download it now for Windows and Mac. Separately, .NET Core 2.2 has hit general availability and .NET Core 3.0 Preview 1 is also available today.

At the event today, Microsoft also made some open-source announcements, as is now common at the company's developer shindigs. Microsoft open-sourced three popular Windows UX frameworks on GitHub: Windows Presentation Foundation (WPF), Windows Forms, and Windows UI XAML Library (WinUI). Additionally, Microsoft announced the expansion of the .NET Foundation's membership model.

43 of 72 comments (clear)

  1. Re:Let's party like it's 1999! by Austerity+Empowers · · Score: 1

    The market of people who use windows does not, apparently, include the market of people who might potentially develop for Windows and send the first market application software.

  2. Mixed feelings by AmiMoJo · · Score: 4, Interesting

    WPF is actually great, probably the best GUI framework I've come across so far. I'd love to see cross platform support - being able to create say a .NET app with WPF UI that can run under Windows and Mono would be fantastic.

    On the other hand can we please slow down with the Visual Studio updates. Do we really need a new version every two years?

    --
    const int one = 65536; (Silvermoon, Texture.cs)
    SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    1. Re:Mixed feelings by OzPeter · · Score: 4, Insightful

      On the other hand can we please slow down with the Visual Studio updates. Do we really need a new version every two years?

      Pro-tip .. you don't have to upgrade to a new version of VS when it comes out, unless .. gasp .. you want to use the new features or fixes

      --
      I am Slashdot. Are you Slashdot as well?
    2. Re:Mixed feelings by AmiMoJo · · Score: 1

      Problem is everyone else does and then you have trouble opening their projects... And they do the usual thing of abandoning the old one so if you want bug fixes you better upgrade.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    3. Re:Mixed feelings by exomondo · · Score: 1

      Problem is everyone else does and then you have trouble opening their projects...

      These days sensible projects use systems like CMake so that you only need to upgrade your compiler if the project has a requirement for it. Granted not every project does but it's a more sane solution to the update issue.

    4. Re:Mixed feelings by Anonymous Coward · · Score: 1

      #1 Microsoft has had no direction and avoided any statement of direction on WPF / desktop UI for the last 8 years. MS wanted everyone to build store apps which didn't fly for corporations

      #2 Microsoft in a friendly has packed a suitcase and is heading to the door to leave WPF / Winforms / WinUI with sending back to the GitHub repository a 'thinking of you card' every Christmas and Easter.

      #3 Microsoft is remaking itself into a company which sells an Office suite, Windows server operating systems, Windows desktop operating systems, Exchange and then only things called Azure. This is the bummer part in that MS will eventually have no real products and be a platform as a service and much easier to replace at a fortune 1000 corporate customer

      #4 Expect Microsoft headcount as reported in the annual report to dramatically drop

    5. Re:Mixed feelings by LostMyBeaver · · Score: 1

      In a ".NET Core" world, you should have considerably less trouble with that. I know I've been managing my projects from the dotnet command line tool for a while now. The GUI was always kind of an inconvenience for that.

      Of course you could use the GUI to stage some changes to the project file, but before checking it in, you should remove all the VS specific cruft and slim it down to pure .NET.

      On the other hand, if you're still programming in C and C++ (I write Linux kernel modules in VS) you're screwed. I think this is because Microsoft realizes that C and C++ are purely for people who like pain and probably don't care about code quality anyway.

    6. Re:Mixed feelings by LostMyBeaver · · Score: 2

      1) WPF is called UWP now... it's been since the rewrite. It's pretty nice and while the rewrite never really caught on because WPF was more "nerd friendly", UWP was clearly more user friendly. WPF didn't require a graphics artist, UWP did... etc... That said, if you invest some time in UWP and learning to make more appy type apps as opposed to applications, you'll like it.

      2) Winforms had to go. It was a thin and almost useless replacement for Visual Basic 6. You would never consider writing a new application using standard Windows form controls from the Win32 API. You want something much more flexible... if you need a good reason, high-DPI should be enough. Pixels as a form of screen UI measurement had to go. WinUI is not an old thing... it's the most recent version of UWP and XAML.

      3) Yeh... MS business products are going all cloud... where they belong. And... well replacing their products isn't quite what you may think. Azure is substantially more lock-in for companies than Windows and Office ever was. Same for AWS and Google Cloud. Pretty much every Fortune 1000 company will pay monthly bills (of enormous scale) to MS, Google AND Amazon for many many years.

      4) Microsoft's headcount will almost certainly double or triple with their new business model. Though many of the legacy people are probably on the way out.

    7. Re:Mixed feelings by rl117 · · Score: 1

      We don't need a new version of the IDE every 2 years. But the compiler and associated tools bring much needed bugfixes and stuff like C++17 and soon C++20. Shame it's all bundled so tightly together.

    8. Re:Mixed feelings by Ambassador+Kosh · · Score: 1

      I love all the updates to Visual Studio. With VS2017 I reported problems with CMake and all have been fixed in updates. The software I work on is now much simpler to build on Windows than it was before. Almost all the issues I reported where new feature requests.

      --
      Computer modeling for biotech drug manufacturing is HARD! :)
    9. Re:Mixed feelings by Joey+Vegetables · · Score: 1

      UWP is assuredly NOT WPF. It was meant to replace it, but it didn't, because it threw users of legacy Windows versions under the bus.

    10. Re:Mixed feelings by sproketboy · · Score: 1

      No, JavaFX crushes WPF.

    11. Re: Mixed feelings by tigersha · · Score: 1

      They better. Xcode is so far behind VS it is amazing

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
  3. Notes and caveats by Daltorak · · Score: 5, Informative

    A lot of people around here don't keep up with Microsoft technology, so here's a few notes and caveats:

    1. The Windows and Mac versions of Visual Studio 2019 are completely separate products built from different code bases. They share compilers and .NET Core stuff, and a lot of work is going into making the editors feel the same. But you can't actually use Visual Studio for Mac to work on classic Win32 / .NET Framework applications.

    2. Windows Forms and WPF are also Windows-only technology, and that isn't changing even though they'll work with .NET Core 3. There are way too many hooks and dependencies on Windows-specific technology (e.g. DirectX, text rendering, themes, handles) for these to be made into cross-platform applications without major rearchitecting work. In other words, don't wait up for them to produce a competitor to Qt....

    3. The source code for Windows Forms and WPF have actually been available as "reference source" for more than a decade, so there are no real surprises to be discovered here.

    4. All three libraries are being hosted on Github and are licensed under MIT. These aren't mirrors -- the teams at Microsoft will actually be doing their everyday work in the open on Github. Unfortunately, the full commit history didn't come along for the ride.

    5. One of the nice little improvements here is the ability to package your own version of Windows Forms with your app, instead of relying on whatever is installed with the system. .NET Core doesn't (currently) support static linking so it'll still have to exist as a DLL file beside the EXE.

    1. Re:Notes and caveats by OzPeter · · Score: 1

      5. One of the nice little improvements here is the ability to package your own version of Windows Forms with your app, instead of relying on whatever is installed with the system. .NET Core doesn't (currently) support static linking so it'll still have to exist as a DLL file beside the EXE.

      I'm curious about why you would want to do this. Windows Forms has been around for such a long time I would have thought that the technology would be considered a stable standard by now. Or is the intention to package it up for non-windows platforms?

      1. The Windows and Mac versions of Visual Studio 2019 are completely separate products built from different code bases. They share compilers and .NET Core stuff, and a lot of work is going into making the editors feel the same. But you can't actually use Visual Studio for Mac to work on classic Win32 / .NET Framework applications.

      Doe this mean that I can now build an C#/Xamarin iOS/Android/MS app on OS X using VS for OS X, instead of writing in Windows and still requiring an OS X box for submission?

      --
      I am Slashdot. Are you Slashdot as well?
    2. Re:Notes and caveats by Anonymous Coward · · Score: 2, Interesting

      "M$ going bankrupt and ceasing to exist and taking all their crap software with it"
      Going bankrupt?
      MS continues to transition away from its legacy products that are basically purchased and installed on clients' computers. They are moving towards cloud-based products and services such as its Azure platform and Office 365. They have become the biggest contributor of open source for the past two years. And they are still generating handsome profits.

      They are also merging their proprietary products with Open Source solutions. I am waiting for them to release MSLinux so I can watch peoples heads start exploding.

    3. Re:Notes and caveats by Anonymous Coward · · Score: 1

      It doesn't matter: I will never accept M$ into the open source party.

      Thankfully that's not your decision to make.

      For decades M$ has attempted to kill off open source in all forms. And now that open source is where the cool kids are and all the progress and excitement is _now_ M$ wants to be all chummy.

      You mean decades ago, when it was run and staffed by different people they tried to obsolete some open source projects.

      Remember "embrace, extend, extinguish"? I sure do.

      And do you remember how that panned out? Obviously not, look at Java today - TBH back when MS was trying to kill it it was garbage, today it is the dominant language on the most widely used personal computing operating system in the world: Android. Do you really not remember how shitty Java was? How much of a failure the WORA concept was?

      But leaving the bad blood aside for a moment: why would we care about M$'s super-special non-standards-compliant non-posix crap that doesn't interoperate with anything or run nicely on anything besides Windows?

      What's the POSIX-compliant, standards-compliant version of WPF, WinUI and Windows Forms?

      Literally the entire rest of the computing world is some kind of Unix or Unix-like.

      Nothing like a monoculture ay?

      Again, M$ isn't invited to the party nor should they be allowed to just barge in and dump their proprietary-in-all-but-name incompatible crap on us.

      Well again, it's not your choice. Why are you willing to be oppressed? Nobody is dumping anything on you at all, you seem to be very confused about this announcement in that you think it both impacts you in some way and that you can allow or disallow it for the broader community.

      Do I sound like a hater?
      Well here's something that would make me happy: M$ going bankrupt and ceasing to exist and taking all their crap software with it. C# is a neat language, but that M$ taint just ruins it so they can take even that with them to their digital grave.

      We've been hearing that since the first days of "Year of the Linux Desktop". The reality is that Microsoft is adaptable and more profitable than ever, if you want to compete then build a better product. The reason the Year of the Linux Desktop never happened is because it's a mish mash of hundreds of distros flinging shit at the wall and the collective community pontificating that "this is the year something will finally stick". Through Windows ME, Windows Vista and Windows 8, horrible, horrible operating systems they were but even still Windows fucking Vista got many times more users than all the hundreds of desktop Linux distros combined. How badly does Microsoft have to screw up to make desktop Linux look like a viable alternative?

      But it's not just Microsoft, it's virtually the entire open source community that doesn't seem to be able to innovate meaningfully whether it's Linux (a clone of UNIX) or LibreOffice down to the lack of innovation in smartphones, tablets, VR, AR, cloud services and wearables. The FOSS implementation is at best a late, also-ran that tries to imitate the proprietary products, why did FOSS not get there first in any of those spaces?

    4. Re:Notes and caveats by Kjella · · Score: 1

      2. Windows Forms and WPF are also Windows-only technology, and that isn't changing even though they'll work with .NET Core 3. There are way too many hooks and dependencies on Windows-specific technology (e.g. DirectX, text rendering, themes, handles) for these to be made into cross-platform applications without major rearchitecting work. In other words, don't wait up for them to produce a competitor to Qt....

      Wouldn't WINE potentially have all the missing bits? With .NET Core and WinForms/WPF under the MIT license, WINE under LGPL it should be possible to build non-Windows versions of both OSS and proprietary apps on the Microsoft stack with very little hassle. Granted, the WINE reimplementations might have bugs or limitations but when you have an open source running on top it should be a lot easier to do a side-by-side comparison with Windows and confirm that at least for the way WinForms/WPF uses these libraries we're compatible. And it's not unthinkable Microsoft will open up some of the other non-essential bits too, probably not DirectX but text rendering and themes for example.

      Microsoft has changed a lot in recent years, Visual Studio Code and the whole .NET Core represents a big shift in their thinking, they've realized that by losing the mobile market they can't just build a moat around Windows to keep Mac/Linux at bay. And it's too easy to spin up a Linux box if you just need a server. The hook is to try to make you build a service around Azure, on top of that you can have all the clients you like but you can't just migrate off to AWS or some other cloud. It used to be that Java was the enterprise language of choice but C# has been crushing it in recent years and that Oracle bought Java was the kiss of death.

      --
      Live today, because you never know what tomorrow brings
    5. Re:Notes and caveats by LostMyBeaver · · Score: 1

      Just like in Xamarin Studio for Mac, you can use VS for Mac to code for iOS and Android. As for writing an MS app, I think we're still a little bit off from having full UWP support on Mac for development.

      I'm really hoping to see Mac support for UWP some day.

    6. Re: Notes and caveats by tigersha · · Score: 1

      They are bigger than Apple again

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    7. Re: Notes and caveats by tigersha · · Score: 1

      Go and jack off in your terminal then

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
  4. WPF?! by XArtur0 · · Score: 1

    >WPF is now OpenSource

    Looking forward to a Linux/OpenGL port.
    Always wanted Moonlight to eventually become a WPF replacement...

    1. Re:WPF?! by cheesybagel · · Score: 1

      I wouldn't be surprised if it is a wrapper around a bunch of Win32 API calls.

    2. Re:WPF?! by Joey+Vegetables · · Score: 1

      It is in fact a wrapper around these things as well as DirectX. I don't expect to see much of it on non-Windows platforms anytime soon. But I'd love to be proven wrong. It's one of the better UI technologies out there.

    3. Re:WPF?! by cheesybagel · · Score: 1

      I liked using WinForms when I did C# programming. I also liked C# as a language. It was leagues ahead of the crap they had before. But still, like you said, it was not something easy to port to other platforms. I still do most of my programming in C or C++ however.

      I have looked at Rust but the syntax seems to get more obnoxious with each release and to be honest, I do not feel like writing code for a language that is in a perpetual state of flux.

  5. Re:Telemetry? by Anonymous Coward · · Score: 2, Funny

    And you probably don't know what the word telemetry means.

    Telemetry is what precedes a telemefail.

  6. Does this work with Python? by Proudrooster · · Score: 1

    Does this work with Python?

    1. Re:Does this work with Python? by Anonymous Coward · · Score: 1

      Yes, IronPython. That's the great thing about .NET, it's built around things like the CLR and CTS which means anything running on it can be used by any language running on it of which IronPython is perhaps one of the single biggest success stories.

  7. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  8. We're 4 years back on VS versions since 2012 by Anonymous Coward · · Score: 1

    We've upgraded to the next version of Visual Studio when the version after that has been out for a few months.

    We get the benefits of the latest VS by:
    - Build a VM with the latest VS and static analysis tools
    - Put our source code on the VM
    - Build with VS, fix compile errors
    - Run the full static analysis tool suite, fix most things found
    - Save source code
    - Put source code on out existting dev environment, excluding project files, solution files, etc.
    - Build source with the version of VS we use today (not the latest one)
    - Fix compile errors
    - Commit to source code repository
    - continue with the old VS version
    - Delete the vm

  9. What window system under POSIX? by tepples · · Score: 1

    What's the POSIX-compliant, standards-compliant version of WPF, WinUI and Windows Forms?

    That depends. Does Single UNIX Spec/POSIX even specify a window system layer? Last I checked, X Window System was a separate standard from POSIX.

    If by "POSIX" you mean "POSIX plus X", all that takes is someone to write X backends for WPF and Windows Forms. I seem to remember the Mono project has done something like this.

    1. Re:What window system under POSIX? by LostMyBeaver · · Score: 1

      haha... I was reading that baby rant too.

      X is also pretty much on the way out too... so we'd have to make allowances for Wayland instead right? And holy baby jesus.... Wayland is 5 years from being borderline usable each day.

      As for the POSIX compliant version of WPF, WinUI and Windows.Forms. I'm pretty sure he doesn't really know what POSIX means. Though it's really cute when he uses it wrong over and over again.

      Mono.NET supports Windows.Forms and has a WPF like system and WinUI is certainly on it's way to being cross platform. .NET Core is certainly heading in the right direction as well. I'm pretty sure a "POSIX Compliant" or in this case "Linux compatible" version of Windows.Forms would be a pretty bad idea since it's still too hooked to HWND and the Windows API. Though, I suspect there's nothing particularly difficult in making that happen.

      Maybe he would be more interested in GTK#.

      It's kinda like how when you program iOS apps from Windows, you would use either Cocoa (from C#) or Unity3D. If you want an ugly as shit cross platform GUI framework that's only native to Linux which is... well let's say there's a reason Linux hasn't won the desktop yet.... that's what GTK# is.

  10. How is ISO/IEC 29500 "closed"? by tepples · · Score: 1

    Let us know when they finally trash their repugnant, solidly closed, proprietary MOOXML format

    In what way is the file format family known as Office Open XML "solidly closed" and "proprietary"? It's documented as ISO/IEC 29500. Is that international standard subject to patent encumbrances that block royalty-free distribution of implementations, like the MPEG codecs? Or to encumbrances that block open collaboration on works in progress, like the Java platform?

    1. Re:How is ISO/IEC 29500 "closed"? by Anonymous Coward · · Score: 1

      You need to study up some.

      ISO standardization is not an openness seal of approval - it says absolutely nothing about the openness of the item being standardized. There's documentation on this from ISO if you bother to look.

      Sure, "strict" MOOXML is slightly more open than non-strict . . . but nobody uses it, and Microsoft sets non-strict as the default format in its Office programs. Why?

      MOOXML governance processes are closed.

      MOOXML last I checked was protected by a revocable patent promise not worth the paper it's written on.

      And just because something is viable XML doesn't mean it's actually open.

      I researched these issues to the hilt back in the day, and I can't be bothered to waste any more time on it. But the closedness of MOOXML is obvious to anyone who takes the time to educate themselves, and there's plenty of articles online on the topic by those more learned than myself, so read some.

      BTW, do you know what the ISO approved MOOXML for? ISO says they don't comment on the openness of a standard, but one thing they do stand firm on is not having two standards for the same thing. Since they already had a standard for new documents (ODF), they only approved MOOXML for a very limited use case - converting old documents not originally created in XML into XML. Go ahead, read the standard - I have. Have you? It's right there.

      But, has Microsoft told you this? Does Office bury MOOXML for its very limited ISO-approved use cases? No, Microsoft sets MOOXML as the default format in its office software for NEW documents. The exact opposite of what the ISO says it is to be used for.

      If your question was genuine, then do a little research and see how cynical and anti-open standards Microsoft Office is.

      If you're just shilling, then sure, tell me again that Microsoft's different now. I like a good joke.

  11. Compatibility elements in OOXML are defined now by tepples · · Score: 1

    Isn't that the spec that's 6,000+ pages of gems like, "blah blah blah: Display this the way Office 98 did; blah blah blah: Display it the way Office 2K did;..."

    It was. It no longer is.

    ISO/IEC 29500 is indeed several thousand pages, and older drafts indeed deferred to the opaque behavior of other proprietary software when describing compatibility elements:

    To faithfully replicate this behavior, applications must imitate the behavior of that application, which involves many possible behaviors and cannot be faithfully placed into narrative for this Office Open XML Standard. If applications wish to match this behavior, they must utilize and duplicate the output of those applications.

    The final standard, on the other hand, fully defined these behaviors. For example, MSDN quotes the standard as defining autoSpaceLikeWord95 behavior thus:

    This element specifies adjustments (detailed below) which should be applied to the spacing between adjoining regions of non-ideographic and ideographic text when the autoSpaceDE (Part 1, 17.3.1.2) and autoSpaceDN (Part 1, 17.3.1.3) elements have a value of true (or equivalent). This algorithm typically results in the following: an increase in the inter-character spacing added between non-ideographic and/or number characters and certain full-width characters; and no inter-character spacing between non-ideographic and/or number characters and certain half-width characters.

    Typically, applications apply additional spacing between ideographic and non-ideographic characters/numeric characters when the autoSpaceDE / autoSpaceDN properties are applied. This element, when present with a val attribute value of true (or equivalent), specifies that applications shall apply the following adjustments to this logic:

    • Characters in the following Unicode ranges should be treated as ideographic, even though those characters are full-width forms of non-ideographic text: U+FF10–U+FF19, U+FF21–U+FF3A, and U+FF41–U+FF5A. [Note: This results in the unnecessary addition of space. end note]
    • Characters in the following Unicode ranges should be treated as non-ideographic, even though those characters are ideographic: U+FF66–U+FF9F. [Note: This results in the omission of the intended additional space. end note]

    Similarly, footnoteLayoutLikeWW8 was defined to mean allow the layout engine to place section breaks mid-page even if a page has a footnote. I'm aware the name of the element is not ideal; breakSectionOnFootnotePage might have been preferable. But I find the intended behavior of this element clear.

  12. Re:Let's party like it's 1999! by LostMyBeaver · · Score: 1

    Yep... in fact, I run Linux (without the Linux Kernel) on Windows every day. I love it. It's like having Linux but on top of something usable.

  13. Re:Telemetry? by LostMyBeaver · · Score: 1

    Damn!!! That's the best one I've heard yet. I've wanted to say that so many times. I think I'd use the Indigo format of phrasing the statement though.

  14. Re:Telemetry? by Anonymous Coward · · Score: 2, Funny

    There is no Telemetry. There is only Telemedo.

  15. Re: Let's party like it's 1999! by cyber-vandal · · Score: 1

    It was parodying the attitude to Microsoft around here fuckwit

  16. NET core spies on users by Anonymous Coward · · Score: 1

    NET core spies on people and is in violation of GDPR laws in EU. It collect personal information about your PC such is your MAC address.

    There is a bug report where people attempted to persuade the devs (MS) to make it "opt in" so it is disabled by default. However, dev basically told them that they are not going to stop spying on people:

    https://github.com/dotnet/cli/issues/3093

    This is the main reason why we cannot use NET in our organization. It is really too bad as it could be rather useful.

  17. On the other hand by AndyKron · · Score: 1

    I just ordered a USB floppy drive so I can boot my old computer in DOS. That's my big announcement.

  18. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion