Приклад проекту на Svelte
Коли ти шукаєш роботу на позицію Front End то треба знати щось з популярного React, Angular, Vue, а краще розбиратись в одному, а інші хоч поверхнево знати, принаймні такої стратегії притримувався б сам
Та я займаюсь серверною розробкою і тому можу дома гратись з різними JavaScript каркасами і коли на одному код стає занадто заплутаним переносити на інший каркас і в процесі рефакторити
Проект «карта вакансій» з самого початку була на чистому JS, потім на jQuery + TypeScript, зараз React + TypeScript і ось переношу на Svelte + TypeScript GitHub
React мені подобається, і якщо десь на нього нарікав то лише тому що мало досвіду, робив без Redux-а бо на мою думку він ускладнює код, сподобалась підтримка TypeScript + JSX = .tsx, з нею набагато зрозуміліше встановлювати в інтерфесі props + state які очікує компонент
Замість Redux використовував свій об’єкт Container в якому можна було підписатись на подію зміни фільтра одного компонента і викликати setState вже в іншому, так це антипатерн, код став заплутаним і перестав приносити задоволення при його зміні, переписувати було мало бажання, а ось спробувати щось нове саме те
Де я вперше почув про Svelte складно сказати, принаймні в останньому Front-end дайджесті жодної згадки про нього, лише в коментарях
Подивившись пару уроків, побачивши що зрозумілий, почав переносити на Svelte, перше розчарування, що в середені *.svelte файлів відсутня можливість писати в форматі TypeScript, підключати *.ts файли можна, а ось вказати тип вже ні
В цілому Svelte має гарну документацію, в основному викристовував svelte.dev/examples, значно лаконічніший ніж React, для мене показово як виглядають приклади «Click counter»:
React
import React, {useState} from "react"; function Example() { const [count, setCount] = useState(0); function handleClick() { setCount(count + 1); } return ( <div> <p>{count}</p> <button onClick={handleClick}>Click me</button> </div> ); }
<script> let count = 0; function handleClick() { count += 1; } </script> <div> <p>{count}</p> <button on:click={handleClick}>Click me</button> </div>
То що, хто буде починати домашні проекти на Svelte?
29 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів