Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/michalte/public_html/blog/system-core/connect.php on line 15 Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/michalte/public_html/blog/system-core/connect.php on line 15 RSS Dragonfly – nowa wersja dev na Githubie! | blog.michalt.pl

michalt.pl | blog

RSS Dragonfly – nowa wersja dev na Githubie!

25.01.2014Autor: MichałKategoria: Dev
Po bardzo długiej przerwie powróciłem do rozwoju swoich projektów. Na pierwszy ogień poszło RSS Dragonfly. Podczas tygodnia pracy udało mi się dokonać dużej liczby zmian, co można zauważyć przeglądając ostatni changeset. Aplikacja przeszła dosyć wyraźną metamorfozę zarówno po stronie front-end’u jak i back-end’u. Postanowiłem także nieco uporządkować sposób pracy przyjmując prostą metodykę. Przekonałem się o tym, że chaos nie służy rozwojowi projektów i wprowadziłem drobne zasady które bardzo mocno ułatwiają mi życie.

Moim głównym celem podczas tworzenia tej wersji była implementacja rozwiązań i narzędzi posiadających duże możliwości i pozwalających na dużą rozbudowę programu.

cURL

Pierwszą z nich jest cURL (PycURL) – pomysł na implementację tej biblioteki pojawił się w trakcie pisania wersji w języku C++. Podczas prac z biblioteką, zauważyłem że posiada ona ogromne możliwości – w przyszłości bardzo możliwe, że część z nich zostanie wykorzystana.

SQLite

Podczas prac nad wersją C++ napotkałem ogromny problem który praktycznie zablokował dalszy rozwój, kłopotliwa okazała się obsługa XML’a. Już w trakcie pisania kodu w Pythonie zastosowałem sporo prowizorycznych i kiepskich rozwiązań. Niedawno pracując nad nową wersją wpadłem na znakomity pomysł!
Do przechowywania listy i zawartości kanałów RSS postanowiłem wykorzystać technologię SQLite która jest o niebo wygodniejsza i dostarcza mnóstwo możliwości.

Architektura projektowa

Kolejna nowość to architektura projektu przypominająca nieco MVC – to rozwiązanie porządkuje kod i skłania do dyscypliny. Zysk? Większa przejrzystość pozwalająca na szybszą implementację nowych rozwiązań. Względem wzorców jest to dopiero wstępna zmiana…

Deser… ;P

Na deser pozostał front-end - tutaj także zaszły zmiany. Najbardziej widoczną jest nowy wygląd „okienka” wyświetlającego kanały RSS. Widget QTextBrowser został zastąpiony przez QWebView. QTextBrowser sprawiał spore problemy z wyświetlaniem elementów formatowanych przez kod CSS, problematyczne było także wyświetlanie obrazków w kanałach RSS. Pojawiły się również nowe ikonki – być może nie są one dziełami sztuki, ale zdecydowanie nie straszą wyglądem tak jak poprzednie. Ponadto dodałem także nowy przycisk który w przyszłości będzie odpowiedzialny za odświeżanie pojedynczego, zaznaczonego na liście kanału. Nie ustaliłem sobie terminu ukończenia tego wydania, podobnie jak nie zamknąłem jeszcze listy nowości. O wszystkich zmianach z pewnością będę pisał na blogu. :) Jeśli zainteresowała Cię rozwojowa wersja RSS Dragonfly, na stronie projektu znajdziesz odnośnik do repozytorium.