If not, why?
If you could have any amount of funding and any number of talented people working on a replacement, what would your ideal language/framework look like?
Would it look something like Flutter? Or JS(X) like React? Would you support multiple platforms, or just stick to the web and web technologies?
Would you create a whole new syntax/language? Would you separate out logic and templating, or keep them together?
How would you handle styling? Logic?
What would you prefer HN?
- There is a file format (possibly a ACSII format, or possibly a binary format but also provided program converting the ASCII format to the binary format; there may also be a way to convert parts of it into a C code, for efficient use compiled into programs), which can define the layout and which widgets are in the form. Usually they will be built-in but you can use external specifications too (which may be overridden by end-user, and told to load perhaps using environment variables, if necessary)
- Define the API in C. It may also be possible to call from other programming languages, whether by a dispatch mechanism (similar to Glk) or by wrappers. (There also may be implementations which can be used directly in other programming languages.)
- Separate the API from the implementation (similar to what Glk does). Some parts of the implementation may be written for a common use, and customized if needed for a specific implementation. Other parts will be only implementation-dependent; therefore they can be made depending on different operating systems (using the operating system's UI), different user preferences, etc.
- Define the use of widgets, including list, menu, button, grid, tree-view, text-entry, text-label,
- Define the use of common functions such as file-picker, clipboard, etc.
- Define use of accessibility, and also of programmability by external programs.
- Define use of international text. The ASCII form can be stored in the program; non-ASCII text can be stored separately.
- For text, you can use multiple code pages including TRON code, and does not have to use Unicode.
- Styles are implementation-dependent, and mostly is not specified by programs. The program will specify some things, e.g. forced fix-pitch text.
I have some ideas how to do and might write about it in future in another file. (I also would consider to do a partial implementation as a part of the Free Hero Mesh project; currently the UI is implemented each screen separately; there is not a common UI except for scrollbars, but this can be improved in future, by allowing a common way.)