D
D
Danila2014-12-02 16:13:41
PHP
Danila, 2014-12-02 16:13:41

What does a package/library need to make it (a) popular?

I set out to write a library that will delight not only me, but also those around me. And now two questions:
1. The task that I will solve is convenient data/form validation. I looked at the packages on the github according to the words validators / validation and did not find anything very popular. Is there any validation library that is recognized by the community as Monolog for logging?
2. In your opinion, the most important attributes of a successful (read popular) library? (Code quality, extensibility, api conciseness, test coverage, documentation, confidence in long-term support).

Answer the question

In order to leave comments, you need to log in

2 answer(s)
F
FanatPHP, 2014-12-02
@FanatPHP

First of all - experience.
That is, the library should not be a Manilov bridge "from here to St. Petersburg", but be based, firstly, on the experience of the developer in the field in which he was going to make humanity happy, and secondly, on the real experience of operating the library, as a result of which the library corrected and supplemented.
In the case of the form validator, all libraries are developed according to the same scenario:
1. Rich experience tells the developer that there are two validation parameters: the presence of data and their length.
2. A convenient, beautiful, easy, fast, accurate library is written under this paradigm.
3. An attempt to use it in a real project reveals another 100,500 valization options and their combinations.
4. The developer tries to cram everything into the library, and it naturally becomes fat, ugly, clumsy, with a bunch of implicit agreements and hacks.

A
azShoo, 2014-12-02
@azShoo

1) Relevance (read demand).
2) Quality (no shitty code, no overengineering, simple and clear solution)
3) Embeddability (if it takes more time to implement your solution than to implement your own -> it’s clear what they will choose).
4) Be better than more popular alternatives.
5) Development and promotion. Fix bugs, collect feedback, promote in the professional community.
In general, everything.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question