🙂 Фреймворк
Фреймворк — готовая программная структура (каркас) для разработки ПО, которая
🔘задает базовую архитектуру
🔘часто применяются в разработке мобильных, веб- и десктоп-приложений
У каждого фреймворка свой набор инструментов и свой функционал
Зачем нужен
🟣чтобы снизить время разработки за счет готовых инструментов и шаблонов
🟣для единообразие кода
🟣помогают решать базовые задачи (например, управление сессиями или безопасностью)
Виды фреймворков
🟣фронтенд: для разработки пользовательских интерфейсов
примеры: React (JavaScript), Angular (JavaScript), Vue.js (JavaScript)
🟣бэкенд: для создания серверной части приложений.
примеры: Django (Python), Spring Boot (java), Express.js (JavaScript)
🟣кроссплатформенные: можно писать код для разных платформ (iOS, Android, Windows)
примеры: Flutter (Dart), Xamarin (C#), React Native (JavaScript)
Фреймворк vs библиотека
⭕Фреймворк задает структуру и правила для разработки. Управляет выполнением кода, дает готовый каркас, который нужно достроить
⭕Библиотека: набор готовых функций, которые можно использовать по мере необходимости
⏩ Фреймворк берет управление на себя.
При использовании библиотеки контроль - у разработчика
Пример фреймворка Django
Django — фреймворк для разработки веб-приложений на Python
Состоит из:
〰️Шаблонов MVC: определяют архитектуру приложения (модели, представления, контроллеры)
〰️Модуль ORM: для работы с БД без SQL-запросов
〰️Система маршрутизации: управляет обработкой URL
〰️Встроенные инструменты: аутентификация, админ-панель, обработка форм, защита от CSRF, шаблоны HTML, API
〰️Документации
➡ Пример: создание блога на Django
Используется встроенный ORM для работы с записями, подключаются шаблоны для отображения страниц и настраивается маршрутизация для обработки URL
Минусы фреймворков
🤯нужно следовать правилам и структуре фреймворка
🤯могут быть слишком сложными для простых задач
🤯переход на другой фреймворк или обновление может быть трудоемким
Как аналитик может использовать фреймворки
✅на этапе согласования требований
поможет учитывать их ограничения в согласовании требования с разработчиками
➡️Например, определять, какие задачи фреймворк решит "из коробки", а для каких нужно дорабатывать
✅ прототипирование решений
С помощью фронтенд-фреймворков (React или Angular) можно создать прототип пользовательского интерфейса
➡️для системы управления задачами сделать интерфейс с доской Kanban
Заказчик сможет протестировать функционал на раннем этапе
✅ документирование требований
В ТЗ можно указать, что бизнес-логика реализуется с использованием Django
➡️если нужно разработать REST API, можно описать, какие эндпоинты и модели данных будут поддерживаться, согласно возможностям Django REST
✅анализ интеграций
Предложить выбор подходящего фреймворка
➡️для системы обработки массивов данных поможет обосновать выбор FastAPI (высокая производительность,поддерживает асинхронную обработку запросов)
➡️при разработке архитектуры системы указать использование Spring для создания микросервисов (например, их взаимодействие через API, реализованные в Spring Boot)
📎 Материалы
1. Фреймворк
2. Что такое фреймворк: виды, задачи, правила выбора
3. Фреймворк: особенности, преимущества, архитектура
4. Что такое фреймворк и чем отличается от библиотеки, простое объяснение
5. Для чего нужен фреймворк и как его выбрать
6. Фреймворк: как выбрать подходящий для фронтэнда и бэкэнда
7. Фреймворки в веб-разработке — что это, какие существуют и для чего нужны
8. Как выбрать фреймворк для бэкенда: мнения разработчиков
9. Фреймворки — больше минусов чем плюсов
10. 5 полезных фреймворков и библиотек для начинающего фронтенд-разработчика на конец 2024 года
#инфраструктура
➿➿➿➿➿➿➿➿
🧑🎓 Больше полезного в базе знаний по системному анализу
Post #547
14.4K
- 👍 24
- ❤ 8
- 🔥 4
- ⚡ 3