Comments (12)
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.
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.
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.
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.
I am also time poor at the moment, I will revisit if I get a chance.
from percircle.
Here's my 2c worth:
-
People using this plugin are probably using it in situations where they can't use a modern web frontend as it doesn't require these frameworks or SVGs.
-
There are already React alternatives: https://www.npmjs.com/package/reactjs-percentage-circle, https://www.npmjs.com/package/react-circular-progressbar, https://www.npmjs.com/package/react-circle
Therefore, I would consider that if we're going to enter the arena as an alternative we should probably consider:
-
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. -
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.
-
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.
-
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.
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.
Hey @chris--jones , any updates here?
from percircle.
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.
Any news here @chris--jones ?
from percircle.
Not yet, I have been away and still time poor.
from percircle.
#85 introduced a Vue implementation which renders this issue redundant at this moment. Closing.
from percircle.
Related Issues (20)
- Beautify readme
- Add animation on the fly HOT 7
- How to overwrite #custom-color percircle 5% to 33% HOT 1
- How to change the percentage value dynamically? HOT 2
- Maintainers Wanted! HOT 10
- Add contribution file
- Problem in update value dynamically HOT 3
- [gh-pages] Investigate usage of bootstrap HOT 1
- Mention StackOverflow tag in README HOT 1
- Add "Options" section in README.md HOT 1
- Add animate on scroll option
- Text not showing up when percent is 0 HOT 11
- Update README.md to match new webpack setup HOT 1
- Nothing Appears HOT 3
- Fill in the circle according to the server time HOT 1
- Port to vue.js HOT 10
- Add companies using percircle in demo page
- Fix bug gt50 when jumping too low below 50% HOT 2
- Add split circles feature
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from percircle.