Gautier RSS – Dependencies Update

A July 18, 2018 update is available. The major change is XML data is now processed using XML2 as it was in previous versions from 2015. POCO C++ XML parser worked great but XML2 has a stronger production track record serving as the foundation for many mainstream solutions. I took a 2nd look at curlpp or the C++ version of curl and remembered why I did not install it the first time around. That library requires Boost and I generally do not use libraries too dependent on Boost. There is nothing wrong with Boost, but it is a large library with many dependencies.

I also updated the time limits to use UNIX epoch time values in their raw numeric form. The time values are saved alongside the headline updates for a given RSS feed. This eliminated a dependency on POCO C++ date and time functionality. I now use the functions from the C Standard Library. I could have used C++ chrono but the problem with chrono is it is not that time points cannot be saved to a text representation, but that the C functions for date and time does it in a more straightforward way.

POCO C++ is now only used to compare strings and perform minor string manipulation. Once I arrive at alternatives for those functions, the next revision of the RSS reader will not use POCO C++ library at all. Do not take that as there is anything wrong with POCO C++ but the lack of consistent handling of network issues was a major reason to migrate away from it. With the changes in place, the program is still a C++ program, but one in which the major parts are based on C APIs: XML2, cURL, and GTK (wrapped in GTKMM). The program by the way continues to work quite well and the latest changes improves performance a bit more.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.