Cześć,
Od pewnego czasu uczę się JavaScript i im bardziej zagłębiałem się w czysty JS tym bardziej widziałem, że można bez TypeScriptu napisać dobrą aplikację z czystym obiektowym kodem (zwłaszcza po poznaniu modułów). Jakiś czas temu postanowiłem przerobić sobie kurs Vue, żeby zobaczyć jak on w ogóle wygląda, ponieważ często czytałem, że jest to jeden z najlepszych frameworków JS. Wiem, że przerobienie kursu to tak naprawdę wstęp do wstępu o rozmowach nt. podstaw Vue, ale tak na pierwszy rzut oka to... no nie zbyt mi się ta struktura podoba... Zanim w ogóle liznąłem Vue to wyobrażałem go sobie jako framework podobny do PHP-owego Symfony - tzn. komponenty Vue zawierają czysty JS i logikę bez żadnego HTML'a i CSS'a, a najlepiej jeszcze zorganizowane jakimś wzorcem. Widokami są pliki HTML + jakiś system szablonów do manipulacji danymi, a style to CSS, SASS, lub dowolny prekompilator. Tymczasem to co przerobiłem w kursie to głównie komponenty, które zawierają HTML (template), JS (script) i CSS (style), i to wszystko razem... Przyznam się, że jestem trochę zawiedziony, ale zdaję sobie doskonale sprawę, że o wiele więcej nie wiem niż wiem. W związku z tym mam 2 pytania:
- Czy takie trzymanie wszystkiego (HTML, CSS, JS) w jednym pliku Vue (mimo, że jest to niezależny komponent) to nie jest objaw spaghetti code? Od początku przygody z webówką uczyliśmy się, aby rozdzielać logikę od treści i stylów.
- Czy w taki sposób faktycznie pisze się aplikacje w Vue? Czy może po prostu tak się da, ale nie jest to dobrą praktyką?
Nie chcę być "jajkiem mądrzejszym od kury" - pytam szczerzę, ponieważ obecnie mam trochę mieszane uczucia co do Vue.
Bardzo proszę Was, JavaScript-owcy, o rozjaśnienie sprawy. Z góry dziękuję za wszystkie odpowiedzi!