From bfc7467e328e37e8fc64362ea9c78ddf07b8e280 Mon Sep 17 00:00:00 2001 From: David Grudl Date: Wed, 18 Dec 2024 14:47:18 +0100 Subject: [PATCH] wip --- application/cs/@home.texy | 78 +++++++++++++++++++++++++++++------- application/en/@home.texy | 84 ++++++++++++++++++++++++++++++--------- 2 files changed, 129 insertions(+), 33 deletions(-) diff --git a/application/cs/@home.texy b/application/cs/@home.texy index 57c24db0a2..97afbc4182 100644 --- a/application/cs/@home.texy +++ b/application/cs/@home.texy @@ -2,19 +2,7 @@ Nette Application ***************** .[perex] -Balíček `nette/application` představuje základ pro tvorbu interaktivních webových aplikací. - -- [Jak fungují aplikace? |how-it-works] -- [Bootstrap] -- [Presentery |presenters] -- [Šablony |templates] -- [Moduly |modules] -- [Routování |routing] -- [Vytváření odkazů URL |creating-links] -- [Interaktivní komponenty |components] -- [AJAX & snippety |ajax] -- [Multiplier |multiplier] -- [Konfigurace |configuration] +Nette Application je jádrem frameworku Nette, které přináší výkonné nástroje pro vytváření moderních webových aplikací. Nabízí řadu výjimečných vlastností, které výrazně usnadňují vývoj a zlepšují bezpečnost i udržovatelnost kódu. Instalace @@ -26,10 +14,70 @@ Knihovnu stáhnete a nainstalujete pomocí nástroje [Composer|best-practices:co composer require nette/application ``` + +Proč zvolit Nette Application? +------------------------------ + +Nette bylo vždy průkopníkem v oblasti webových technologií. + +**Obousměrný router:** Nette disponuje pokročilým routovacím systémem, který je unikátní svou obousměrností - nejen že překládá URL na akce aplikace, ale také dokáže zpětně generovat URL adresy. To znamená, že: +- Můžete kdykoliv změnit strukturu URL celé aplikace bez nutnosti upravovat šablony +- URL jsou automaticky kanonizovány, což zlepšuje SEO +- Routování je definováno na jednom místě, nikoliv roztroušeně v anotacích + +**Komponenty a signály:** Vestavěný komponentový systém inspirovaný Delphi a React.js je mezi PHP frameworky zcela výjimečný: +- Umožňuje vytvářet znovupoužitelné UI prvky +- Podporuje hierarchické skládání komponent +- Nabízí elegantní zpracování AJAX požadavků pomocí signálů +- Bohatá knihovna hotových komponent na [Componette](https://componette.org) + +**AJAX a snippety:** Nette představilo revoluční způsob práce s AJAXem již v roce 2009, dlouho před podobnými řešeními jako Hotwire pro Ruby on Rails nebo Symfony UX Turbo: +- Snippety umožňují aktualizovat jen části stránky bez nutnosti psát JavaScript +- Automatická integrace s komponentovým systémem +- Chytrá invalidace částí stránek +- Minimální množství přenášených dat + +**Intuitivní šablony [Latte|latte:]:** Nejbezpečnější šablonovací systém pro PHP s pokročilými funkcemi: +- Automatická ochrana proti XSS s kontextově citlivým escapováním +- Rozšiřitelnost pomocí vlastních filtrů, funkcí a značek +- Dědičnost šablon a snippety pro AJAX +- Vynikající podpora PHP 8.x s typovým systémem + +**Dependency Injection:** Nette plně využívá Dependency Injection: +- Automatické předávání závislostí (autowiring) +- Konfigurace pomocí přehledného NEON formátu +- Podpora pro továrny na komponenty + + +Hlavní výhody +------------- + +- **Bezpečnost**: Automatická obrana proti zranitelnostem jako XSS, CSRF, atd. +- **Produktivita**: Méně psaní, více funkcí díky chytrému návrhu +- **Debugging**: [Tracy debugger|tracy:] s routovacím panelem +- **Výkon**: Chytrá cache, lazy loading komponent +- **Flexibilita**: Snadná úprava URL i po dokončení aplikace +- **Komponenty**: Unikátní systém znovupoužitelných UI prvků +- **Moderní**: Plná podpora PHP 8.4+ a typového systému + + +Začínáme +-------- + +1. [Jak fungují aplikace? |how-it-works] - Pochopení základní architektury +2. [Presentery |presenters] - Práce s presentery a akcemi +3. [Šablony |templates] - Tvorba šablon v Latte +4. [Routování |routing] - Konfigurace URL adres +5. [Interaktivní komponenty |components] - Využití komponentového systému + + +Kompatbility s PHP +------------------ + | verze | kompatibilní s PHP |-----------|------------------- -| Nette Application 4.0 | PHP 8.1 – 8.3 -| Nette Application 3.2 | PHP 8.1 – 8.3 +| Nette Application 4.0 | PHP 8.1 – 8.4 +| Nette Application 3.2 | PHP 8.1 – 8.4 | 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 diff --git a/application/en/@home.texy b/application/en/@home.texy index 0892ae2d2d..33f2ba2e8c 100644 --- a/application/en/@home.texy +++ b/application/en/@home.texy @@ -2,36 +2,84 @@ Nette Application ***************** .[perex] -The `nette/application` package is the basis for creating interactive web applications. - -- [How do applications work? |how-it-works] -- [Bootstrap] -- [Presenters] -- [Templates] -- [Modules] -- [Routing] -- [Creating URL Links |creating-links] -- [Interactive Components |components] -- [AJAX & Snippets |ajax] -- [Multiplier |multiplier] -- [Configuration] +Nette Application is the core of the Nette framework that brings powerful tools for creating modern web applications. It offers numerous exceptional features that significantly simplify development and improve code security and maintainability. Installation ------------ -Download and install the package using [Composer|best-practices:composer]: +Download and install the library using [Composer|best-practices:composer]: ```shell composer require nette/application ``` -| version | compatible with PHP + +Why choose Nette Application? +----------------------------- + +Nette has always been a pioneer in web technologies. + +**Bidirectional Router:** Nette features an advanced routing system unique in its bidirectionality - it not only translates URLs to application actions but can also generate URLs in reverse. This means: +- You can modify the URL structure of the entire application at any time without modifying template files +- URLs are automatically canonicalized, improving SEO +- Routing is defined in one place, not scattered in annotations + +**Components and Signals:** The built-in component system inspired by Delphi and React.js is unique among PHP frameworks: +- Enables creating reusable UI elements +- Supports hierarchical component composition +- Offers elegant AJAX request handling using signals +- Rich library of ready-made components on [Componette](https://componette.org) + +**AJAX and Snippets:** Nette introduced a revolutionary way of working with AJAX in 2009, before solutions like Hotwire for Ruby on Rails or Symfony UX Turbo: +- Snippets allow updating only parts of the page without writing JavaScript +- Automatic integration with the component system +- Smart invalidation of page sections +- Minimal data transfer + +**Intuitive [Latte|latte:] Templates:** The most secure templating system for PHP with advanced features: +- Automatic XSS protection with context-sensitive escaping +- Extensible with custom filters, functions, and tags +- Template inheritance and snippets for AJAX +- Excellent PHP 8.x support with type system + +**Dependency Injection:** Nette fully utilizes Dependency Injection: +- Automatic dependency passing (autowiring) +- Configuration using clear NEON format +- Support for component factories + + +Main Benefits +------------- + +- **Security**: Automatic protection against vulnerabilities like XSS, CSRF, etc. +- **Productivity**: Less writing, more features thanks to smart design +- **Debugging**: [Tracy debugger|tracy:] with routing panel +- **Performance**: Intelligent caching system, lazy loading of components +- **Flexibility**: Easy URL modification even after application completion +- **Components**: Unique system of reusable UI elements +- **Modern**: Full support for PHP 8.4+ and type system + + +Getting Started +--------------- + +1. [Understanding Applications |how-it-works] - Understanding basic architecture +2. [Presenters |presenters] - Working with presenters and actions +3. [Templates |templates] - Creating templates in Latte +4. [Routing |routing] - URL configuration +5. [Interactive Components |components] - Using the component system + + +PHP Compatibility +----------------- + +| version | compatible with PHP |-----------|------------------- -| Nette Application 4.0 | PHP 8.1 – 8.3 -| Nette Application 3.2 | PHP 8.1 – 8.3 +| Nette Application 4.0 | PHP 8.1 – 8.4 +| Nette Application 3.2 | PHP 8.1 – 8.4 | 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 -Applies to the latest patch versions. +Valid for the latest patch versions. \ No newline at end of file