fortran-lang / registry

Registry for Fortran package manager
MIT License
8 stars 3 forks source link

Frontend Frameworks considerations for the webpage of the registry #6

Closed henilp105 closed 1 year ago

henilp105 commented 1 year ago

I have considered the following Frontend Frameworks for making the registry webpage:

  1. Flask Easy to integrate, Cheap won't require a separate hosting, easy to maintain resides with flask templates.
  2. React / nodejs Easy to integrate, , difficult to set up and would require separate hosting.
  3. Flutter Easy but it is not scalable, more inclined towards mobile than web.

In the following considerations I would like to consider to use flask for making the frontend interface, for the design theme I would like to make it similar to the theme of the webpage which was designed by me and @awvwgk ( fortran + pydata custom theme).

I would like to request all the Community members to review and add suggestions on frontend frameworks . Please feel free to add here.

Thanks and Regards, Henil

CC @awvwgk @fortran-lang/admins @minhqdao @perazz @arteevraina

minhqdao commented 1 year ago

Flutter is very well scalable but still rather weak for user-facing websites due to its limitations in SEO and load speeds (engine doesn't come with the browser but has to be downloaded on demand; it's not huge but still adds a noticeable delay for slow internet connections).

Therefore I think that a JS framework is most sensible here. Can also consider Svelte or Vue.js instead of React. But it's not gonna be huge website anyway.

henilp105 commented 1 year ago

I think that a JS framework is most sensible here. Can also consider Svelte or Vue.js instead of React. But it's not gonna be huge website anyway.

I had Svelte in mind but had chose to not add it as it has problems in SSR and considering our application there will be a large amount of SSR going to be used and considering that it won't be a large website I had suggested Flask for the frontend , so that it completes 2 purposes with 1 Thing.

perazz commented 1 year ago

I think we should also consider stability/maturity of the APIs: given the relatively small Fortran community, we want to build on a framework that's going to be "here for the ages". So, probably React or Flask?

arteevraina commented 1 year ago

Flutter is very well scalable but still rather weak for user-facing websites due to its limitations in SEO and load speeds (engine doesn't come with the browser but has to be downloaded on demand; it's not huge but still adds a noticeable delay for slow internet connections).

Therefore I think that a JS framework is most sensible here. Can also consider Svelte or Vue.js instead of React. But it's not gonna be huge website anyway.

Yes, I would agree with @minhqdao. Flutter should not be the first choice for making a user-facing web application. There are definitely some limitations in SEO with that but there are also frame drops in some web browsers when you do basic Scroll operations on a bare minimum website. If it would have been a Mobile Application, we would have without any doubt proceeded with Flutter. But, since it is a website and that one is too user-facing so we should consider more mature technology like React, Vue, NextJS.

Since React's component-based building blocks of the UI are similar to Flutter Widgets. I think it would be easy to use.

arteevraina commented 1 year ago

I think we should also consider stability/maturity of the APIs: given the relatively small Fortran community, we want to build on a framework that's going to be "here for the ages". So, probably React or Flask?

Flask also has a templating language that will help us to build the front end. But, I think using a dedicated library / framework should be a better decision here.

arteevraina commented 1 year ago

This has been addressed.