When comparing NPM vs Krita, the Slant community recommends Krita for most people. In the question“What are the best web design tools?” Krita is ranked 2nd while NPM is ranked 9th. The most important reason people chose Krita is:
All the most used and useful tools are easy to find in Krita's UI and are often just one click away. They are not hidden behind menus or dropdowns.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Compatible with any CLI
NPM is compatible with any CLI the developer wants to use.
Pro Plenty of helpful NPM modules/plugins
NPM has a strong community that has developed plenty of libraries and plugins that are useful to developers.
Pro Very concise configuration
NPM scripts require fewer lines of code to run a given task. This is true even when it's for running build processes. Using Unix pipes lots of tasks can be reduced to one-liners.
Pro Does not need any wrapper modules
With other task runners, you need to install wrapper modules for tools you may already have installed. When using NPM that's not necessary, to use the tools you need, just install them directly through NPM.
Pro Part of node.js distribution
Pro You're most likely using NPM already
Pro Uncomplicated package management system
When it works...
Pro Easy to use layout
All the most used and useful tools are easy to find in Krita's UI and are often just one click away. They are not hidden behind menus or dropdowns.
Pro Constantly updated
Krita is getting constant releases with updates and bug fixes. New features are added at a pace that far surpasses the other alternatives.
Pro Free and open source
Krita is completely free and open source. They have raised a couple of successful Kickstarters in the past to get the initial financing and now they are accepting donations.
Pro Developed in part by KDE, which has a great community and therefore great support.
KDE has a long history of making solid applications.
Pro Amazing support for displaying brushes
Krita's preset brushes are one of the default dockers. Each brush has a preview on mouseover that shows a detailed view of the type of brush involved. All the brushes also have useful and descriptive names such as "HP Pencil" or "Textured Fuzzy".
Pro Very customizable
Although the UI is rather busy, Krita is very customizable. The editing window can be themed and the sidebar can be customized extensively throw many dockers or panes.
Pro Easy editing in a tiled view
Tiled view that shows your image tiled in the editor, and permits you to edit it as you are seeing it tiled. If the brush passes out of your texture, it will just automatically wrap back the painting to the other side of the original texture, while permitting you to paint and see the results on any of the tiled "clones" (the shortcut key to activate this is w by default).
Cons
Con Custom tasks require additional keyword 'run'
Only a few standard tasks support being executed without the run
keyword (e.g., npm start
vs npm run customtask
)
Con Not a build system, only a task runner
It is supposed to be used for running gulp, webpack or whatever. But it is not supposed to be used as a build system.
Con Passing parameters is awkward
In order to pass additional parameters to npm you must add them after --
(e.g., npm run build -- --custom='foo'
).
Con Badly documented
Less than bare minimum official documentation leaves users in the dark without taking often expensive external courses. Even the --help text has unpluggable gaps. One official source notes the documentation isn't adequate yet nothing has been done to fix this.
Con Lot of issues with authentication and random node problems
Unable to recover from common depencies conflicts consistantly. Error messages are not always helpful to debugging. Doesn't account well for users with different versions of node.
Con Does not run well with Windows
Since a lot of projects that use NPM as a build tool most of the time make use of Bash scripts as well. This means that open source projects that run the command npm run
may run into issues when used in a Windows environment.
Con Doesn't allow you to create build process with complicated logic on its own
In complex heterogeneous app you will quickly migrate to gulp, webpack or whatever leaving to NPM only simple task running responsibility.
Con New features are not tested thoroughly
Since releases are so often and with little time between them, usually new features are not tested a lot and this can bring a lot of bugs with them. Which fortunately are quickly patched in the next release.
Con Documentation is lacking
Krita's official documentation is incomplete in some areas, especially for new features that are constantly added. But this is compensated with it's great design and usability which makes it easier to understand how things work.
Con Poor touch controls
They are still pretty much a WIP. But they are getting there.