Найти тему
evilUnion

Основные фреймворки для веб

Оглавление

Это отрывок из курса – "База IT для бизнеса за час"

На этом уроке мы разберем, что такое Framework, CMS и библиотеки.

Фреймворки были созданы, чтобы упростить разработку. Каждый из них представляет из себя своего рода каркас, в котором уже есть готовые компоненты вашего приложения. Они привязаны к языкам программирования, которые, в свою очередь, влияют на характеристики продукта. Можно сказать, что фреймворки состоят из библиотек. Библиотеки решают какую-то одну узкую задачу. Это самый гибкий и дорогой способ разработки IT-продукта.

CMS-систему мы изучали подробнее в уроке 1.5.

Рассмотрим наиболее популярные продукты:

  • React
  • Angular
  • Vue
  • Gatsby
  • Next
  • Django
  • Express, Nest
  • laravel
  • WordPress
  • Bitrix

React

JavaScript-библиотека с открытым исходным кодом для разработки пользовательских интерфейсов. React разрабатывается и поддерживается FacebookInstagram и сообществом отдельных разработчиков и корпораций. На данный момент самая популярная Frontend-библиотека. На базе этой библиотеки сделаны основные фреймворки для Frontend: Next, Gatsby. Это означает широкую экосистему и большое количество разработчиков, знающих такую технологию.

Узнайте больше о React

Предназначениелюбые проекты.

React vs Angular

Angular

Открытая и свободная платформа для разработки веб-приложений, написанная на языке TypeScript (надстройка к JS), разрабатываемая командой из компании Google, а также сообществом разработчиков из различных компаний.

Порог вхождения в него очень высокий, поэтому его используют реже, чем React и Vue. Все сервисы Google сделаны на нем.

Узнать больше об Angular

Предназначение: крупные проекты.

Vue

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

На данный момент поддерживается сообществом.

Во многом похож на React.

Узнать больше о Vue

Предназначениелюбые проекты.

WordPress

Свободно распространяемая система управления содержимым сайта с открытым исходным кодом. Написана на PHP. Сервер базы данных — MySQL. Имеет удобную сеть плагинов, которыми можно расширять возможности сайта.

Когда-то был лучшей системой для созданий сайтов. Самая популярная система управления сайтами в мире. Сейчас фундаментально устарел из-за PHP и MySQL.

Узнать больше о WordPress

Отрывок из сравнения производительности баз данных

MySQL, к сожалению, проигрывает PostgreSQL, который не поддерживается основными CMS на PHP, но зато активно участвует во всех остальных системах на Node.js, Python, GO и JAVA.
MySQL, к сожалению, проигрывает PostgreSQL, который не поддерживается основными CMS на PHP, но зато активно участвует во всех остальных системах на Node.js, Python, GO и JAVA.

Gatsby

Фреймворк, построенный на базе React. Позволяет создавать очень быстрые сайты. Очень удобен в разработке и поддержке проекта. Появился в 2015 году, получил высокие оценки профессионалов и инвестиции в 35 миллионов долларов.

Узнайте больше о Gatsby

Предназначениелюбые проекты.

Результаты исследования 200 сайтов:
сравнение скорости загрузки сайтов, сделанных на Bitrix, Tilda, WordPress и Gatsby

Описание столбиков в статье.
Описание столбиков в статье.
Время загрузки самого большого объекта в миллисекундах
Время загрузки самого большого объекта в миллисекундах

Сайты Gatsby js работают быстро, потому что они используют технику, называемую «генерация статических сайтов». Это означает, что при создании сайта все HTML, CSS и JavaScript генерируются заранее и готовы к предоставлению пользователю без необходимости дополнительной обработки на стороне сервера. Это устраняет необходимость в запросах к базе данных или сложной логике на стороне сервера, что приводит к ускорению загрузки страниц. Также Gatsby использует такие методы, как разделение кода, ленивая загрузка, кэширование, webP изображения и предварительная выборка для дальнейшего повышения производительности.

Предварительная выборка (pre-fetching) – это техника, которая используется для повышения производительности сайта или приложения. Она заключается в предварительной загрузке контента или данных, которые вероятно будут запрошены в будущем. Это происходит в фоновом режиме после основной загрузки страницы. Gatsby видит какие страницы может посетить пользователь на текущей странице и загружает данные, которые могу потребоваться если он будет переходить на них. Предварительная выборка может существенно улучшить пользовательский опыт и увеличить скорость загрузки сайта.

WebP – это формат изображения, разработанный компанией Google. Он был создан с целью улучшения качества изображений при меньшем размере файла, чем у традиционных форматов, таких как JPEG и PNG. Он экономнее на 25%-34%. На данный момент он поддерживается уже всеми браузерами.

Разделение кода (code splitting) – это техника в разработке программного обеспечения, при которой основной код приложения разделяется на меньшие, отдельные части или блоки. Это позволяет загружать приложение только с необходимым кодом для конкретной страницы или функции, а не загружать вcю кодовую базу сразу. Это приводит к улучшению производительности, поскольку приложение загружает только необходимый код для действий текущего пользователя. Разделение кода также помогает лучше организовать и поддерживать код, поскольку каждый блок кода может быть разработан, протестирован и обновлен независимо.

Наша компания разрабатывает сайты на Gatsby.

NextJS

Открытый JavaScript-фреймворк, созданный поверх React.js для создания веб-приложений, разработан компанией Vercel. Самый популярный на данный момент.

Узнайте больше о NextJS

Предназначениелюбые проекты

Django

Cвободный фреймворк для веб-приложений на языке Python, использующий шаблон проектирования MVC. Это полноценный фреймворк, который позволяет делать Backend и Frontend. Frontend разрабатывается при помощи обычного HTML, CSS, JS. В новых реалиях это не самый удобный вариант для Frontend, и лучше заменять эту часть на React или Vue.

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

Предназначение: проекты, где скорость вывода новых функций важнее, чем скорость работы.

Express

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

Предназначение: небольшие проекты.

Bitrix CMS

Система управления сайтами и интернет-магазинами от компании 1С. Написана на PHP и базах данных MySQL. Выбрать эту систему — вероятно, самое плохое решение, которое вы можете принять. Нам не описать количество боли, которое мы и наши многочисленные коллеги испытали, «благодаря» этой системе.

На ум приходит сравнение с одним легендарным автомобилем: перед вами ВАЗ-2101 («Копейка»).

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

Вопрос: Почему эта система стала такой популярной?

Все очень просто: разработчики получают процент с продаж лицензий. 1С:Бухгалтерию делает эта же компания.

-5
-6
-7
-8
-9

Laravel

Считается лучшим веб-фреймворком на PHP.

Если по каким-то причинам вы хотите поддерживать PHP, то смело выбирайте его.

Это отрывок из курса – "База IT для бизнеса за час"