Just wanted to point out these open source projects written by Jason Southwell, who in addition to being a well known Delphi developer out there is also my boss! Hi!
Anyways, I use these libraries where we both work, and I think you should all check them out.
SIVV Open source is on bitbucket ...
A few example projects:
Chimera Networking and JSON Library
Chimera project includes chimera.json, a very fast JSON library, and a bayeux (pubsub) network protocol client, and other things.
CocinAsync
Networking/threading/async library. It recently grew some new "flux" like capabilities for event driven programming.
DuckDuckDelphi
A nifty duck-typing facility built over delphi RTTI facilities. As the comments state in the project source:
// Instead of:
// if obj is TControl then
// TControl(obj).Visible := True
//
// You can simply call
// obj.duck.setTo('Visible',True);
The call will do nothing silently instead of blowing up if you had done a bad runtime cast. It's a nice pattern.
Discussion and questions on these components is at this site:
https://sivv.com/
Anyways, I use these libraries where we both work, and I think you should all check them out.
SIVV Open source is on bitbucket ...
A few example projects:
Chimera Networking and JSON Library
Chimera project includes chimera.json, a very fast JSON library, and a bayeux (pubsub) network protocol client, and other things.
CocinAsync
Networking/threading/async library. It recently grew some new "flux" like capabilities for event driven programming.
DuckDuckDelphi
A nifty duck-typing facility built over delphi RTTI facilities. As the comments state in the project source:
// Instead of:
// if obj is TControl then
// TControl(obj).Visible := True
//
// You can simply call
// obj.duck.setTo('Visible',True);
The call will do nothing silently instead of blowing up if you had done a bad runtime cast. It's a nice pattern.
Discussion and questions on these components is at this site:
https://sivv.com/
Thanks! I use DuckDuckDelphi and I love the way it works. On the other hand, the performance is bad when working with maybe over a hundred of objects.
ReplyDelete