Archiwum January, 2006
Stamina.lib / K.API – kontrola wersji
Monday, January 30th, 2006W nowym K.API bardzo istotna jest skuteczna kontrola wersji, bo jak wiadomo różnice pomiędzy różnymi wydaniami bibliotek mogą prowadzić do (znacznych) niestabilności. Przydatna byłaby również możliwość zablokowania konkretnych wersji, w których występują znane nam już błędy. Typowym rozwiązaniem jest porównywanie wersji API programu i wtyczek. W tym wypadku jest jednak zupełnie niewystarczające.
Spójrzmy na przykład na wtyczkę kSound – wykorzystuje do działania tylko podstawowe elementy API. Jeżeli np. zostaną wprowadzone większe zmiany w API obsługi plików .dtb – podniesienie numeru wersji całego API spowoduje konieczność ponownej kompilacji i dystrybucji wtyczki. Można oczywiście zdefiniować i sprawdzać kilka wersji newralgicznych podsystemów, ale myślę, że najlepsze rozwiązanie zostało wbudowane w Stamina.lib.
Stamina.lib – podstawy
Saturday, January 28th, 2006Od dłuższego już czasu pracuję nad biblioteką Stamina.lib – będącej z założenia zbiorem klas ułatwiających obiektowe pisanie w C++. Założenie trochę się rozrosło, bo obecnie jest tu bardzo przyjemna obsługa wątków, plików .dtb, obrazów, zaczątki obsługi okien (które były pisane trochę “na gorąco” i w swoim czasie będą musiały być przekonstruowane ;) ) i masa innych przyjemności. Czemu pisać kolejną tego typu bibliotekę? Dobre pytanie :) Myślę, że chociażby dlatego, bo nie mogłem do tej pory znaleźć takiej, która posiadałby wszystkie poszukiwane przeze mnie cechy. Większość nie ma wiele wspólnego z obiektowością (GLib), inne z kolei są przeszablonowane i miejscami mało wygodne (boost). Wszystkie za to łączy jedna cecha – praktycznie w ogóle nie stosują czystych interfejsów. Być może gdzieś tam istnieje dokładnie to czego szukam – niestety nie było mi się dane na to natknąć, ani specjalnie intensywnie nie szukałem… Stamina.lib jest już faktem, a rozwija się dzięki pracom przy nowy API Konnekta (którego bez s.l już skompilować się nie da…).
Biblioteka jest co prawda wciąż w trakcie tworzenia (a co za tym idzie permanentnej przebudowy), to pewne jej elementy wydają się już na tyle stabilne, że można o nich cokolwiek napisać. Ten wpis będzie ewidentnie dla C++Geeks, więc takowych zapraszam dalej – inni z ciekawości też mogą popatrzeć co się gotuje :) Czytaj dalej »
