Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

.net MAUI on WEB #4941

Closed
PrestigeDevop opened this issue Feb 26, 2022 · 7 comments
Closed

.net MAUI on WEB #4941

PrestigeDevop opened this issue Feb 26, 2022 · 7 comments
Labels
area-setup Installation, setup, requirements, maui-check, workloads, platform support proposal/open
Milestone

Comments

@PrestigeDevop
Copy link

PrestigeDevop commented Feb 26, 2022

Description

I know it's kinda silly but shouldn't we think of web as main platform and have some support in MAUI since web is sorta cross platform and has already some implementation with underlying os independently i.e PWA
for example generic permission api has PoC demo on https://intel.github.io/generic-sensor-demos/

also for shell UI app there's a similar concept too The App Shell Model

idk it's just an idea , there's many ways to boostrap( implement ) this idea and make it works , i.e mono.js runtime or some library like cshtml5 library , or some sort of bridge between wasm and compiled typescript and many others

there's also automation build tools for cross browser compatibility that could speed the prototyping. I feel if we ignore the web , we basically ignore the most used platform on history and we are left out .

// web will have its own shader language too based on webGPU a future web standard and JavaScript API for accelerated graphics and compute, probably will have dom shader if we could abstracte separate namespace for accelerated canvas i.e opentk + ShaderConductor to target cross shading languages backends would be a little to no effort to develop game engine layer or for interactive app experiences

Bad example

using maui.web; //temp name
using system.web;
using MongoDB.Bson;
using System.Runtime.Serialization;
using System.xaml.linq;
using jsx.net.typesctiptInterOP;

namespace maui.badexampleonweb;
{public class WebClientJSONP WC
public UriMapper Class// @test
    async void _Main_Prompt(){
        string answer = JS.InvokeAsync<string>("prompt", "typescript:?");
        Message = "Prompt: " + (String.IsNullOrEmpty(answer) ? "nothing" : answer);
        updateState();       //bi-di communication 
       //Action<objectwc> callback = (result) =>{JsonType reqRes = await JsonConvert.DeserializeObject(_xml);} // connection
 }
}

init on web dom :

<body>
...
    <script src="_framework/JSXandWasmBRIDGE.js"></script>
    <script src="src/MAUIboostrap.js"></script>
    <script src="src/singnalIR.js"></script>
    <script src="src/blazorsyntaxehandler.js"></script>
...
</body>
<jsx-script> 
//some script to parse xaml dom  
//bi-di communication ( wasm-js binding  ) 
//@web custom element tags aka web component  _ blazorwebview 
</script>

Intended Use-Case

xaml on web (js) which is SEO friendly , we could target web as platform natively which represent the default browser/native experience if some flags are enabled ,

@Xyncgas
Copy link

Xyncgas commented Feb 26, 2022

Maui Blazor...

@Xyncgas
Copy link

Xyncgas commented Feb 26, 2022

Imagine compiling xaml to css, I would rather use one of my blazor library to achieve cross platform availability without resolving to use xaml at all, just imo tho

@PrestigeDevop
Copy link
Author

I like blazor programming model but it lives in wasm runtime , it's not SEO friendly. also it needs to be using either spa client or serverside both is okay but if you're really want wider audience . it has to be in js I know performance stuff blabla , but I found that headless Jamstack provider that catch & disturbing across the edge using js aren't compatible with wasm runtime. I'm learning some basic stuff in js so I don't know much about those framework . also the web GPU looks promising if they managed to get it right i.e dom shaders instead of converting the whole page to a static unreachable canvus or warrper like htmlGI components it would means alot because the font will not break and looks blurry due to aliasing stuff or whatever.

if it can support both wasm & js why not?

sure some code have to be compiled to js and probably certain things would break but supporting the foundational like GUI and app shell navigation in unifed way is the main reason I'm learning xamarin.forms and maui yes I might go completely with other library support shading languages like noesis gui or react three fiber but I would like how much I can do with c# & Microsoft libraries

@Xyncgas
Copy link

Xyncgas commented Feb 27, 2022

wasm sucks. just use .NET

MAUI Blazor doesn't use webassembly

.NET has project types that supports both wasm and js, it's blazor webassembly

There is javascript library for doing graphics, Unity works with webassembly too, modern browser usually has openGL api

if you want pre-rendered websites which are SEO friendly there is also scenario where u can serve blazor webassembly along pre-rendered site, or serve blazor server with pre-rendered site, or use static website languages like elm

there's also similar libraries that does what elm does in c#

@davidbuckleyni
Copy link

IMHO mobile apps dont need to be seo friendly unless its added by community mvc style support is not likely. I vote to close this as not a real issue

@Eilon Eilon added this to the Future milestone Feb 28, 2022
@ghost
Copy link

ghost commented Feb 28, 2022

We've moved this issue to the Future milestone. This means that it is not going to be worked on for the coming release. We will reassess the issue following the current release and consider this item at that time.

@Eilon Eilon added the area-setup Installation, setup, requirements, maui-check, workloads, platform support label Feb 28, 2022
@Eilon
Copy link
Member

Eilon commented Feb 28, 2022

Dup of #4528.

@Eilon Eilon closed this as completed Feb 28, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Mar 30, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-setup Installation, setup, requirements, maui-check, workloads, platform support proposal/open
Projects
None yet
Development

No branches or pull requests

4 participants