3 ms·
> The core filtering engines used in the uBlock Origin ("uBO") extension, and has no external dependencies. When it says that they are no external dependencies
by jraph 4y ago
> The core filtering engines used in the uBlock Origin ("uBO") extension, and has no external dependencies.
When it says that they are no external dependencies in the first line of the README, that sounds like it's not very likely to change.
Note this: you can develop the core of something complex and widely used like uBlock Origin, without external dependencies, during your free time, for years.
(edit: to be fair, it embeds 2 libraries, Regex.Analyzer and publicsuffixlist)
- oaiey 4y agoThere are also architecture principles (e.g. onion architecture) which make the core of applications free of dependencies because there are the essence of your business logic. Without having read anything here with uBlock, this could be the url matching and the calculation if a block is applicable. Then you build your hosting, UI, testing, database, etc.. as layers around it which consume the exposed interfaces of the internal domain model. This produces highly portable modules. I have for example implemented a communication protocol against a stream interface. With this architecture we bound it later in 3 applications (Service, Cordova App, Windows App) to up to 3 different IO methods (USB, BT, TCP/IP) in even 3 programming languages (C++, .NET and JavaScript) doing communication with the same device. And 3-4 years ago, we even played with WebAssembly ... but that was not yet ready.