javascript42
Главная
Все учебники
Блог
Учебник Fresh
Введение в Fresh
Что такое Fresh
История создания и философия фреймворка
Сравнение с другими фреймворками
Экосистема Deno и её роль
Целевая аудитория и области применения
Преимущества и ограничения Fresh
Установка и настройка окружения
Первое приложение на Fresh
Структура проекта Fresh
Системные требования и зависимости
Основы архитектуры Fresh
Концепция островной архитектуры
Серверный рендеринг по умолчанию
Отсутствие сборки на этапе разработки
Маршрутизация на основе файловой системы
Разделение статического и динамического контента
Принцип нулевого JavaScript по умолчанию
Жизненный цикл запроса
Обработка запросов на сервере
Гидратация островов на клиенте
Модель данных и состояние
Маршрутизация
Основы файловой маршрутизации
Статические маршруты
Динамические маршруты
Параметры маршрутов
Вложенные маршруты
Группировка маршрутов
Опциональные параметры
Catch-all маршруты
Приоритеты маршрутов
Программная навигация
Middleware для маршрутов
Обработка ошибок в маршрутах
Редиректы и перенаправления
Маршруты API
Обработчики запросов
Концепция обработчиков
GET запросы
POST запросы
PUT и PATCH запросы
DELETE запросы
HEAD и OPTIONS
Множественные обработчики
Асинхронные обработчики
Контекст запроса
Параметры запроса
Заголовки запросов
Тело запроса
Cookies и сессии
Валидация данных
Обработка файлов
Streaming responses
Response helpers
Обработка ошибок
Компоненты и Islands
Концепция островов
Создание островов
Интерактивность островов
Preact как основа компонентов
JSX синтаксис
Props и их типизация
State в островах
Hooks в Fresh
useState и useEffect
useRef и useContext
Пользовательские хуки
Композиция компонентов
Переиспользуемые компоненты
Условный рендеринг
Списки и ключи
События и обработчики
Формы в островах
Оптимизация производительности островов
Серверные компоненты
Различия между серверными компонентами и островами
Создание серверных компонентов
Асинхронные серверные компоненты
Загрузка данных в серверных компонентах
Передача данных в компоненты
Композиция серверных компонентов
Использование внешних API
Кэширование на уровне компонентов
Обработка ошибок в серверных компонентах
Работа с данными
Загрузка данных на сервере
Передача данных между обработчиками и компонентами
Data fetching patterns
Параллельная загрузка данных
Инвалидация кэша
Оптимистичные обновления
Состояние приложения
Глобальное состояние
Signals в Fresh
Подписка на изменения
Синхронизация состояния клиент-сервер
Плагины Fresh
Система плагинов
Встроенные плагины
Twind плагин
UnoCSS плагин
Создание собственных плагинов
Хуки жизненного цикла плагинов
Модификация рендеринга
Добавление middleware через плагины
Расширение конфигурации
Публикация плагинов
Стилизация
CSS в Fresh
Модульные стили
Inline стили
CSS-in-JS подходы
Twind интеграция
Адаптивный дизайн
Статические ресурсы
Favicons
Service workers
CDN интеграция
Middleware
Концепция middleware в Fresh
Создание middleware
Условное применение middleware
Композиция middleware
Асинхронные middleware
Аутентификация и авторизация
Паттерны аутентификации
Session-based аутентификация
Token-based аутентификация
JWT токены
OAuth 2.0 интеграция
Защита маршрутов
Роли и права доступа
Middleware для авторизации
API разработка
REST API на Fresh
Структура API эндпоинтов
Версионирование API
Документация API
OpenAPI спецификация
GraphQL интеграция
WebSocket поддержка
Работа с внешними сервисами
Интеграция с REST API
Интеграция с GraphQL
Подключение к облачным сервисам
Google Cloud интеграция
Тестирование
Философия тестирования в Fresh
Тестирование компонентов
Тестирование обработчиков
Тестирование middleware
Integration тестирование
Производительность и оптимизация
SEO и метаданные
Analytics интеграция
Безопасность
Защита от DDoS
Secure cookies
Environment variables безопасность
Аудит безопасности
Dependency scanning
OWASP Top 10
Интернационализация
i18n концепции
Загрузка переводов
Переключение языков
Форматирование дат
Форматирование чисел
Форматирование валют
Плюрализация
Контекстные переводы
RTL поддержка
Языковое определение
Прогрессивные веб-приложения
Offline функциональность
Cache strategies
Background sync
Оптимизация для мобильных
Touch events
Performance на мобильных
Деплой и хостинг
Подготовка к production
Environment variables
Production конфигурация
Deno Deploy
Автоматический деплой
Настройка доменов
SSL сертификаты
Альтернативные платформы
Docker контейнеризация
Dockerfile для Fresh
Docker Compose
Kubernetes деплой
Мониторинг и логирование
Логирование в Fresh
Структурированное логирование
Log levels
Централизованное логирование
Error tracking
Sentry интеграция
Uptime monitoring
Performance monitoring
Real User Monitoring
Custom metrics
Dashboards
Масштабирование
Горизонтальное масштабирование
Вертикальное масштабирование
Load balancing
Session управление в кластере
Database scaling
Репликация баз данных
Sharding
Serverless подходы
Продвинутые паттерны
Component patterns
Архитектурные паттерны
Backend for Frontend
WebAssembly интеграция
Использование WASM в Fresh
Компиляция в WASM
WASM модули в Deno
Использование существующих WASM библиотек
Real-time возможности
WebSocket в Fresh
Socket.io альтернативы
Real-time чаты
Live updates
Collaborative editing
Broadcasting events
Room management
Reconnection handling
Scaling WebSockets
Accessibility
Основы доступности
Семантический HTML
Keyboard navigation
Screen readers
Цветовой контраст
Альтернативные тексты
Focus management
Form accessibility
Тестирование доступности
Automated accessibility testing
TypeScript в Fresh
TypeScript интеграция
Конфигурация TypeScript
Типизация компонентов
Типизация props
Типизация обработчиков
Generic компоненты
Типизация API ответов
Utility types
Type guards
Discriminated unions
Advanced TypeScript patterns
Типизация плагинов
Типизация middleware
Миграция и интеграция
Миграция с Next.js
Миграция с Remix
Миграция с Nuxt
Интеграция существующих библиотек
Совместимость с npm пакетами
Использование Preact библиотек
Использование React библиотек
Адаптация компонентов
Инкрементальная миграция
Стратегии миграции больших приложений
Отладка и разработка
Инструменты разработчика
Debugging в Deno
VS Code настройка
Breakpoints и debugging
Chrome DevTools
Network debugging
Hot reload
Error handling в development
Source maps
Logging для отладки
Performance profiling
Memory profiling
Debugging islands
Debugging SSR
Инструменты и экосистема
Deno экосистема
Deno CLI
Deno стандартная библиотека
Import maps
Deno конфигурация
Linting с Deno
Formatting с Deno
Package management
Lock файлы
Vendoring зависимостей
Популярные библиотеки для Fresh
Полезные утилиты
Code generators
Development tools