@Freja Draco: ja się nie znam na froncie, ale myślę że mogę częsciowo odpowiedziec na pytania
Używasz 130 KB JS, żeby wygenerować niecałe 2 KB kodu HTML. Jaka jest tu korzyść dla użytkownika i dla serwera, skoro generując to samo na serwerze miałbyś 70× mniej danych do przesłania?
Poniewaz kolega uczy się się technologi która przy takiej strona może wydawać się overkillem. Celem kolegi nie jest stworzenie aplikacji pogodowej dla samej siebie tylko to jest ćwiczenie technologii ktora ma na sam start duże względnie zużycie zasobów. Podobnie jak ktoś np. ściągnie iles megabajtów jarów z jakimś konterem IoC żeby utworzyć jednego singletona który sobie pobierze z tegoż kontenera też będzie robić overkill.
Bo wiesz, pisząc coś takiego "z palca" zmieściłbyś się ze wszystkim pewnie poniżej 1 KB, ale co ja tam wiem ;)
J/w. Celem nie jest napisanie aplikacji pogodowej tylko nauka SPA . To czy to jest sensowne podejście do pisania to już inna kwestia, ale większość softu tak wygląda że masz renderowanie po stronie klienta.
Dla kolegi za to mam ostrzeżenie. Jako że bezpośrednio uderzasz z frontendu do innego serwisu, to ktoś na podstawie requestu (chociażby z konsoli przeglądarki) może podejrzeć jakie masz API key. W tym przypadku to nie jest pewnie aż tak grożne, ale w przypadku gdy już będziesz pisać poważny soft to może lepiej uważać ;)