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

V2 App #977

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from
Draft

V2 App #977

wants to merge 3 commits into from

Conversation

NullVoxPopuli
Copy link
Contributor

wip, ready for comments, suggestions, tho, as the details still need worked out

@github-actions github-actions bot added the S-Proposed In the Proposed Stage label Oct 6, 2023
@SergeAstapov
Copy link
Contributor

@NullVoxPopuli one important thing this has to mention - Ember Engines.
Engines are basically apps and they should follow structure of regular apps.

@NullVoxPopuli
Copy link
Contributor Author

It's possible "structure" would be a layer on top of this. Like, "structure" is a convention would an overlaying tool could enforce / provide ergonomics on top of. I plan to make a prototype of what I mean next week 🤞

@void-mAlex
Copy link

I would propose that v2 apps behave like astro islands by default, meaning that you can have multiple apps on a page at once without each of them bringing their own runtime along

this would turbo charge the concept we have today as 'engines' as well as fit well into the desire to have a clear way to boot such an app

both webpack and vite have plugins that support module federation which is one way to achieve this goal
if there is appetite for this idea, I am more than happy to help push it forward

@NullVoxPopuli
Copy link
Contributor Author

I'm a huge fan

@void-mAlex
Copy link

also here is a mind blowing fact
https://github.com/mitchlloyd/ember-islands
existed since Feb 21, 2015
this just proves (yet again) that all software development is just a cycle :)

credit to @kategengler for knowing that addon exists

@MrChocolatine
Copy link
Contributor

MrChocolatine commented Nov 3, 2023

this just proves (yet again) that all software development is just a cycle :)

Yeah and in a few years the trend will be to switch back from single-file class/template to separate class and template files.

@NullVoxPopuli
Copy link
Contributor Author

back from single-file class/template to separate class and template files.

I sure hope not.

text/0977-template.md Outdated Show resolved Hide resolved
text/0977-template.md Outdated Show resolved Hide resolved
NullVoxPopuli and others added 2 commits November 4, 2023 11:02
Co-authored-by: MrChocolatine <[email protected]>
Co-authored-by: MrChocolatine <[email protected]>
@void-mAlex
Copy link

we should consider how we have tests running in v2 format
currently the /tests path in the browser is restrictive in many ways to code that tries to run with constraints of relative paths to where the app is built
it's not feasible to require the app to know the pathname it will be deployed to, at build time (not to be confused with domain name or cdn which is a different consideration)

one problem space I see is with Worker (web workers; service workers etc) that can use importScripts()
the path to the scripts can be relative and with /tests path not linking back to the correct place any such work fails
it's also not easy to catch these scripts from a build tooling perspective as they can be dynamically build and run at runtime in form of blobs (and importScripts behaves like require in node), which is an increasingly common way to run untrusted code off of the main thread in an isolated way

one consideration would be to have the test runner and app in completely separated server instances and do the work to wire up the tools to get a similar level of productivity you get today from tests - but how that looks exactly I'm not sure

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-Exploring In the Exploring RFC Stage
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants