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

IWAs (Isolated Web Apps) integration proposal #27527

Closed
leonelvsc opened this issue Apr 24, 2024 · 3 comments
Closed

IWAs (Isolated Web Apps) integration proposal #27527

leonelvsc opened this issue Apr 24, 2024 · 3 comments
Labels
area: devkit/build-angular feature: insufficient votes Label to add when the not a sufficient number of votes or comments from unique authors

Comments

@leonelvsc
Copy link

leonelvsc commented Apr 24, 2024

Command

add

Description

As seen in the @angular/pwa package that handles the creation of the service worker, config files, manifest, etc. Would be nice if in the future the Angular CLI teams looks at other webapps packaging formats like https://github.com/WICG/isolated-web-apps/blob/main/README.md , the main reason is that some WebAPIs wouldn't be available in WebPages ie: DirectSocketsAPI https://wicg.github.io/direct-sockets/.

There are plugins for WebPack that handle the WebBundle creation ie: https://github.com/GoogleChromeLabs/webbundle-plugins#readme this could be automatically configured by the @angular/cli at build time.

Example App that I've found: https://github.com/GoogleChromeLabs/telnet-client.

I know that the proposal is still work in progress, but i feel this should be on the scope of the cli team at some point in the future

Describe the solution you'd like

The creation of @angular/iwa package at some point

Describe alternatives you've considered

No response

@leonelvsc leonelvsc changed the title IWAs integration proposal IWAs (Isolated Web Apps) integration proposal Apr 24, 2024
@alan-agius4 alan-agius4 added the needs: discussion On the agenda for team meeting to determine next steps label May 2, 2024
@dgp1130
Copy link
Collaborator

dgp1130 commented May 7, 2024

I'm not very familiar with IWAs, what exactly would @angular/iwa actually do here? It seems like it would output a Web Bundle, is there anything beyond that such apps would need? Based on a quick reading on the proposal, it seems like this mostly has to do with how the application is packaged and distributed, so I'm unclear on how Angular can meaningfully improve this process.

@dgp1130 dgp1130 added area: devkit/build-angular feature Issue that requests a new feature labels May 7, 2024
@leonelvsc
Copy link
Author

Well as i said it's a new kind of output for the build process today angular just compiles static code ready the be served from a webserver, i know that 3rd parties can customize and create custom builders that can solve this, but in the future, as the web continues to grow other ways of distributing and signing the compiled output should be considered and taking into account.

What I thought for the scope of @angular/iwa is the configuration of the build process like @angular/pwa for example adds the service-worker file to the output this new package could add the necessary plugins, code signing and perhaps installation of typescript typings for this restricted APIs and so on to the project.

But by all means if the team feels like this should be done outside the angular scope please close this issue, i think just worth the discussion

@angular-robot angular-robot bot added the feature: votes required Feature request which is currently still in the voting phase label May 8, 2024
@alan-agius4 alan-agius4 removed feature Issue that requests a new feature feature: votes required Feature request which is currently still in the voting phase labels May 8, 2024
@angular angular deleted a comment from angular-robot bot May 8, 2024
@dgp1130
Copy link
Collaborator

dgp1130 commented Jun 12, 2024

Had a discussion about this today within the team. IWAs are a cool idea, but we're thinking it's a bit premature to be thinking about a meaningful integration at this point. If and when the spec progresses to something which can actually be experimented with, we can maybe consider a real feature to support it.

It's probably possible to support this in some capacity by just post processing the output of an Angular build to wrap it in whatever format IWA tooling would expect. Angular CLI just builds a web app, and it seems like it should be possible to take that output and box it into an IWA without a whole lot of unnecessary complexity. That's probably good enough for experimenting now, and we can consider something more comprehensive if and when the time comes.

I'll point out since this is based on Web Bundle, we're considering generating a Web Bundle as part of ng build since Chrome has support for this and can lead to performance improvements. That alone might be most of the work to making Angular IWA-compatible. We'll have to see how the spec shakes out.

I'll close this issue for now since there's nothing immediately actionable here at this moment, but as this spec evolves I'm sure we would love to hear from the community how important IWAs are for your use cases and whether we should consider more direct support in the future.

@dgp1130 dgp1130 closed this as completed Jun 12, 2024
@dgp1130 dgp1130 closed this as not planned Won't fix, can't repro, duplicate, stale Jun 12, 2024
@dgp1130 dgp1130 added feature: insufficient votes Label to add when the not a sufficient number of votes or comments from unique authors and removed needs: discussion On the agenda for team meeting to determine next steps labels Jun 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: devkit/build-angular feature: insufficient votes Label to add when the not a sufficient number of votes or comments from unique authors
Projects
None yet
Development

No branches or pull requests

3 participants