Это отрывок из курса – "База IT для бизнеса за час"
На этом уроке мы разберем, что такое Framework, CMS и библиотеки.
Фреймворки были созданы, чтобы упростить разработку. Каждый из них представляет из себя своего рода каркас, в котором уже есть готовые компоненты вашего приложения. Они привязаны к языкам программирования, которые, в свою очередь, влияют на характеристики продукта. Можно сказать, что фреймворки состоят из библиотек. Библиотеки решают какую-то одну узкую задачу. Это самый гибкий и дорогой способ разработки IT-продукта.
CMS-систему мы изучали подробнее в уроке 1.5.
Рассмотрим наиболее популярные продукты:
- React
- Angular
- Vue
- Gatsby
- Next
- Django
- Express, Nest
- laravel
- WordPress
- Bitrix
React
JavaScript-библиотека с открытым исходным кодом для разработки пользовательских интерфейсов. React разрабатывается и поддерживается Facebook, Instagram и сообществом отдельных разработчиков и корпораций. На данный момент самая популярная Frontend-библиотека. На базе этой библиотеки сделаны основные фреймворки для Frontend: Next, Gatsby. Это означает широкую экосистему и большое количество разработчиков, знающих такую технологию.
Предназначение: любые проекты.
Angular
Открытая и свободная платформа для разработки веб-приложений, написанная на языке TypeScript (надстройка к JS), разрабатываемая командой из компании Google, а также сообществом разработчиков из различных компаний.
Порог вхождения в него очень высокий, поэтому его используют реже, чем React и Vue. Все сервисы Google сделаны на нем.
Предназначение: крупные проекты.
Vue
JavaScript-фреймворк с открытым исходным кодом для создания пользовательских интерфейсов. Легко интегрируется в проекты с использованием других JavaScript-библиотек. Может функционировать как веб-фреймворк для разработки одностраничных приложений в реактивном стиле.
На данный момент поддерживается сообществом.
Во многом похож на React.
Предназначение: любые проекты.
WordPress
Свободно распространяемая система управления содержимым сайта с открытым исходным кодом. Написана на PHP. Сервер базы данных — MySQL. Имеет удобную сеть плагинов, которыми можно расширять возможности сайта.
Когда-то был лучшей системой для созданий сайтов. Самая популярная система управления сайтами в мире. Сейчас фундаментально устарел из-за PHP и MySQL.
Отрывок из сравнения производительности баз данных
Gatsby
Фреймворк, построенный на базе React. Позволяет создавать очень быстрые сайты. Очень удобен в разработке и поддержке проекта. Появился в 2015 году, получил высокие оценки профессионалов и инвестиции в 35 миллионов долларов.
Предназначение: любые проекты.
Результаты исследования 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. Самый популярный на данный момент.
Предназначение: любые проекты
Django
Cвободный фреймворк для веб-приложений на языке Python, использующий шаблон проектирования MVC. Это полноценный фреймворк, который позволяет делать Backend и Frontend. Frontend разрабатывается при помощи обычного HTML, CSS, JS. В новых реалиях это не самый удобный вариант для Frontend, и лучше заменять эту часть на React или Vue.
Отличается высокой скоростью разработки. Обычно с развитием проекта все компоненты переделываются на более производительные фреймворки.
Предназначение: проекты, где скорость вывода новых функций важнее, чем скорость работы.
Express
Это минималистичный и гибкий веб-фреймворк для приложений Node.js. Отлично подходит, если надо сделать небольшой сервис. Если нужно сделать что-то побольше, то лучше использовать большой веб-фреймворк, например Nest.
Предназначение: небольшие проекты.
Bitrix CMS
Система управления сайтами и интернет-магазинами от компании 1С. Написана на PHP и базах данных MySQL. Выбрать эту систему — вероятно, самое плохое решение, которое вы можете принять. Нам не описать количество боли, которое мы и наши многочисленные коллеги испытали, «благодаря» этой системе.
На ум приходит сравнение с одним легендарным автомобилем: перед вами ВАЗ-2101 («Копейка»).
Система позиционируется как очень быстрая, с готовыми интеграциями, готовыми шаблонами, техподдержкой и т. д. На самом деле выясняется, что все это работает очень плохо и требует очень много денег на поддержание. Также под вопрос стоит поставить квалификацию всех специалистов, которые работают с этой системой.
Вопрос: Почему эта система стала такой популярной?
Все очень просто: разработчики получают процент с продаж лицензий. 1С:Бухгалтерию делает эта же компания.
Laravel
Считается лучшим веб-фреймворком на PHP.
Если по каким-то причинам вы хотите поддерживать PHP, то смело выбирайте его.
Это отрывок из курса – "База IT для бизнеса за час"