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

🔥 Rewriting Colorpicker #81

Merged
merged 14 commits into from
Apr 19, 2021
Merged

🔥 Rewriting Colorpicker #81

merged 14 commits into from
Apr 19, 2021

Conversation

Toinane
Copy link
Owner

@Toinane Toinane commented Jul 3, 2020

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:

  • To bring Colorpicker back to the basics of how it works:
    • Use new technologies to allow easier maintainability
    • Better separation of functionalities
    • Working with the component approach
  • Re-imagine Colorpicker in its interface:
    • Make prototypes of the future interface
    • Integrate the next evolutions of Colorpicker in its interface
  • Automate the creation and update of Colopicker releases:
    • Use Github Actions to automate release building (both Stable and Nightly versions)
    • Finding a method to allow Colorpicker to be updated directly from its interface

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 :)

@Toinane Toinane self-assigned this Jul 3, 2020
@Toinane Toinane changed the base branch from master to dev July 3, 2020 22:04
@architgarg
Copy link

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

@Toinane
Copy link
Owner Author

Toinane commented Jul 20, 2020

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

Done! 👍

@Toinane Toinane merged commit f093f55 into dev Apr 19, 2021
@sonarqubecloud
Copy link

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

@Toinane Toinane deleted the rewriting branch April 19, 2021 16:57
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

Successfully merging this pull request may close these issues.

2 participants