dotnet / interactive

.NET Interactive combines the power of .NET with many other languages to create notebooks, REPLs, and embedded coding experiences. Share code, explore data, write, and learn across your apps in ways you couldn't before.
MIT License
2.92k stars 389 forks source link

[Feature Request] :Browser using .net interactive instead of html #1841

Open Xyncgas opened 2 years ago

Xyncgas commented 2 years ago

We look back in the past, html5 was a decade ago, and in the future when we have webassembly 2 / 3 / 4 / 5 / 6 we are going to look at webassembly right n like it's fossil, which is still on version 1 right now.

So I was thinking about webassembly, and I imagined if we have webassembly replace html for browser to just show stuffs based on a more useful language, but webassembly wouldn't be clear text and I kinda like html being human readable.

I recommend we try a little experiment, make the browser to be able to use any languages for their websites, as long the browser can recognize the kind of language it is for the website the server is serving and go download the compiler for this language that compiles it to run in the browser if it doesn't have the compiler installed yet. Now venders can make their own language and own compilers and people are welcomed to build their websites using whatever their languages are, but the dom api remains (ok maybe you don't need to build a new browser, unless you want to also have nicer dom api, work with google and apple and it's going to happen which is what should be done when you still are the top companies in the world before the landscape of big tech changes when a new start up does this on their own and the stock price for microsoft and other big tech companies drops) and when people open the developer tools in the browser they can see the source code being compiled to the website and they can modify the source code and since we are not using javascript we can actually call it an app which is something we do cool things with which is capable but also unappealing with javascript.

Xyncgas commented 2 years ago

I also think that since there is a common language run time for all the languages that's going to be running on the web, this run time should have access to dom api, then venders can make this api available in their language as a component or a nuget package for c#, which contains the codes needed, for talking to the dom api and now we can have a project type using whatever synctax to represent and develop the presentation (please don't make me use Xamarin's XMAL, doesn't google have their own markup called fluent or something, but then I would really like microsoft to make the next generation XMAL instead and make it modern for 2050 and better)

The dom api package should implement an interface and be used as a dependency, because it's nice that we are building websites but maybe we are building an app out side of the browser tomorrow that doesn't use the same dom api (MAUI could be sticked to html for example) if at all, but the idea of dom is reusable for building AI for any applications, web or crossplatform