JavaScript фреймворки


Давайте зададим себе фундаментальный вопрос: зачем нам нужны эти JavaScript фреймворки? Что именно они такое и что они помогают нам сделать, чего мы не можем сделать с помощью стандартного JavaScript? Рассмотрим некоторые из этих вопросов более подробно в статье ниже.

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

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

Простые подходы, такие как использование библиотеки jQuery, могут недостаточно полно удовлетворять ваши потребности. Но это могут сделать хорошо структурированные, такие как Angular, парадигмы разработки программного обеспечения или шаблоны разработки программного обеспечения, помогающие нам эффективно и масштабируемо реализовать эти веб-приложения.

Позвольте мне напомнить вам, что такое библиотека программного обеспечения. Библиотека - это набор реализаций поведения, которые вы неоднократно используете в своих приложениях. Таким образом, это поведение может быть реализовано с помощью функций с четко определёнными интерфейсами, так что их использование при реализации приложения становится простым.

Если вы занимались программированием на любом языке, вы часто увидите, что многие стандартные функции, поддерживаемые на этих языках, реализуются через библиотеки, которые вы используете. Например, библиотеки входа-выхода и, возможно, даже библиотеки GUI, которые поддерживают многие стандартные языки программирования. Именно здесь концепция повторного использования поведения очень и очень эффективна, потому что мы можем реализовать ее один раз в библиотеке, а затем повторно использовать это поведение там, где нам нужно в нашем программном приложении. Это также вносит модульность в способ реализации нашего приложения. Хорошим примером библиотеки программного обеспечения, используемой в веб-мире, является jQuery.

Следует также отличать библиотеку программного обеспечения от программного фреймворка. Программная среда - это абстракция, в которой программное обеспечение предоставляет такую общую функциональность, а затем предоставляет вам возможность настройки этой функциональности для реализации решений для вашего конкретного приложения. Таким образом, вы дополните структуру программного обеспечения своим собственным кодом, чтобы выполнить все, что вы пытаетесь выполнить.

Это другой способ думать о том, как вы пытаетесь решить проблему, а не использовать библиотеку программного обеспечения. Теперь эта программная платформа обеспечивает универсальную, многоразовую среду с определенной функциональностью, которая является частью более крупной программной платформы. Например, Angular.

Существует несколько других таких программных фреймворков, которые используются в веб-мире, включая Ember, Backbone и многие другие. Теперь, здесь, вы можете, очевидно, подумать над вопросом. Как отличить библиотеку от фреймворка? Каковы основные характеристики каждого из них и почему вы классифицируете один как библиотеку, а другой как структуру? Где вы проводите различие между ними?

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

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

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

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

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

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

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

Когда мы говорим о фреймворке, один из важных аспектов того, как фреймворк работает, обобщается термином, называемым голливудским принципом. Что именно я имею в виду под голливудским принципом? Как работает голливудский агент, когда актер или актриса хочет найти работу в Голливуде? Они подходят к агенту, и агент обычно говорит вам, мы перезвоним, когда у нас будет для вас работа. Не звони нам, мы тебе перезвоним. Таким образом, по сути, структура отражает тот же принцип. Фреймворк говорит, что вы предоставляете все, что можете сделать, и фреймворк будет вызывать ваш предоставленный код, когда ему нужно что-то сделать.

Вот почему мы используем термин "голливудский принцип" в мире программного обеспечения. Это также можно "обозвать" с помощью этого другого выражения, называемого инверсией элемента управления. Когда вы используете библиотеку, вы, программист, контролируете, и вы диктуете, как код функционирует и как код выполняется.

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

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

Таким образом, вы полностью и контролируете, а затем вы по существу говорите: вот как вы должны выполнить задачу, а затем вы запишете шаг за шагом способ выполнения задачи; вы, как программист, полностью контролируете все шаги для решения задачи.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.



тегистатьи IT, javascript, фреймворки
Читайте также:




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Как я провел лето
Урок 15. Конкатенация строк с переменными JavaScript
Урок 10. Получение результатов от параллельных задач C#