Thanks to visit codestin.com
Credit goes to github.com

Skip to content

DotDevelop Road Map

Gluckez edited this page Jan 12, 2024 · 4 revisions

DotDevelop Roadmap 2023

This is a suggestion for DotDevelop work in 2023. Please add comments and ideas to the initial draft below.

Note: this duplicates Issue #109, and will be updated if that attracts any significant comments.

Current Project Status (Mar 2023)

  • DotDevelop will now load, build and debug .net3.1, .net5.0, and .net6.0 programs using the Samsung NetCoreDbg debugger
  • The original MonoDevelop editor is used throughout (but can be slow and erratic - see 1(c) below)
  • more real-world testing is required to determine the limits of the package (though only DotDevelop has been used for all the debugging and progress so far, which is encouraging)

Areas for further development

1 - Stabilise and Consolidate existing code

  • a - fix build warnings (ideally 0 errors, 0 warnings)
  • b - add tests for the netcore 5.0+ fixes in the DotDevelop code
  • c - decide on the vs-editor-api : fix or remove completely, and sort out all current run-time exceptions
  • d - should development be confined to linux only (no work on Win and Mac builds has been done to date)

2 - Plan a route to upgrade Gtk2 to Gtk3 (using GtkSharp)

  • some of the existing GUI code uses Xwt, which runs as a 'Guest', so Gtk3 and Xwt (with Gtk3 backend) can still co-exist initially
  • should Xwt be retained at all in the long term?
  • until the conversion to Gtk3 is complete, the User Interface should remain as it is
    • There is an ongoing effort by MakiWolf to do this, a decision was made to use his fork until any regression is worked out, after which it will be merged into main. Any work done on the GTK3 upgrade should make a pr to his fork: MakiWolf's fork

3 - Update to latest versions of submodules and replace with nuget packages where possible

4 - Rewrite IDE interfaces to clean up and improve the present codebase

  • Gradually rewrite the interfaces between the User and the various Integrated Packages (MSBuild, Nuget, Version Control, GUI Designer, etc).
  • Only the Public API's of each package should be used, whereas at present parallel (and out-of-date) implementations exist in the DotDevelop codebase (which in many cases uses Reflection to override visibility issues)

5 - Create a Code map/up-to-date documentation for new contributors

  • essential for new developers, as the current codebase is very large
Clone this wiki locally