Pár dní pracuju na jednom cross platform gui toolkitu, který bude sloužit jako základ pro něco dalšího.
V podstatě něco takového není úplně jednoduchá záležitost a nelze tam moc vymýšlet. Dělal jsem si nějakou dobu rešerši
a pak začal programovat defakto stylem - analýza kódu v open source existujícím gui toolkitu a následné zanesení do vlastní implementace, pokud to dávalo smysl.
Jenže...velice brzo jsem si uvědomil jednu věc, že v podstatě tam není nic, co se dá vypustit nebo udělat nějak jinak.
Víceménně to skončilo tak, že inkrementálně přepisuji do jiného jazyka - tzn. implementuji nejprve podstatné části jako nastavení velikosti okna apod.. a věci jako drag and drop, clipboard atd.., nechávám na později. Změny se týkají akorát nahrazením nějakých jazykových konstruktů a či hodně ojediněle udělání něčeho jinak.
Ty frameworky jsou za ty roky práce xy lidí tak vyladěné, že to opravdu skoro nejde jinak, než to přepisovat 1:1. Všiml jsem si, že ale některé bloky kódu i v tom fw, ze kterého čerpám nejvíce, jsou úplně totožné s bloky kódu v jiném frameworku
.
Otázka - takhle nemám z toho úplně dobrý pocit, že to v podstatě přepisuju, jenže když potřebuju cross platform gui toolkit čistě implementovaný v jazyce, ve kterém zatím žádný neexistuje, tak co mi zbývá? Všechno se snažím analyzovat a opravdu jsem zatím nenarazil až na cca 2-3 připady na něco, kde bych měl pocit, že by to šlo udělat líp, navíc jsem na to sám a chci, aby se to nějak hýbalo ten progress.
Je bežné v open source komunitě, když vznikají nové projekty, že se "opisuje" z jiných projektů?