Какие проблемы решает фреймворк JavaScript, такой как React / Angular? - PullRequest
0 голосов
/ 03 октября 2019

Я новичок в React js, и я пытался понять, что реальная проблема делает js-фреймворки, такие как React, Angular, и почему нужно их изучать.

Конечно, когда я вижу преимущества фреймворка для всехговорить о «Shadow / Virtual DOM, маршрутизаторе, повторно используемых компонентах и ​​т. д.», но потом я наткнулся на ссылки ниже, которые говорят о чем-то другом

https://medium.com/dailyjs/the-deepest-reason-why-modern-javascript-frameworks-exist-933b86ebc445

https://www.codementor.io/binarymuse/react-components-from-a-jquery-programmer-background-du107k2lz

но они мне не были понятны

Так что я имею в виду понять, как трудно было поддерживать код js / jquery до того, как появились эти фреймворки.

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

Ответы [ 5 ]

2 голосов
/ 03 октября 2019

Другие уже упоминали о преимуществах и о том, что решают эти фреймворки.

Я хотел добавить, какие проблемы они могут создать:

  1. Я видел много людей, которые используют фреймворк, видятэто как молоток и каждый сайт как гвоздь. Другими словами, они либо не понимают, либо не могут понять, что во многих случаях рамки не нужны. Я видел веб-страницы, на которых почти 90% статических данных по-прежнему загружают всю платформу просто для того, чтобы предоставить выпадающие меню или что-то еще тривиальное.
  2. Фреймворки вынуждают вас перейти к жизненному циклу и стилю разработки, которые в некоторых отношениях делают некоторыевещи проще, а вещи намного, намного сложнее. У AngularJS был неприятный цикл дайджеста, который часто приводил к осложнениям. Redux вынуждает вас писать гораздо больше кода, чем необходимо, только для обработки состояния, которое на многих страницах не требуется. Vue, React, Angular все вынуждают вас либо использовать их функции создания данных, либо способ рендеринга, либо способ обработки связи между элементами. И ничего из этого не быстрее, чем vanillaJS. Даже у виртуального DOM есть свои проблемы.
  3. Размер платформы часто намного больше, чем нужно. У меня есть несколько небольших библиотек, которые выполняют большую часть работы, которую выполняет фреймворк, но мой код находится в диапазоне менее 5 КБ, я загружаю все это.
  4. Некоторые люди, которые изучают фреймворк первыми, не могут понять, какнаписать в сыром JavaScript. Они также склонны изучать небрежные способы написания кода. Нет, не все, но большое количество людей, которые не начинали с ванильного кода JS, пишут код, который, как правило, гораздо больше и медленнее, чем необходимо.
  5. Лучше избегать JavaScript, за исключением тех случаев, где это действительно необходимо. Часто я могу использовать сырой HTML и CSS, чтобы делать все, что мне нужно. Я нахожу, что это редко, что мне нужно использовать много JavaScript, даже в проектах, которые превышают несколько тысяч файлов. Это позволяет браузеру быстрее обрабатывать HTML и CSS, которые обрабатывают все со скомпилированной скоростью и используют JavaScript только для вещей, которые вы не можете сделать в HTML и CSS.

Это мое мнение. Я работаю разработчиком почти 40 лет и работаю старшим веб-разработчиком со времен IE3, и я придерживаюсь этих мнений.

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

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

2 голосов
/ 03 октября 2019

Вам не нужно «учить» их, но многие люди и компании используют их. Основным преимуществом является возможность иметь весь ваш сайт на одной веб-странице, где вы просто изменяете данные, и он обрабатывает изменение элементов на странице для вас. Например, вы можете просто подумать: «поместите здесь имя пользователя, а когда они нажмут на кнопку, добавьте еще одно поле списка», но вам больше не нужно думать о «получить этот элемент DOM, установите его innerHTML для имени пользователя». и когда они нажимают кнопку, создайте новый элемент DOM для ввода, еще один элемент для метки, получите элемент контейнера, добавьте новые дочерние элементы ". Это также позволяет вам более легко связывать данные с элементами DOM, так что вы можете просто сказать «это поле для переменной« numberOfItems »» вместо того, чтобы беспокоиться о захвате элемента DOM и его значения и сохранении его в numberOfItems, когда вам это нужно;с React / Angular / и т. д. эта переменная всегда будет актуальна с учетом введенных пользователем данных без необходимости ее обновления.

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

0 голосов
/ 03 октября 2019

Это широкое обсуждение фреймворков в целом. Легко сказать, React, Angular и т. Д. Упрощают манипулирование DOM-элементами и повторное использование компонентов, но применение фреймворков обычно помогает решить вашу проблему.

0 голосов
/ 03 октября 2019

в javascript мы загрузили веб-страницу с помощью location.href, но с помощью angular / реагировать мы обновляем страницу автоматически.

0 голосов
/ 03 октября 2019

Что такое React JS?

ReactJS - это библиотека JavaScript с открытым исходным кодом, которая используется для создания пользовательских интерфейсов специально для одностраничных приложений. Он используется для обработки слоя представления для веб-приложений и мобильных приложений. React также позволяет нам создавать повторно используемые компоненты пользовательского интерфейса.

React позволяет разработчикам создавать большие веб-приложения, которые могут изменять данные без перезагрузки страницы. Основная цель React - быть быстрым, масштабируемым и простым. Работает только на пользовательских интерфейсах в приложении. Это соответствует представлению в шаблоне MVC. Его можно использовать с сочетанием других библиотек JavaScript или сред, таких как Angular JS в MVC.

https://www.c -sharpcorner.com / article / what-and-why-реагировать /

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