Widze, ze kilka osob juz sie dosc powaznie wypowiada i rzuca luzne idee, moze jakos skonkretyzowac nasze wizje?
To moze niech kazdy skrobnie jak wyobraza sobie, ze taka aplikacja mialaby powstac. Ja proponuje cos takiego:
kod: otwarty, na licencji typu gpl czy cos podobnego
systemy: windows (od 2000 w gore, co do 98 - no coz... kwestia dyskusyjna), linux, a jak sie znajda developerzy to mac i *bsd tez, czemu nie:)
jezyk: c++, bez zadnych 'rozszerzen' typowych dla danego kompilatora itp, w silnym oparciu o stl (stlport?) i biblioteki boost
srodowisko: najbardziej uniwersalne jest chyba eclipse, ale moze np. code::blocks? Albo w ogole uniezaleznic sie i oprzec np. na boost.build, tak, zeby kazdy mogl 'podpiac' sie pod ulubiony soft? Tyle, ze oficjalne binarki trzeba by bylo zawsze z tego samego srodowiska tworzyc, i, jesli bedzie to vs200x, to trzeba bedzie prawdopodobnie rozprowadzac tez redistributable package, trzeba wziac takie rzeczy pod uwage:) Jest to kwestia do przegadania:]
gui: prawdopodobnie gui bedzie pisane jako plugin (moze komus sie zechce, i napisze ui w trybie konsolowym, jako alternatywa? jest to jeden z wielu powodow, dla ktorych ui powinno byc jako plugin). Podstawowe gui powinno byc oparte na tej samej bibliotece na kazdy system, ale nic nie stoi na przeszkodzie, zeby powstal np. plugin specyficznie pod dajmy na to freebsd, w oparciu o jakas inna biblioteke;) Co do bibliotek - wybor pewnie padnie miedzy qt, wxwidgets i gtk+ z gtkmm. Sciagnac kazda, pobawic sie, zdecydowac? Inaczej chyba nie wybierzemy:)
dzwieki: podobnie, jak w gui - jedna biblioteka pod wszystkie systemy, itpitd.
kod systemo-zalezny (watki, net): piszemy sami, albo moze w czesci oprzec sie o boost? Ktos mial do czynienia np. z boost::asio?
Co o tym sadzicie?
P.S. Przyszedl mi do glowy taki pomysl, jeszcze dobrze nie przemyslany, na razie jako luzna idea. Program skladalby sie z 2 czesci (i tym samym oddzielnych procesow). Glowna czesc mialaby zaladowane pluginy protokolow, zapisywalaby historie, kontakty, jakas czesc konfiguracji itd. Druga czesc bylaby czescia uzytkownika - wyswietlalaby gui, grala dzwieki itd. Komunikacja miedzy nimi po czystym tcp lub ssl. Obie czesci odpalone na jednym pc dalyby w sumie normalny komunikator. Ale ktos przeciez moze odpalic sobie czesc 'serwerowa' np na routerze w domu
Wtedy z kazdego komputera mamy dostep do swojego komunikatora, ustawien, listy kontaktow... Powstaloby cos jakby ekg + screen;> I ta przenosnosc kodu - czesc 'serwerowa' moglaby smigac na freebsd, a 'kliencka' na mac'u na balkonie, windzie w pracy... ;> Jak myslicie?