Możesz robić wszystko lokalnie i potem wrzucasz na serwer, tak się właśnie pracuje, nigdy nie powinieneś pracować bezpośrednio na plikach na produkcji. Co więcej i tak najczęściej pliki produkcyjne nie są przystosowane do normalnej pracy, mówię tu o froncie, jest np. minifikacja itp.
Ale wracając do tematu to proponuję abyś najpierw zdecydował się w czym właściwie chcesz pracować. Wybierz środowisko back-endu np. node, PHP, Java itp. potem wybierz sobie bazę np. MySQL, sqlite, mongo czy jakąś inną.
Następnie wybierz sobie system pracy, czy chcesz jasno rozdzielić API i front czy chcesz je mocno łączyć. Ja jestem zwolennikiem rozdzielenia całkowicie API i frontu, czyli API po prostu wypuszcza jakieś dane, najczęściej JSONy na różnych endpointach, a front po prostu obsługuje te odpowiedzi i sam robi strzały do API. Tutaj przy większych apkach fajne są frameworki np. Angular, React, Vue itp. ale jeśli to początek nauki to lepiej chyba żebyś machnął coś w czystym JS i lepiej się go nauczył.
Jeśli jednak chcesz mocno łączyć back-end z frontem no to poczytaj np. o szablonach PHP (Twig, Smarty), node (ejs itp.), Javy (tu nie znam, nie pracuję z Java na codzień) itp.
Tak samo jak już wybierzesz te elementy to pomyśl nad frontem czy chcesz jakiś framework css np. bootstrapa czy nie. Tutaj ponownie, jeśli to początki nauki to polecam czysty CSS. Jak poznasz css to botka się nauczysz w 2 dni.