Toinane / colorpicker

A mininal but complete colorpicker desktop app
https://colorpicker.fr
GNU General Public License v3.0
1.6k stars 120 forks source link

🔥 Rewriting Colorpicker #81

Closed Toinane closed 3 years ago

Toinane commented 4 years ago

Hey there!

This PR aims to put Colorpicker back on a good foundation for 3.0.0 It will be merged on the dev branch which is now the branch I will use for all new development. Each new PR on master will mean a new stable version of Colorpicker ( excluding modification of the readme or Github configuration file...)

Here are the goals of this PR:

These are the main lines of this PR. I know it's going to be tedious and time consuming, but it's a work that I need to do to ensure that Colorpicker will be more stable and secure and less volatile than it is now.

On the technology side, I regularly use React for professional projects, although I chose Preact here because it is lighter and allows me to keep my knowledge of React. I don't want the application to be unnecessarily heavier than it already is. Also I took the decision to put Typescript to avoid Javascript errors in the stable versions, this will allow me to make the code cleaner in general.

On the functionality side, the Picker is a very volatile feature because it requires me to use C++ modules not quite adapted. For this, I started to learn C++ to be able to make the Picker directly myself with the help of existing C++ modules. I already have a test version running on Windows and MacOS. For Linux I don't have a fully adapted solution yet. However I have noticed that Rust could be a viable solution for the Picker. So maybe I will migrate to Rust soon. In any case, the Picker will only come in a second time because it will take me a lot of time on its own.

The last point of this PR is also to take into consideration all the issues and solve them here. Some will not be resolved directly in this PR, but I will do my best!

Feel free to comment if you have any questions or comments :)

architgarg commented 4 years ago

@Toinane What's the purpose behind the rewrite? Can you jot down some top-level objectives in the description please?

Toinane commented 4 years ago

@Toinane What's the purpose behind the rewrite? Can you jot down some top-level objectives in the description please?

Done! 👍

sonarcloud[bot] commented 3 years ago

Kudos, SonarCloud Quality Gate passed!

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 1 Code Smell

No Coverage information No Coverage information
0.0% 0.0% Duplication