Frenzy Blogja
Frenzy webnaplója: mindennapok Finnországban meg sok más dolog

Programozás elmélkedés meg WIN32 API   (CubeHead)   
Egy kis kisérletezős projekt (nem céges, hanem ilyen "szórakozós" :-) keretében két és fél év után ismét nekivágtam C++-al programozni Windows-t, méghozzá WIN32 APIn keresztül (semmi MFC) mivel ki akartam próbálni pár dolgot.

Korábban abban a tipikus programozó betegségben szenvedtem elég gyakran, hogy szerettem újra feltalálni mindent, saját magamnak megírni mindenféle cuccot. Ez aztán szerencsére lassan változni kezdett, mert a sok programozás bizony rámutat arra, hogy mindent nem lehet mindig megírni. Ahelyett hogy ezeket az alap építőköveket (pl. XML feldolgozás, net/HTTP kapcsolatok, stb) saját magam akarnám előállítani, érdemes talán meglévő megoldásokat, könyvtárakat vagy szolgáltatásokat használni, és igazából az alkalmazás lényegére koncentrálni (kivéve persze ha maga az alkalmazás ilyen alap építőkő).

Ennek a kis tanulási folyamatomnak persze nagy lökést adott a .NET Frameworkkel való ismerkedés, és az általa nyújtott szolgáltatások. Mert azért régi időkben mondjuk egy XML file letöltése HTTPről majd feldolgozása elég hosszas volt, ha én akartam megírni. Ez csupán néhány sor - és max 5 perc - hogyha C#-ban írom meg.

Na de visszatérve a kisérletezgetésre WIN32 APIval, ezúttal csomó olyan technológiát "fedeztem fel" magamnak, amik már régóta ott vannak, de igazából sosem vettem a fáradságot, hogy jobban felderítsem magamnak - bár tudtam, hogy léteznek. Ilyen például a Windowsba beépített kriptológiai szolgáltatások APIja (CryptAPI), mellyel például RSA kódolást lehet megvalósítani egyszeráen. Vagy a többek között FTP és HTTP letöltéseket lehetővé tevő WinInet, XML parsoláshoz MSXML. És mindezek például (bizonyos megszorítások mellett) akár már Windows 98-on is használhatók lennének. Nem beszélve arról, hogy mennyivel robosztusabb megvalósítások, mintha én nekiállnék írni sajátot (mert ilyen teljes megvalósítást biztosan nem csinálnék - vagy csináltam volna - egy nagyobb alkalmazás részeként).

(Azért zárójelben megjegyzem nem csak a Windows részeként lévő APIkat lehet és érdemes használni. Bár ún. 3rd party dolgoknál mindig ott van az a kérdés, lehet-e ingyen használni, a kereskedelmi termékbe beépíteni, stb :-)

Ugyanakkor amit már korábban is "éreztem", az még nagyobb hangsúlyt kapott. Vagyishogy mennyivel macerásabb C++-ban készíteni valamilyen alkalmazást, mint C#-ban, ahol a rendelkezésre álló eszközök választéka sokkal szélesebb, és nagyságrendekkel könnyebb őket alkalmazni is. :-)



 

Hozzászólások

Frenzy Re: Programozás elmélkedés meg WIN32 API
Azért vannak kategóriák, hogy aki nem bírja "idegekkel", felkészülhessen a kelletmetlen élményekre :-D

Ez amúgyis csak ilyen elmélkedésszerű valami akart lenni, semmi komoly :-)
Re: Programozás elmélkedés meg WIN32 API
az ilyen bejegyzéseidet úgy olvasom,h csak bekezdésenként rápillantok, ha van benne vmi számomra unalmas dolog (ftp, http, c#, rsa, api stb.) ugrok... így most ezt sem sikerült elolvasnom :)