Open rdstern opened 4 years ago
There is a new statement from Microsoft stating that .NET 5 will support VB Windows Forms applications. This is good news as it had not been officially confirmed before now. However,
Future features of .NET Core that require language changes may not be supported in Visual Basic.
So it's clear that VB is not going to be treated as a first class citizen in .NET 5.
When this is available, it should be trivial to upgrade to .NET 5 so it should be a sensible short term solution to get the benefits of .NET 5 such as cross platform and bundled .NET Framework, but it probably won't be a good longer term option unless we move to C#.
I'm happy for the technology choices to be made based on what is most suitable for the team, but it's also worth revisiting the question of whether you want other communities to collaborate in the future and what their choices and expectations may be.
This was discussed in the past in https://github.com/africanmathsinitiative/R-Instat/issues/3568#issuecomment-433903555
The statement also confirmed that .Net5 VB will support WPF. I think this is the first time MS have confirmed this?
If R-Instat stays as a Windows desktop application then it can probably be developed for a few more years in VB. But VB support is in decline. Even now, most DotNet blog posts, tweets, tutorials, technical websites, job advertisements etc. are focused on C#. For some extra analysis of Microsoft's MS statement please see https://medium.com/young-coder/the-end-of-the-road-for-visual-basic-2fda0102f5da.
I agree with @dannyparsons that transitioning to C# could be the most painless option. But I don't yet understand how to meet @rdstern 's portability requirements. As @isedwards stated, there are many factors to consider for R-Instat's technology evolution.
In the vision for future R-Instat development, phase 1 includes the task to Enhance climatic functionality: "This includes developing a comprehensive system for visualising climatic data at a national, regional and individual station level that includes tables, graphs and maps"
My worry is that, in the future, we will need a very comprehensive browser-based capability for interacting with the data using fully open-source solutions (e.g. DataTables, ChartJS and LeafletJS). This is planned in Phase 3: "R-Instat functionality could be made available to online users through a wider range of devices, including mobile and tablet, by making use of web technologies".
Is the intention to develop the interactive tables, charting and mapping capabilities twice in different technologies?
I need to prepare a pre-concept note for WMO so they can consider whether and how they might support R-Instat. This is primarily for its climatic work.
There are many aspects. In this issue I want to explore the possible major changes that might be undertaken, given sufficient funds. This would be to modernize the software, to enable it to run on various systems and not just Windows, (Linux, Mac) and including over the web and working towards either the software or various components becoming part of the Open CDMS that is also being discussed for the evolution path for Climsoft.
My starting point is @dannyparsons message to @isedwards as follows:
I am going to assume this is a sensible route. In discussions with @volloholic I would like to break down this possible work. 1) Changing all the dialogues to WPF is a substantial task. If we decide to do this, then this work could proceed in parallel with improvements to the current version. 2) Would it be possible to change the Windows - particularly the Output Window, while keeping the dialogue controls as Winforms? So, is it possible to have intermediate stages - and particularly this one. That could be attractive given the possibly long time-scale we would need for all the dialogues. 3) Do we need a better grid control than reogrid? In the old Instat we used flexgrid from Component1 and that was great. It is quite expensive (I think $899, because you get it with many other controls. (I wonder if anything else is useful.) reogrid does work with wpf forms, but has some quirks? If we do move on, then there are other free and some cheaper alternatives. There is Megagrid at $299 from here. Or steema software has TeeGrid and their graphics was ok for the old Instat. And do we need one at all or could we use Microsoft's own datagridview control?