Przeglądając strony developerów rozszerzeń do Joomla zauważyłem że jeden produkt jest pisany jako komponent, moduł albo dodatek i moje pytanie jest takie na czym polega różnica i jakie jest najlepsze rozwiązanie?