Which vaadin version will be supported long term? - vaadin

We have a 5 year old application written in vaadin 6. It only uses basic vaadin UI framework functions. If we want to upgrade to a newer vaadin version that will be supported, what is the version we should go to? I understand that moving from v6 to v7 and above requires some rework. Is vaadin 8 the best version to use to complete this UI migration? How long will vaadin 8 be supported? Are the UI framework stable after vaadin 8, i.e. upgrading to higher versions do not require changes in the application? Thanks for some guidance.

Vaadin versions are either incremental or come with long-term support.
A long-term support version is maintained as an open source product for 5 years after the initial release. Additionally, Vaadin is offering commercial support for another 10 years. An incremental version is only maintained for a short overlap after the next version.
Vaadin 7 is already more than 5 years old and thus only supported based on commercial contracts. Commercial support is available until 2029.
Open support for Vaadin 8 ends in February 2022, while commercial support is available until 2032.
Vaadin 10 is still supported, but there are aren't any good reasons to choose it over Vaadin 14 at this time.
Vaadin 14 has free support until 2024 and commercial support until 2034. This is the version generally recommended for new projects today.
Vaadin 23 is planned (but not absolutely certain) to be released in the beginning of 2022 with long-term support until 2027. It might be an alternative for new projects to go with incremental versions until that.
The other side of the coin is how easy it is to update your existing project. Vaadin 7 and Vaadin 8 is roughly the same from that point of view since Vaadin 8 also includes an extensive compatibility package that covers basically everything from Vaadin 7.
The jump to from Vaadin 6 to either Vaadin 14 or Vaadin 23 is bigger than the jump to Vaadin 8, but there isn't a big difference between 14 and 23 when it comes to the work needed for migrating from 6.

Related

Can i edit a .NET 6 Console C# project in .NET 4.7.2?

I used to program in .NET 4.7.2 (and still do), but my High School uses .NET 6
Currently we have started using C# console in .NET 6
I don't want to update to .NET 6 because i would also have to change my Unity editor version to one that supports VS2022
Is it possible to open .NET 6 projects in .NET 4.7.2, or am i gonna have to update Unity and reinstall VS, while scouring every part of my C:// partition to clean up junk/leftovers? I am very tight on free space especially on C://
No, you can't (if you mean anything more then editing text, cause for this you can use even notepad). But depending on language features used potentially you can copy-paste code into a .NET Framework 4.7.2 project and compile it. Or not, cause at least some newer features are not supported by older framework version.
Also you don't need full blown VS upgrade. You can look into installing just the .NET 6 SDK and VS Code (which requires less space compared to VS 2022).
Though I hugely recommend to extend your disk.

Vaadin 14 vs Vaadin 20 for brand-new project

I'm Java backend engineer and would like to start the brand-new project. Unfortunately for me working with UI is some kind of nightmare :) This is why I'm looking for some framework which will abstract me from the low level JavaScript details and the best choice for now looks like is Vaadin Flow (pure Java).
Right now, I'm trying to select - what is the right version of Vaadin to start the project with - Vaadin 14 or recently released Vaadin 20? Please advise. Is it the right time to start with Vaadin 20?
It depends when you want to go to production with your application.
You can checkout the Vaadin roadmap to see when the releases are planned:
https://vaadin.com/roadmap
Upcoming releases
Vaadin 14.7 LTS*, release date announced later
Vaadin 21, estimated release September 2021
Vaadin 22, estimated release December 2021
Vaadin 23 LTS*, estimated release March 2022
If you want to go live next year I would go with Vaadin 20 otherwise with Vaadin 14.
In one project we are on Vaadin 20 already because the DataProvider changed in 19 and you don't need a CountCallback what is very handy if you want to use Grids with data from a REST API where you never have a count endpoint.

Is there a way to use DirectX 11 in Windows 7?

I was trying to start to learn programming in DirectX 11, but I'm still using Windows 7 OS. My IDE is Visual Studio Community 2019 and I've tried to create a DirectX 11 project, but I got the error message saying that I need to upgrade my system to Windows 10 to be able to use this feature. I've downloaded Microsoft Development Kit, SDK and another extensions VS offered to me thinking it would actually work, but it didnt. I'm sorry if this seems a silly question, but I'm new on this and I would find it a great help if someone is able to tell me what I'm doing wrong or if there is really not other way to program in DirectX 11 on windows 7.
As noted by Simon in the comments, the "DirectX" templates built-in to VS 2019 are for Universal Windows Platform (UWP) apps only which requires Windows 10.
I maintain a number of similar templates for UWP and Win32 for DirectX 11 & DirectX 12 on GitHub.
Windows 7 supports DirectX 11.0.
Windows 7 can support DirectX 11.1 "software features" but not "hardware features" with KB2670838. Basically this means you won't get D3D_FEATURE_LEVEL_11_1. See Microsoft Docs. Most any Windows 7 system that's updated from Windows Update should have it.
My Win32 templates assume you have DirectX 11.1 these days. For the details on handling DirectX 11.0, see this blog post.
VS 2019 can support targeting Windows 7 Service Pack 1 for Win32 desktop development. Officially Windows 7 RTM is not supported.
VS 2019 comes with the Windows 10 SDK which includes everything you need for basic Direct3D 11 system headers and libraries. You do not need the legacy DirectX SDK at all. That said, if your learning materials still reference legacy stuff like D3DX11, you can install it but beware there are some special setup details. See Microsoft Docs.
For XAudio2 on Windows 7 SP1, use the XAudio2Redist instead of the legacy DirectX SDK. For XInput, you can use the basic XInput 9.1.0 which is built-in to Windows 7.
You may want to take a look at the DirectX Tool Kit tutorials.

using .NET Standard 2.1 with UWP

I made the big mistake of taking some NuGet library updates today. It forced me to either roll back a week's worth of work or upgrade to ASP .NET Core 3.0. I hate to use stuff that's not production, but I didn't want to untangle the libraries either, so I upgraded. Then it forces me to retarget .NET Standard 2.1 libraries. Which I did.
My problem now is with the client UWP code. When I try to compile, I get:
error : Project '..\ClassLibrary1\ClassLibrary1.csproj' targets 'netstandard2.1'. It cannot be referenced by a project that targets 'UAP, Version=v10.0.10586'.
This happens even with a virgin UWP and .NET Standard 2.1 library. Any clues on how to make Visual Studio 2019 client code work with the latest upgrade?
All Windows 10 SDKs currently don't support .NET Standard 2.1.
Windows 10 19H2 is using the same SDK number as 19H1, so it is unlikely that it will support .NET Standard 2.1. (But I certainly hope it does.)
Microsoft hasn't made an official announcement, but Windows 10 20H1 is getting a meaningful SDK update, so it is likely that it will support it. And once that's the case, UWP apps will require 20H1 to run (so that will become the minimum supported version).
One of the big issue with this situation is that Entity Framework Core 3.0 requires .NET Standard 2.1, so it can't be used in UWP apps for now (Update: This issue is resolved with Entity Framework Core 3.1 supporting .NET Standard 2.0).
By the way, as an experiment, I was able to fork Entity Framework Core 3.0 (for SQLite) and make it compile on .NET Standard 2.0. I basically had to manually copy a few new APIs from .NET Core 3.0 (like IAsyncXXX). And it worked, so it is an option for people who really need it. Note that, I did not try it with the SQL Server provider.
Update: The UWP team is planning to enable UWP apps to use .NET 5 and that's when UWP will support .NET Standard 2.1 (and more). This could happen in 20H2 or 21H1.
UWP does not support .Net standard 2.1 yet. It only support till .Net standard 2.0 and that too from windows 1709 onwards.
If you look at the link for 2.1 it states
Platform Support
An upcoming version Universal Windows Platform
so it may be 19H2
UPDATE
Microsoft is going to release a new framework called WinUI 3, this is going to support UWP as well as Win32 based application model. WinUI 3 would support .Net 5 for both the platforms. WinUI 3 preview is going to be available in mid May 2020, with final release in late 2020. WinUI 3 would be supported on windows 10 1803+.

The updated material design (mdc - 2018) vs. angular (dart) components

I'm new to Angular and I'm a bit confused whether the implementation of the angular components reflects the recent (2018) material design system changes or they are just updating the old version of the system?
the Angular components version is been updated:
https://trimox.github.io/angular-mdc-web/#/angular-mdc-web/home
But it seems to me that the Angular Dart components version is still using the old system:
https://dart-lang.github.io/angular_components/
Am I missing something or the Angular components will not get the latest material design updates?
(I think the Angular team is using foundations and adapters to adapt the vanilla web version of the updated material design system, is the Angular Dart team doing the same?)
The specs and M2 components are still being worked on. We have some ready, but I don't see us releasing them until after internal teams have shaken out most of the bugs. They are still going through big API changes to make sure they work well in our products.
There is one that is released which is the material_card.

Resources