Dapzer Thoughts
81 subscribers
153 photos
6 videos
4 files
60 links
Download Telegram
Forwarded from Movie-Tracker News
Всем привет!

Добавлена возможность возможность создать новый список из существующего публичного или приватного списка

===

Added the ability to create a new list from an existing public or private list
🥰3
Всем привет, стримов до 2 мая не будет в связи с поездкой в СПБ, желаю всем хороших выходных )
👍4
Всем привет, нужно ваше мнение, как вам новое название "Philmis" для movie tracker'a, хочу с новым дизайном провести и ребрендинг. Свои вариант вы можете присылать в комментарии
Anonymous Poll
16%
Нравится
31%
Неплохое
31%
Не нравится
22%
Устраивает, но хотелось бы другое
Всем привет! Я наконец распробовал Vue и Nuxt и хочу поделиться своим мнением о этих технологиях.

Начнём с предыстории. Все годы разработки я использовал React и считал, что в нём всё продумано и сделано по большей части хорошо. Vue же я пробовал 1 раз в начале своего пути и из-за слабого понимания программирования как такового я не смог его понять и начать на нём адекватно писать и с позором дропнул, вернувшись на React.

На изучение vue меня забайтил izede и luffibeng, за что им спасибо) Свой путь я начал с чтения официальной документации, которая для меня стала эталонной. Она плавно вводит в фреймворк, имеет хороший интерактивный курс и примеры кода.

Начнем с перечисления особенностей, которые показались мне наиболее важными.

Для работы с html во Vue есть такая прекрасная вещь как директивы, которые необходим для таких вещей, как: условный рендеринг (v-if), итерация по массиву или объекту (v-for), осуществлять двустороннее связывание с реактивной переменной (v-model) и т.д.

О v-model стоит поговорить отдельно, данная директива позволяет невероятно удобно работать с формами, привязывая с помощью данной директивы реактивное значение к инпуту и мы можем в роли реативного значение использовать не только строку, но и поле объекта или массив для мульти-чекбокса без необходимости писать доп логику. В реакте работа с формами это отдельный геморой, который зачастую требует установку библиотек, во вью же это сделано элегантно и просто.

Подход с реализацией директив мне очень понравился, он улучшает читабельность кода в разы и ускоряет разработку.

Стоит наверное обсудить реактивность и рендеринг. В Vue они намного продуманней и понятнее по сравнению с React, весь код выполняется 1 раз и всё, не нужно думать о том, нужно ли использовать useMemo/useCallback, за тебе это уже сделали и продумали всё так, чтобы не было лишних вычислений и рендеров. Что меня ещё удивило, так это то, что любая реактивная переменная экспортируемая из отдельно файла или компонента становиться глобальной и при этом не теряет реактивность, не пушка ли? Смотря после этого на работу с глобальным состоянием в React мне хочется плакать (

Далее перейдем к негативным и позитивным моментам, которые я успел встретить во время переписывания, доработки и редизайна Movie Tracker`a на Vue + Nuxt.

По началу я был скептично настроен к SFC (Single-File Components) т.к опасался, что будет тяжело и неудобно работать сразу с логикой, вёрсткой и стилями в одном файле. Но по прошествию времени я понял, что это очень удобная и практичная технология, которая ускоряет и упрощает разработку.

С самого начала меня поразило удобства и простота работы с ssr в Nuxt. Всё что требуется для запроса данных на сервере - использовать конструкцию await Promise в теле компонента, сравнивая с Next (v13) это небо и земля. Также забегая наперёд хочу отменить крутую экосистему модулей вокруг Nuxt, которая позволяет весьма просто и быстро настроить SEO и добиться хорошей индексации в поисковиках.

Хочу отметить крутую реализацию слотов, из главного: их может быть несколько, они позволяют передавать данные в дочерний компонент, что сильно упрощает создание компонентов, которые отрисовывать разные карточки в виде списка.

В целом в процессе работы с Vue я влюбился в него, написание фич и решение бизнес задач на нём значительно быстрее, чем на React. Но неужели всё так идеально? Нет, я успел встретить кучу проблем и ограничений, о них далее.

(1/2) #programming
🔥5
Начнем, с как по мне достаточно важной и основной проблемы Vue - типизация. При написании компонента “Типография” я не смог сделать его полностью полиморфным, а точнее типизировать компоненты на основе переданного as, но данную проблему должен решить хук defineAttrs (https://github.com/vuejs/rfcs/discussions/479), который должен появиться в одном из будущих мажорном релизе. А также многие библиотеки имеют кастрированную типизацию, что приводит к созданию issue и ожиданию фиксов.

Раз коснулись библиотек выскажусь и о них. Главная проблема - их мало и многие сделаны не идеально, речь идет не о чём то специфическом, а банально на примере кастомно селекта я опробовал две библиотеки и у обоих есть максимально глупые недоработки и ограничения. Надеюсь данная проблема с течением времени исчезнет благодаря увеличению комьюнити.

И самая главная боль - volar + webstorm. Поскольку у Vue своё, одноименное расширение файлов требуется свой языковой сервер стабильность которого оставляет желать лучшего, его приходиться часто перезапуска и на всякий случай проверять, что ошибка есть не только в webstorm`e, но и в vs code. Если у вас ещё и монорепа - земля вам пухом…

Ну что же, подведем итог. Я назвал минусов больше чем плюсов, значит ли это, что vue плох - однозначно нет, данные проблемы постепенно уходят и исправляются командой vue, которая делает инструмент для разработчиков, а не компании Facebook (да команда React?). Количество плюсов намного больше, но о них я бы устал писать ) Я влюбился в этот фреймворк и хочу писать на нём больше чем на React и погружаться всё больше в его дебри.

Также хочу подметить то, что Vue позволил мне лучше понять React и данный опыт изучения новой технологий мне очень понравился, следующая цель - попробовать другой язык программирования )

(2/2) #programming
🔥61
Всем привет, стримов до вторника не будет, но буду постить фоточки из Москвы )

#media
🔥3
Это было мега вкусно )
🔥9
Машина Гочи
🔥6
This media is not supported in your browser
VIEW IN TELEGRAM
Не ожидал увидеть Волгу
🔥2
Итог первого дня соревнований: получено невероятно много положительных эмоций, наконец то встретились с Сашей Сатонтом, мы сгорели на солнце и я успел встретить мем бабушку в метро, которая дала номер врача, лечащего от дцп)))

#live
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Всем привет, стримов до 27 числа не будет, но постараюсь в это время делиться фотографиями из отпуска )
😢2
This media is not supported in your browser
VIEW IN TELEGRAM
🔥7❤‍🔥2
Всем привет, половина отпуска пролетела не заметно, а чего то крайне интересно, чем можно поделиться с вами не происходило, к тому же я как всегда умудрился заболеть на третий день и два дня провел в постели.

Но за это время я начал учиться делать красивые фото, вроде бы выходит не плохо.

Море в Анапе в этом году тёплое и более менее чистое, а погода не такая жаркая, как в прошлом году.
🔥7