Na chłopski rozum to najwięcej logiki będzie tam, gdzie jest najwięcej ifów. Piramidki ifów, switchy, zagnieżdżone wyrażenia or
czy and
- tam niewątpliwie jest logika XD Więc szukaj projektów ze spaghetti kodem.
Oczywiście Backend to sama logika. Jednak logika po stronie backendu skupia się wokół serwera i baz danych, czyli wokół poleceń POST i GET.
Odwoływania do serwera, baz danych, i polecenia GET, SET często określa się mianem nie logiki, a infrastruktury (warstwa niżej). No bo w końcu to są techniczne detale, a logiką mogą być raczej konkretne reguły, kiedy coś się powinno zapisać do bazy danych (a nie sam akt zapisania).
logiki związanej z funkcjonalnością strony/aplikacji?
Czy to nie jest takie masło-maślane? Wszystko jest jakąś funkcjonalnością (czy jak by chcieli puryści "funkcją") aplikacji. A jeśli za logikę przyjmiemy prawa i mechanizmy rządzące jakimiś zdarzeniami
(bo chyba o to znaczenie "logiki" tu chodzi), to tak:
Otwierasz modal na stronie - jest to funkcja otwierania modala. To, że otworzysz ten modal w zdarzeniu onClick
przycisku Otwórz Modal
- jest to pewna logika, pewien mechanizm, który rządzi wyświetleniem modala.
Robisz efekt przejścia w CSS (np. zmiana koloru tekstu) - i ta zmiana koloru to jakaś funkcja aplikacji. To, że się odpali ten efekt po najechaniu myszą (:hover
) jest to logika tej funkcji. Czyli logikę da się robić nawet w CSS, bez programowania.
Więc na froncie również że jest mnóstwo "logiki". Przenika ona wszystko i rządzi uniwersum ;)
Na froncie również będzie tzw. domain logic - załóżmy, że robimy sklep internetowy, to na froncie też będą obiekty typu Koszyk, Klient, Adres, Zamówienie, Faktura. Tyle, że i tak backend to wszystko potem zwaliduje. Na backendzie jest dużo magii, której nie ma na frontendzie (bo pewne rzeczy może zrobić tylko backend). Tak jak tutaj napisane:
Wyrzuć kod z frontu to nadal wszystko bedzie działać. Na dobrą sprawę z aplikacji możesz też korzystać wysyłając same requesty np. w terminalu. To po stronie backendu trzymany jest stan oraz operacje zmieniające ten stan - frontend tylko te operacje wywołuje.
Myślę, że to zależy od aplikacji, ale w wielu przypadkach to na backendzie może być więcej tego typu logiki dziedzinowej.
Z drugiej strony logika całkowicie nie-dziedzinowa (np. jakieś nieistotne animacje na frontendzie) mogą być faktycznie ciekawsze niż pisanie nudnych reguł biznesowych. Zastanów się więc, o co pytasz.