Code Monkey home page Code Monkey logo

Comments (1)

AArnott avatar AArnott commented on May 29, 2024

To use this library, I need to know that it has everything I need before downloading it. As long as it isn't 100% done, I am not using it (due to the fear of something missing).

I don't see why it's crucial that it has everything you need in order to use it at all. It's hardly mutually exclusive that you can either write P/Invokes yourself or use this library. You can do both. If you had 20 P/Invoke methods you needed and this library provided some of them, then that's some of them that you don't have to write yourself.
Of course, you can then write the missing ones in your own project. But per the contribution doc, you can choose to write those extra ones in this library and consume it immediately (not even waiting for your PR to be accepted) in your own project and thus this project grows organically based on the popularity of its APIs.

In my opinion, it is a non-goal to complete user32.dll or kernel32.dll. There simply isn't a need for some of these APIs. Take gdi32.dll for example: the only reasonable consumer for the full set of APIs in it would be someone writing a graphics framework like WinForms (not even WPF would use most of them). And catering to such an odd scenario isn't a productive use of active contributors' time. Focusing on APIs folks actually use will help more folks in general. And that might mean we have an average of 20% coverage of most libraries.

I think there are some areas that are more used than others (for instance shell32.dll, kernel32.dll and user32.dll). Could we start with these?

Any contributor that wants to add methods is of course very welcome to do so. So far, the active contributors we have have tended to add methods based on what they personally consume, which I think is a good model to follow because it will naturally grow based on demand/popularity of the APIs.

In the case of small, focused libraries such as BCrypt, I'm personally interested in reaching 100% coverage because I'll use most or all of them in PCLCrypto and 100% is a nice round number so I'd be willing to reach a bit further to finish it off.

from pinvoke.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.