Skip to content
This repository has been archived by the owner on Oct 29, 2024. It is now read-only.

2018 Roadmap #102

Closed
tomdale opened this issue Jan 17, 2018 · 17 comments
Closed

2018 Roadmap #102

tomdale opened this issue Jan 17, 2018 · 17 comments

Comments

@tomdale
Copy link
Contributor

tomdale commented Jan 17, 2018

I want to get feedback on what folks think should be our priorities in the new year. We invested heavily in R&D and performance in 2017, and I think that paid dividends, but in 2018 I'd like to focus on turning the more experimental stuff into production-ready, easy-to-adopt tools. I think we also need to follow through on our promise of uniting the Ember and Glimmer worlds.

Off the top of my head, these are some of the things I'd like to get done this year:

  1. Streamline and document server-side rendering, particularly with rehydration.
  2. Land binary bytecode compilation as the default mode for new Glimmer.js apps (i.e. integrate the existing work into the blueprint).
  3. Much, much better error messages. By the end of 2018, I'd like all error messages to include template source rather than VM internals. In other words, treat error handling like a real programming language.
  4. Better integration with the Ember language server, so you get nice things like autocomplete/IntelliSense in your editor. Doing this robustly requires a Handlebars parser that can recover gracefully from errors, so typing {{ triggers an autocomplete instead of a syntax error.
  5. Interoperability with the wider JavaScript ecosystem that "just works." Developers should be able to yarn install a package and import it into their Glimmer.js app without having to jump through hoops.
  6. Bite the bullet and start documenting and talking about the webpack plugin, which we've now used in production.

These are the things that stand out for me based on my experience building a production Glimmer app in the second half of last year. I'd love to know what else we need to get a polished experience that you would feel confident recommending to your friends.

@knownasilya
Copy link

knownasilya commented Jan 17, 2018

All of those look good to me. One that seems to stand out is the "Web components" story. I think we need to mark it as experimental, while we focus on all these other things. Or actually focus on it, otherwise people think it's ready and get disappointed when they can't do most basic things.

@wycats
Copy link
Contributor

wycats commented Jan 17, 2018

@knownasilya I completely agree.

@wycats
Copy link
Contributor

wycats commented Jan 17, 2018

One thing that @tomdale left out was the "copy and paste into Ember" story, which I think remains extremely important.

@t-sauer
Copy link
Contributor

t-sauer commented Jan 17, 2018

Here are the points I gathered (and that aren't mentioned yet) while using Glimmer.js on a couple of smaller projects/experiments:

  • Web components:
    In my opinion this could be a really strong point for Glimmer. There are a couple of points that make them kinda unusable at the moment though in my opinion.
    • Attributes: to create web components that I just can give to other developers this is a must in my opinion
    • Better bundling: Right now every component bundles its own version of Glimmer.js. If someone is using ten Glimmer web components that means the costs of loading Glimmer.js ten times.
  • Build pipeline:
    • Component addon story: making it possible to reuse components from other packages
    • Improvements of the pipeline in general (a CSS change triggers a whole rebuild, including TypeScript for example)
  • Improve testing:
    The last time I checked it was not possible to pass in args to the component in tests which makes it really hard to actually test a component

@t-sauer
Copy link
Contributor

t-sauer commented Jan 17, 2018

Better integration with the Ember language server

Getting basic features for components (auto completion and go to definition) to work should be pretty straight forward and most of the work needs to be done for Ember.js apps sooner or later anyway (building up the index in a MU project).
I'll see if I can get basic Glimmer.js support into it next weekend.

@wycats
Copy link
Contributor

wycats commented Jan 17, 2018

@t-sauer how important is it for developers to be able to modify the attributes and see the changes reflected?

@t-sauer
Copy link
Contributor

t-sauer commented Jan 18, 2018

@wycats I think that's very important. For example let's say I have a map component where I can pass in the location I want to show. Now if I want to change the displayed location I would totally assume to just change the attributes instead of creating a whole new map.

@wycats
Copy link
Contributor

wycats commented Jan 21, 2018

@t-sauer in that case, someone's gonna have to pick up the work and wrap it up.

If anyone's particularly motivated, I think @glimmerjs/core could help explain what steps are still needed. In my opinion, the problem isn't so hard, but it needs to be tackled the right way.

@backspace
Copy link

This is somewhat of an aside, sorry: I’m looking at using Glimmer for web components in a small project but @knownasilya’s comment suggests the guides maybe oversell that capability.

I think we need to mark it as experimental, while we focus on all these other things. Or actually focus on it, otherwise people think it's ready and get disappointed when they can't do most basic things.

Where can I find out what it can and can’t do? Maybe I don’t need anything but basic things, but I’m not sure where to look to know.

@josemarluedke
Copy link
Contributor

@backspace I think this issue can give you some light on web components in glimmer.js.

@seacowcorby
Copy link

I would absolutely love integration with Ember here. My team hasn't touched Glimmer yet because it won't integrate with our ongoing Ember app.

@entvikas
Copy link

Can we use glimmer with existing ember apps right now ..

@locks
Copy link
Contributor

locks commented Mar 27, 2018

@entvikas we are getting closer but still not there.

@evil-shrike
Copy link

Hi.
Let me throw in. Disclaimer: I'm not a Glimmer/Ember user. Just come across the repo and doc site to look what did happen since last time I looked into it a year ago.
I can't see in the todo-list anything about documentation. I've just skimmed through the doc on https://glimmerjs.com/guides/ and it seems not much changed since last year unfortunately.
Just compare to at https://vuejs.org/v2/guide/ and https://reactjs.org/docs/.
So let me draw your attention to the need of good docs.
IMO it's still the thing that could make refraining from adopting Glimmer.

@arkenidar
Copy link

yes, FRIENDLY DOCUMENTATION. I need it. BTW documentation and other kind of EASE is what made me gravitate around ractive.js! developement should be eased!

@locks
Copy link
Contributor

locks commented Apr 18, 2020

Thanks for the discussion everyone! I will be closing this from the future year of 2020. You can follow the current roadmap at #236.

1 similar comment
@locks
Copy link
Contributor

locks commented Apr 18, 2020

Thanks for the discussion everyone! I will be closing this from the future year of 2020. You can follow the current roadmap at #236.

@locks locks closed this as completed Apr 18, 2020
@locks locks closed this as completed Apr 18, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests