Nette Application
*****************
.[perex]
Nette Application - ядро фреймворка Nette, дающее мощные инструменты для создания современных веб-приложений. Оно предлагает ряд исключительных возможностей, которые заметно упрощают разработку и повышают безопасность и поддерживаемость кода.
Установка
---------
Скачайте и установите библиотеку с помощью [Composer|best-practices:composer]:
```shell
composer require nette/application
```
Почему стоит выбрать Nette Application?
---------------------------------------
Nette всегда был первопроходцем в веб-технологиях.
**Двунаправленный маршрутизатор:** в Nette есть продвинутая система маршрутизации, уникальная своей двунаправленностью: она не только преобразует URL в действия приложения, но и умеет порождать URL в обратную сторону. Это значит:
- Вы можете в любой момент изменить структуру URL всего приложения, не трогая шаблоны
- URL автоматически канонизируются, что улучшает SEO
- Маршрутизация задаётся в одном месте, а не разбросана по аннотациям
**Компоненты и сигналы:** встроенная система компонентов, вдохновлённая Delphi и React.js, уникальна среди PHP-фреймворков:
- Позволяет создавать переиспользуемые элементы интерфейса
- Поддерживает иерархическую композицию компонентов
- Предлагает изящную обработку AJAX-запросов через сигналы
- Богатая библиотека готовых компонентов на [Componette](https://componette.org)
**AJAX и сниппеты:** Nette представил революционный способ работы с AJAX ещё в 2009 году, задолго до похожих решений вроде Hotwire для Ruby on Rails или Symfony UX Turbo:
- Сниппеты позволяют обновлять только части страницы, не требуя писать JavaScript
- Автоматическая интеграция с системой компонентов
- Умная инвалидация участков страницы
- Минимальный объём передаваемых данных
**Интуитивные шаблоны [Latte|latte:]:** самая безопасная система шаблонов для PHP с продвинутыми возможностями:
- Автоматическая защита от XSS с контекстно-зависимым экранированием
- Расширяемость собственными фильтрами, функциями и тегами
- Наследование шаблонов и сниппеты для AJAX
- Отличная поддержка PHP 8.x с системой типов
**Dependency Injection:** Nette полностью использует Dependency Injection:
- Автоматическая передача зависимостей (autowiring)
- Настройка в наглядном формате NEON
- Поддержка фабрик компонентов
Главные преимущества
--------------------
- **Безопасность**: автоматическая защита от [уязвимостей|nette:vulnerability-protection] вроде XSS, CSRF и других
- **Продуктивность**: меньше писать, больше возможностей благодаря продуманной архитектуре
- **Отладка**: [отладчик Tracy|tracy:] с панелью маршрутизации
- **Производительность**: умный кеш, ленивая загрузка компонентов
- **Гибкость**: лёгкое изменение URL даже после завершения приложения
- **Компоненты**: уникальная система переиспользуемых элементов интерфейса
- **Современность**: полная поддержка PHP 8.3+ и системы типов
Первые шаги
-----------
1. [Как работают приложения? |how-it-works] - понимание базовой архитектуры
2. [Презентеры |presenters] - работа с презентерами и действиями
3. [Шаблоны |templates] - создание шаблонов на Latte
4. [Маршрутизация |routing] - настройка URL-адресов
5. [Интерактивные компоненты |components] - использование системы компонентов
Совместимость с PHP
-------------------
| версия | совместимость с PHP
|-----------------------|-------------------
| Nette Application 3.3 | PHP 8.3 - 8.5
| Nette Application 3.2 | PHP 8.1 - 8.5
| Nette Application 3.1 | PHP 7.2 - 8.3
| Nette Application 3.0 | PHP 7.1 - 8.0
| Nette Application 2.4 | PHP 5.6 - 8.0
Относится к последним патч-версиям.
Nette Application
Nette Application – ядро фреймворка Nette, дающее мощные инструменты
для создания современных веб-приложений. Оно предлагает ряд
исключительных возможностей, которые заметно упрощают разработку и
повышают безопасность и поддерживаемость кода.
Установка
Скачайте и установите библиотеку с помощью Composer:
composer require nette/application
Почему стоит выбрать Nette Application?
Nette всегда был первопроходцем в веб-технологиях.
Двунаправленный маршрутизатор: в Nette есть продвинутая система
маршрутизации, уникальная своей двунаправленностью: она не только
преобразует URL в действия приложения, но и умеет порождать URL в обратную
сторону. Это значит:
- Вы можете в любой момент изменить структуру URL всего приложения, не
трогая шаблоны
- URL автоматически канонизируются, что улучшает SEO
- Маршрутизация задаётся в одном месте, а не разбросана по
аннотациям
Компоненты и сигналы: встроенная система компонентов,
вдохновлённая Delphi и React.js, уникальна среди PHP-фреймворков:
- Позволяет создавать переиспользуемые элементы интерфейса
- Поддерживает иерархическую композицию компонентов
- Предлагает изящную обработку AJAX-запросов через сигналы
- Богатая библиотека готовых компонентов на Componette
AJAX и сниппеты: Nette представил революционный способ работы с AJAX ещё
в 2009 году, задолго до похожих решений вроде Hotwire для Ruby on Rails или Symfony
UX Turbo:
- Сниппеты позволяют обновлять только части страницы, не требуя
писать JavaScript
- Автоматическая интеграция с системой компонентов
- Умная инвалидация участков страницы
- Минимальный объём передаваемых данных
Интуитивные шаблоны Latte: самая безопасная
система шаблонов для PHP с продвинутыми возможностями:
- Автоматическая защита от XSS с контекстно-зависимым
экранированием
- Расширяемость собственными фильтрами, функциями и тегами
- Наследование шаблонов и сниппеты для AJAX
- Отличная поддержка PHP 8.x с системой типов
Dependency Injection: Nette полностью использует Dependency Injection:
- Автоматическая передача зависимостей (autowiring)
- Настройка в наглядном формате NEON
- Поддержка фабрик компонентов
Главные преимущества
- Безопасность: автоматическая защита от уязвимостей вроде XSS, CSRF и других
- Продуктивность: меньше писать, больше возможностей благодаря
продуманной архитектуре
- Отладка: отладчик Tracy с панелью
маршрутизации
- Производительность: умный кеш, ленивая загрузка компонентов
- Гибкость: лёгкое изменение URL даже после завершения
приложения
- Компоненты: уникальная система переиспользуемых элементов
интерфейса
- Современность: полная поддержка PHP 8.3+ и системы типов
Первые шаги
- Как работают приложения? –
понимание базовой архитектуры
- Презентеры – работа с
презентерами и действиями
- Шаблоны – создание шаблонов на
Latte
- Маршрутизация – настройка
URL-адресов
- Интерактивные компоненты –
использование системы компонентов
Совместимость с PHP
| версия |
совместимость с PHP |
| Nette Application 3.3 |
PHP 8.3 – 8.5 |
| Nette Application 3.2 |
PHP 8.1 – 8.5 |
| Nette Application 3.1 |
PHP 7.2 – 8.3 |
| Nette Application 3.0 |
PHP 7.1 – 8.0 |
| Nette Application 2.4 |
PHP 5.6 – 8.0 |
Относится к последним патч-версиям.