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

Roadmap #563

Closed
2 of 11 tasks
lucacasonato opened this issue Jul 30, 2022 · 21 comments
Closed
2 of 11 tasks

Roadmap #563

lucacasonato opened this issue Jul 30, 2022 · 21 comments

Comments

@lucacasonato
Copy link
Member

lucacasonato commented Jul 30, 2022

This issue exists as a continually growing roadmap for fresh. It is a rough outline of the features I want to add to fresh in the future. Features are seperated into two sections: short term (within the next month), and longer term (further than 1 month out).

Short term

  • More advanced data serialization for island props (support signals + jsx elements as props)
  • Deprecate <Head> and instead allow <head> anywhere in the component tree

Longer term

  • Extend plugin system to support injecting middlewares, islands, and routes
  • Introduce a first class type safe data fetching system for islands
  • First class session handling
  • First class data persistence
  • Improved error handling for server side rendered pages (404 pages etc)
  • Built in i18n support
  • Lazy loaded islands
  • Better testing story

Done

  • A plugin system for styling integrations
@pazguille
Copy link

Hi @lucacasonato, what do you have in mind for Lazy loaded islands? I would like to work on this feature.
I thinking options like:

  • whenIdle // requestidlecallback
  • whenVisible // IntersectionObserver

@lucacasonato
Copy link
Member Author

@pazguille See #565

@slim-hmidi
Copy link

@lucacasonato is there any plan for creating a library or extension for testing the UI components? Or it should be another project separate for testing UI components?

@lucacasonato
Copy link
Member Author

I think having a better testing story would be good. Please open a separate comment if you have ideas.

@rottenpen
Copy link

hi @lucacasonato , I want to be responsible for i18n supporting, can you be my mentor?

this is my rfc for i18n : rottenpen@e208eef

  • This case ⬆️ has the internationalized language switch between zh-CN and en-US
  • use i18n-runtime to get the i18n content
  • i18n.config.js is the options for fresh/plugins/i18n.ts

@jed1976
Copy link

jed1976 commented Aug 24, 2022

Something like Fluent that supports more natural-sounding translations might be a good fit as well.

@lucacasonato
Copy link
Member Author

@rottenpen Can you open a separate issue so we can discuss it there?

@sunw31
Copy link

sunw31 commented Sep 9, 2022

maybe this is a killer feature
https://github.com/floodfx/liveviewjs
https://github.com/beenotung/ts-liveview

@albnnc
Copy link

albnnc commented Sep 14, 2022

maybe this is a killer feature

God, please, no more jsp-like things.

@Industrial
Copy link

Hi! Is there a plan for prefetching of routes? https://web.dev/route-prefetching-in-nextjs is a good explanation of how this is implemented in Next.js.

@vwkd
Copy link
Contributor

vwkd commented Oct 7, 2022

@Industrial For route prefetching we’d probably need client-side routing first… #287

@brocococonut
Copy link

@rottenpen @jed1976 in the meantime for i18n, I created a fairly simple translation plugin :)
Let me know if it helps or if you have any questions!
git:brocococonut/freshlate
deno:freshlate

@tlgimenes
Copy link
Contributor

Hi! Is there a plan for prefetching of routes? https://web.dev/route-prefetching-in-nextjs is a good explanation of how this is implemented in Next.js.

Hi @Industrial , I've developed a small fresh plugin for adding nextjs-like prefetching using Google's quicklink library. Check it out at: https://deno.land/x/prefetch

@paudrow
Copy link

paudrow commented Dec 17, 2022

Introduce a first class type safe data fetching system for islands

This means something similar to how tRPC can be used with NextJS, correct? Like how it's used in create-t3-app. If so, this would be awesome!

@sebastiancarlos
Copy link

lmao, this lib is dead af, almost every commit since October last year has been showcase additions

@Industrial
Copy link

lmao, this lib is dead af, almost every commit since October last year has been showcase additions

"Hey guys look at me, I make nothing and everyone should give me the best and latest shit for free and make it snappy or else my face goes :("

Where is your "lib"? Mine is here, I think it was a good attempt, and I learnt a lot from UltraJS: https://github.com/Industrial/reflex

This is another one in the deno space: https://ultrajs.dev/

@arisris
Copy link

arisris commented Feb 7, 2023

Regarding session handling. I just made a prototype of it. Please check my gists https://gist.github.com/arisris/05284be5e78649b7a11eb443e22ee615 . Is that the concept?

@crispinb
Copy link

crispinb commented Mar 3, 2023

This is a tricky question to ask, as it risks being another of the 'any updates?' comments that plague gh issues and (worse) spam so many of us subscribing to them. Due apologies to anyone subscribed here who dislikes this kind of comment.

But then again this issue is explicitly a roadmap, so I think it's fair to ask here, given the relative paucity of recent substantive progress in the repo as a whole, whether the overall intent for Fresh is still something along the lines specified in this roadmap?

Taking it as a given that there are no guarantees, it would be useful to have some feedback about the current level of commitment towards maintaining and enhancing Fresh.

@nesterow
Copy link

nesterow commented Mar 4, 2023

I was recently looking for a way to use shared context in Fresh so that the useContext is available in the islands. I have a plugin in test: the source.
My code is somewhat hacky but might be useful. Having something similar in Fresh would be nice.

About i18n.
Is this really something that Fresh needs out of the box? This is not so hard to implement with preact itself. For example, I use a simple hook and context. It is a bit underdocumented but really simple to use:

@jlucaso1
Copy link

Hi, @lucacasonato
A reminder to update/check this:

More advanced data serialization for island props (support signals + jsx elements as props)

And a suggestion to add compression support like GZIP

@marvinhagemeister
Copy link
Collaborator

Closing this as we're switching to a monthly iteration plan. The current plan at the time of this writing can be found here #1485.

@marvinhagemeister marvinhagemeister unpinned this issue Jul 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests