Zalety Svelte wobec React i Vue
Czy jest jakaś korzyść z używania Svelte zamiast React lub Vue?
Czy tylko ze względu na wydajność?
Łatwiej jest zintegrować "surowe" biblioteki JavaScript, ponieważ Svelte działa na prawdziwe obiekty DOM, a nie wirtualne.
Przynajmniej dla Vue, biblioteka vanilla JS jest kompostowalna z dala od integracji. Vue używa wirtualnej domeny do dyfowania, ale aktualizuje dom w konfiguracji, a późniejsze aktualizacje pojawiają się tylko atomowo po zmianach stanu.
Zgadzam się. wpadłem w kilka razy, gdzie musiałem zintegrować biblioteki vanilla javascript i działa tylko z svelte. nie użyłem vue w wieku, więc nie wiem ani nie pamiętam, czy ma podobne możliwości.
Granularna reaktywność ?
Nie ma potrzeby wysyłania czasu bieżącego, ponieważ Svelte nie używa wirtualnego domku.
Svelte ma czas uruchamiania z svelte 5 dla runy i sygnałów - ale jest mały i pozwala aplikacjom rozwijać się znacznie lepiej w rozmiarze niż wcześniej. Tak więc przed svelte 5 nie było czasu uruchamiania, ale dlatego kod był "duplikowany" między komponentami. Teraz jest trochę większy na początek, ale dlatego aplikacja rośnie znacznie wolniej niż wcześniej.
Myślałem, że używa sygnałów JavaScript poniżej.
Oczywiście, sygnały są wdrażane w JavaScript, ale nie ma standardu dla sygnałów w JavaScript.
Widok jest podobny, ale różnica między reakcją jest oszałamiająca. reakcja zmusza Cię do poznania wielu dodatkowych pojęć i luk i karabinów, których należy unikać.
Niestety przekonwertowałem z sveltekit do nuxt, ponieważ jest wystarczająco duży, aby nie martwić się o skalowanie zespołu na nim.
Co dokładnie brakuje? co powstrzymuje zespół używający svelte od skalowania?
Nic poza tym nie jest stosunkowo zielone dla nowych deweloperów.
Twierdziłbym, że każdy deweloper, który jest wystarczająco inteligentny, aby zrozumieć React, może wyprzedzać swoje React-self w Svelte w ciągu tygodnia lub tak. Oczywiście nadal będą mieli trochę kłopotów z tłumaczeniami "jak zrobić X w Svelte", ale nawet z dokumentami trwale otwartymi, zazwyczaj mogą wyprzedzić swoje React-hook-soup-self.
Może służyć tym samym celom, co projekt vue lub react. Nawet założyłem swoją firmę za pomocą svelte, a to jest możliwe. Svelte może być szybszy w rozwoju, ale jednocześnie, gdy napotkasz problem, jest o wiele trudniej rozwiązać. Nie mówiąc o nabywaniu talentów, ponieważ jest to o wiele prostsze dla vue, ponieważ istnieje tylko więcej deweloperów. Uwielbiam svelte i zawsze byłem zwolennikiem, nie bój się mnie.
Dlaczego trudniej jest rozwiązać problemy Svelte? Baza kodowa jest dość dobrze utrzymywana przez niektóre wyraźnie bardzo kompetentne osoby, więc można przyjrzeć się, dlaczego nie działa. Szczególnie przy pomocy AI. A dokumentacja jest również dość świetna. Dla mnie najbardziej myląca rzecz o sveltekit jest to, jak proste jest. To tak, jakbym spodziewał się więcej czarnej magii niż jest. Ale może nie używam jej wystarczająco długo. O jakich kwestiach myślisz?
To po prostu nie (z mojego doświadczenia). buduję w Svelte od pierwszych dni, z wieloma aplikacjami w produkcji. buduję w React dla normalnej pracy, a Svelte dla wszystkich moich własnych rzeczy. React tworzy interesujący paradoks, w którym introduje wiele problemów ze względu na złożoność, którą wymaga. To sprawia, że deweloperzy obawiają się mniejszej publiczności w Svelte, ponieważ zastanawiają się "kto odpowiedziałby na wszystkie te pytania, które zawsze mam???" Ale odpowiedź jest bliższa "wiele z tych pytań nie miałbyś nawet w Svelte".
Tak zgodził się, to właśnie mam na myśli.Najbardziej przerażające jest to, że w Svelte nie ma się o co martwić, więc wydaje się, że czegoś brakuje.
Najgorsze problemy, z którymi musiałem się zmierzyć przy użyciu Svelte, to subtelne różnice w sposobie, w jaki łańcuchy zależności od sklepów pochodnych i reaktywne oświadczenia "$:" radziły sobie z aktualizacjami, tworząc różnice w zachowaniu do pozornie równoważnej logiki. Ale nawet to było przewidywalne, zrozumiałe architektonicznie, łatwe do pracy i prawie nigdy nie było znaczącym problemem, że większość doświadczonych deweloperów Svelte nawet o tym nie wiedziała.
Czuję się, jakbym był jednym z niewielu, którzy nie kochają runy... są niesamowite w niektórych przypadkach i czują się jak regresja DX w innych. W pełni zgadzam się z tobą w niektórych wyzwaniach reaktywności, ale wtedy każda reaktywna rama wydaje się mieć ten problem w jakiś sposób (z pewnością w React w moim doświadczeniu).
Absolutnie
dla kodowania agentycznego mniej token expediture
Aha, lol, nie rozmawiałem o tym
Błędem, dopóki nie udowodnisz
Nie próbowałem ostatnio, ale kilka miesięcy temu czułem się odwrotnie, ponieważ głupie modele po prostu zainstalowały pakiety React, chociaż powiedziałem, że nie.
Znalazłem to łatwe do użycia podczas tworzenia biblioteki generatora obrazu z trasą .png to po prostu nie jest coś, co można zrobić w widoku. Możesz w reakcji, ponieważ obsługuje te funkcje po stronie serwera. Svelte czuł się łatwiej i czyściej, gdy przetestowałem oba. (Używa się do generowania unikalnych nagłówków dla postów na blogu opartych na wersji slug tytułu jako nasion)
Mniej stresu
Praktycznie wszystko oprócz rynku pracy
Mogę zostać odrzucony za to, ale myślę, że rynek pracy jest dziś równie trudny, niezależnie od biblioteki lub ramki, a to staje się starą dyskusją.
Dla tego, co jest warte, AI jest tym, co sprawiło, że zacząłem "używać" Svelte po raz pierwszy. nie mogłem tego usprawiedliwić wcześniej, pomimo badania i stwierdzenia, że jest to ogólnie prawdopodobnie najlepsze ramy, ale teraz, gdy mogę zasadniczo napisać wszystko w czegokolwiek, poszedłem od nigdy nie dotykając Svelte do używania go wszędzie. agenci wydają się dobrze z nim pracować. Nigdy nie napisałem linii kodu Svelte sam - lub, szczerze mówiąc, żadnego kodu frontend, pre-AI zawsze pracowałem z bałaganowymi vanillą JS / TS - ale zasadniczo po prostu biłem AI z "ok, spróbuj podzielić to na więcej komponentów i ponownie użyć tych istniejących komponentów zami
Svelte kosztuje mniej tokenów. Poważnie! Opracowałem złożoną stronę internetową 3x za pomocą Svelte, React i Vue za pomocą Claude 4.8 Svelte było o wiele tańsze. Podobnie jak eliksir jest tańszy niż Python Zig jest tańszy niż rdza Rozwój Elixir jest tańszy niż większość języków. Czy to naprawdę ma już znaczenie, jaki jest język? To wszystko o prędkości i koszcie tokenów nie dni człowieka. To: Jak szybko można osiągnąć rozwiązanie bez błędów przy użyciu minimalnej liczby tokenów. Technologie, które są najtańsze do opracowania z LLM powinny panować, chyba że sprzedawcy tokenów mogą wpływać na stosy technologii. Ale, hej, prowadzimy samochody benzynowe od setek
Hahaha oh lord wyobraź sobie optymalizację zatrudnienia dla ręcznego kodowania w 2026 roku
Chociaż nie jest to kodowanie ręczne, otwory pracy nadal wymagają doświadczenia w określonym języku i ramie oraz w używanym przez projekt infra, a nie tylko w jakimś języku, ramie i infra.
Bardzo jasny komentarz
Slam dunk komentarz.
Bardziej przejrzysty i prosty kod, mniej pistoletów i idiosynkrazji ram, żaden vDOM (wychodzi poza wydajność). BTW, istnieje rosnąca liczba wysokowydajnych dużych graczy (nie wystarczy), którzy poszli w pełni na Svelte (Apple, Hugging face,...).
Tak, będziesz miał zabawę debugowania, gdy wysyłają całkowicie zepsutej wersji z ramki Inne niż to, DX jest o wiele, o wiele gorsza. Integracja TS jest również o wiele gorsza. Svelte jest zabawną ramką, jeśli używasz jej na swojej liście do zrobienia typu projektu.
Oprogramowanie ma błędy, już je naprawiły.
Nie powinieneś instalować pakietów, które są młode w każdym razie w tym dniu i wiek uprzejmości ataków łańcucha dostaw.
https://www.npmjs.com/package/svelte?activeTab=versions Myślałem, że uszkodzona wersja była ostatnia od 3 dni z 130k pobrań.
Aktualizujesz do najnowszych wersji wszystkich swoich pakietów, w produkcji? Czy błagasz o hakowanie? Brak minimalnej polityki wiekowej?
Lepiej przestać pić
DX. Studiowałem React jak 3 razy, różne kursy, dziesiątki projektów dla zwierząt domowych. Zajęło mi około 4 miesięcy, zanim kliknął. Ale z Svelte byłem gotowy do tworzenia w ciągu 3 dni studiowania. BTW to śmieszne, że Svelte czuje się bliżej Vanilla JS, niż React.
Bardzo kilka lat budowy React pod moim pasem, zanim dotknąłem Svelte, a ja w ciągu jednego lub dwóch dni byłem już szybszy w tym ostatnim.
React ma również dsl, JSX nie jest wanilią
JSX jest syntetycznym cukrem dla React.createElement()
Tak, jest to syntactyczny cukier. szablony Vue są cukrem dla Vue createElement Svelte szablony są cukrem dla operacji domów Każdy z nich używa niestandardowych rozszerzeń plików, .tsx/jsx, .vue i .svelte.
hmm, to ma sens
zdrowia psychicznego
czysta syntax, prawie taka sama jak vue, nie za dużo potrzebuje ext deps
Funkcje zdalne: https://svelte.dev/docs/kit/remote-functions
A teraz obsługują streaming w czasie rzeczywistym.
Pisałem React profesjonalnie, ponieważ była to niszowa nowa biblioteka z Facebooka.
W rzeczywistości narzędzia pasujące są lepsze dla React still.
Wciąż pracują w React do dziś (dla pracy) i nadal mogą bezpiecznie powiedzieć, że Svelte jest po prostu czystszy, prostszy, lepsza wydajność i rozwiązuje tak wiele problemów na poziomie aplikacji, że React nie.
😂 Uczynił mój dzień
Jest to dobre dla wbudowanego rozwoju stron internetowych, ponieważ zużywa mniej miejsca na przechowywanie
trudno jest napisać zły kod. kompilator po prostu robi ciężkie podnoszenie. Panel produkcyjny był 2MB na moim React MVP do 500kb w mt Svelte Code. Wszystko ładuje się szybko, aplikacja jest snappy, kod nie jest piekłem. Mniej zagrożony ekosystem pakietu, mniej bibliotek do nauki. to po prostu działa.
1.DX 2.Prob zapisać więcej tokenów dla kodowania agentycznego 3.Nie ma dziwnych pojęć do nauki... w przeciwieństwie do React
Twój plik typu jest po prostu zrewolucjonizowany w swoim własnym pliku. Front-end to dwie rzeczy. 1. oświadczasz, co twój HTML/CSS jest dla danego zestawu zmiennych (stan): to jest szablonowanie. 2. piszesz tę samą logikę łączącą działania użytkownika ze zmianami w tym stanie: to jest programowanie. To jest cała praca. Svelte 5 wziął obie i udoskonalił je. Programowanie: z runy, stan jest tylko zmienną typograficzną. let count = $state(0), a następnie count++. Napiszesz tę samą logikę zmieniając zmienną, zmieniając ją. Nic specjalnego, czysty typScript. szablonowanie: robisz plik `.svelte`` i piszesz HTML/CSS z doskonałym języ
Węgiel dla ulic, Svelte dla arkuszy
Zachowujesz swój rozsądek?
Wszystko
Łatwiej na agentach kodujących. mogą łatwiej rozumieć ze swelte, ponieważ rzeczy nie są zbyt abstrakcyjne.
Wykorzystaj tylko to, w czym AI jest najlepsza.
Będziesz go kochał, to jest największa zaleta.
Jedna biblioteka dla Frontend i Backend, React może to zrobić, ale Reac komplikuje.
React: mamy rozwiązania do Twoich problemów, a następnie mamy rozwiązania do problemów, które nasze poprzednie rozwiązania zrobiły... a teraz pobierasz 600kb wartości React on page load svelte: mamy reactivity... zarządzanie stanem... i JavaScript, dowiedz się rozwiązanie Twojego problemu przez siebie bro
Podstawowym elementem byłby składnik Web Components i inteligentne wykorzystanie łączenia. Nie musimy w pełni polegać na pełnym zestawie ram. Wybierz wszystko, co działa na małą skalę, zbuduj komponenty / widżety i owinąć kontekst, aby AI mogło lepiej dostarczać, a także możesz kontrolować jakość.
Powiedziałbym, że pytanie jest "vs react". więc, doświadczenie dewelopera. Vue ma prawie identyczny DX.
Developer Experience jest po prostu ładniejszy, pracował przez 3 lata w stosie Svelte, SvelteKit, Typescript, GraphQL.
Czy mógłbyś opracować trochę po nicku?
React tutorial często czuje się, jakbyś potrzebował całą listę uzależnień, aby uzyskać podstawowe rzeczy. Dużo z niego może czuć się hacky, nie bardzo zaokrąglone i pełne dziwnych pojęć lub ukrytych pułapek, które nie są oczywiste na początku. Z biegiem czasu czuje się napełnione, zwłaszcza w złożonych komponentach, takich jak zapłata / baza kodowa lub podobne rzeczy. Pracowałem na sklepie internetowym dla etykiety mody tutaj w Niemczech, gdzie byliśmy przywiązani do Svelte dość szybko. Było zabawne pracować z PHP, Smarty i Vue do pełnego rewritu ze Svelte, SvelteKit, TypeScript i GraphQL. Po latach pracy z tą tradycyjną bazą kodową,