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

Document the current state of app shells #12

Closed
postphotos opened this issue Jun 12, 2018 · 8 comments
Closed

Document the current state of app shells #12

postphotos opened this issue Jun 12, 2018 · 8 comments

Comments

@postphotos
Copy link

postphotos commented Jun 12, 2018

As a WordPress developer, I should be able to leverage the PWA app shell feature.

AC1: Document and describe, if used, app shells from the discovery in #2 .
(AC2 moved to its own issue: #22)

@miina miina self-assigned this Jun 26, 2018
@miina
Copy link
Contributor

miina commented Jun 26, 2018

Started looking into AC1 -- plugins using app shell from discovery within #2 .

@miina
Copy link
Contributor

miina commented Jun 26, 2018

One plugin that seems to be described as having shell features seems to be Offline Shell plugin.

According to the description and based on the admin interface and settings, the plugin registers a service worker that caches theme assets and files, it's possible to choose from the plugin settings which files to cache. Content is not cached for offline reading, there are no modifications made to any of the cached files, just the templates seem to be decoupled from the content.
If I understood correctly.

@miina miina removed their assignment Jun 26, 2018
@kienstra
Copy link
Contributor

kienstra commented Jun 28, 2018

Hi @postphotos,
Sorry to nitpick, but maybe the title of this issue could also mention AC2 (Prototype a usage of app shells).

@miina miina assigned miina and unassigned miina Jul 2, 2018
@westonruter
Copy link
Collaborator

AMP is going to play an important role here, and it facilitates a lot for doing PWA already: https://www.ampproject.org/docs/integration/pwa-amp/amp-in-pwa

See also the feature request for seamless page transitions: ampproject/amphtml#12981. If AMP is already a baseline requirement for being able to embed content inside an SPA, then we could defer to AMP for a component that provides guiderails for how an app shell is implemented. Before such an AMP component is available, we cannot serve an app shell as an AMP document and instead must use the AMP Shadow API to render the AMP document inside of the non-AMP PWA document.

Also, @danielbachhuber pointed out to me a JS library that has a lot of overlap with the kind of functionality we'd be looking to realize here: http://barbajs.org/

@westonruter
Copy link
Collaborator

I think the challenge for using AMP Shadow API with WordPress in an app shell is that WordPress themes render the shell as part of the template no just the content. So I see that as being a challenge: figuring out a way to extract <div id=content> from a response, along with any styles that target the contents inside of it, and use it as a standalone document for a shadow root.

@westonruter
Copy link
Collaborator

If the AMP plugin is indeed a prereq then we have the capability, since we have the DOM and the parsed CSS which we can use to dynamically generate pages from WordPress templates without the shell.

@kevincoleman
Copy link

This issue is being split out to #12 (documentation/research) and #22 (prototyping).

@miina
Copy link
Contributor

miina commented Jul 26, 2019

@westonruter Can this issue be closed?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants