Git Product home page Git Product logo

Comments (12)

teobais avatar teobais commented on September 14, 2024

Hello @hirwandzahir ,

thank you for your interest in percircle!

To be honest, I do not see this happening for the near future, since I don't have the required time capacity, at the moment.

However, I would be happy to review a pull request that does so.

from percircle.

teobais avatar teobais commented on September 14, 2024

It's been a while, but I feel like asking this question.

If we're talking about a potential investigation of porting percircle to one of the modern frameworks, what should that be? What would best serve the purpose of this project?

  • Angular?

  • React?

  • Vue.js?

How does the community feel about this?

from percircle.

chris--jones avatar chris--jones commented on September 14, 2024

I feel this project is not suited to modern frameworks because the approach and toolset doesn't suit them.
It is uncommon to use jQuery these days as newer js frameworks are transpiled and modern javascript can easily handle a lot of what jQuery does.
Alongside the decoupling of jQuery there would need to be a fair bit of refactoring to be a bit friendlier for integration - e.g. the individual options should be able to be adjusted without having to re-render the entire control (e.g. percent), this is a particular concern for React.

from percircle.

teobais avatar teobais commented on September 14, 2024

Thanks a lot for your input, @chris--jones .
Moving to react.js sounds indeed right at the moment.

Would you like to pick this up?

from percircle.

chris--jones avatar chris--jones commented on September 14, 2024

I am also time poor at the moment, I will revisit if I get a chance.

from percircle.

chris--jones avatar chris--jones commented on September 14, 2024

Here's my 2c worth:

Therefore, I would consider that if we're going to enter the arena as an alternative we should probably consider:

  1. Focusing on the core objective - This is one of my main concerns with the project - it should focus on a percentage based circle, nothing more.
    e.g. Adding support for clocks and countdowns added unnecessary complexity and maintenance effort. It's also quite likely someone will come along with a new requirement or need a slightly different clock or countdown and be unable to produce it with the plugin as it is. We should offer a nice api that makes implementing these things easy rather than implementing everything. I'd probably extend this to the color themes, although management of the css is considerably less maintenance effort with #59 given the less variables, functions and autoprefixes.

  2. Offering different framework options - React just takes care of the rendering and state management side of frontend, there's no reason we couldn't refactor this project and provide a React component as a plugin that utilises a large amount of core code.

  3. Maintaining backwards compatibility - If people are using it because they can't support SVGs (although in this day and age I can't imagine that being reality) or can't use a modern framework (legacy systems, fair enough) then dropping that support would prevent this project standing out against the alternatives.

  4. Offering different render options - SVG really is the superior rendering option here, the main limitation of the current approach is that the background must be a filled colour (although I've been experimenting and may have figured that part out). We could probably refactor and offer both render options.

All this is a big ask and rather opinionated, but I think it's important enough to discuss before anyone jumps into a major coding effort.

from percircle.

teobais avatar teobais commented on September 14, 2024

Hey @chris--jones , thanks a lot for taking the time to provide your input.

Backward compatibility should be indeed there, so what we developed up until this moment shouldn't just vanish all of a sudden.

Moreover, I concur to anything else that you pointed out. Could we initiate a new branch and start making some progress step-by-step in there?

from percircle.

teobais avatar teobais commented on September 14, 2024

Hey @chris--jones , any updates here?

from percircle.

chris--jones avatar chris--jones commented on September 14, 2024

Nothing worth sharing yet, it's still early stages, but if you want I'll push a very barebones restructuring of the library as soon as I can.

from percircle.

teobais avatar teobais commented on September 14, 2024

Any news here @chris--jones ?

from percircle.

chris--jones avatar chris--jones commented on September 14, 2024

Not yet, I have been away and still time poor.

from percircle.

teobais avatar teobais commented on September 14, 2024

#85 introduced a Vue implementation which renders this issue redundant at this moment. Closing.

from percircle.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.