You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: frontend.md
+5-6Lines changed: 5 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,13 +37,11 @@ Laravel - это бэкенд-фреймворк, предоставляющий
37
37
</div>
38
38
```
39
39
40
-
41
40
При построении приложений в таком стиле, отправка форм и другие взаимодействия со страницей обычно влекут получение полностью нового HTML-документа от сервера, и страница полностью перерисовывается браузером. Даже сегодня многие приложения могут идеально подходить для построения своего фронтенда с использованием простых шаблонов Blade.
42
41
43
42
<aname="growing-expectations"></a>
44
43
#### Растущие ожидания
45
44
46
-
47
45
Однако с увеличением требований пользователей к веб-приложениям многие разработчики сталкиваются с необходимостью создания более динамичных интерфейсов с более отточенным взаимодействием. В связи с этим некоторые разработчики предпочитают создавать пользовательский интерфейс своего приложения с использованием JavaScript-фреймворков, таких как Vue и React.
48
46
49
47
Другие, предпочитая оставаться верными языку бэкенда, с которым они знакомы, разработали решения, которые позволяют создавать современные пользовательские интерфейсы веб-приложений, в основном используя свой предпочитаемый язык бэкенда. Например, в экосистеме [Rails](https://rubyonrails.org/) это подстегнуло создание таких библиотек, как [Turbo](https://turbo.hotwired.dev/)[Hotwire](https://hotwired.dev/), и [Stimulus](https://stimulus.hotwired.dev/).
@@ -55,7 +53,6 @@ Laravel - это бэкенд-фреймворк, предоставляющий
55
53
56
54
[Laravel Livewire](https://livewire.laravel.com) это платформа для создания фронтенда на базе Laravel, который выглядит динамичными, современными и живыми, как фронтенд, созданные с использованием современных фреймворков JavaScript, таких как Vue и React.
57
55
58
-
59
56
При использовании Livewire вы создаете "компоненты" Livewire, которые отображают отдельные части вашего пользовательского интерфейса и предоставляют методы и данные, которые можно вызывать и с которыми можно взаимодействовать из фронтенда вашего приложения. Например, простой компонент "Counter" может выглядеть следующим образом:
60
57
61
58
```php
@@ -81,7 +78,7 @@ class Counter extends Component
81
78
}
82
79
```
83
80
84
-
И соответствующий шаблон для счетчика будет выглядеть следующим образом::
81
+
И соответствующий шаблон для счетчика будет выглядеть следующим образом:
85
82
86
83
```blade
87
84
<div>
@@ -104,7 +101,6 @@ class Counter extends Component
104
101
<aname="using-vue-react"></a>
105
102
## Использование Vue / React
106
103
107
-
108
104
Хотя можно создавать современный фронтенд с использованием Laravel и Livewire, многие разработчики предпочитают использовать возможности JavaScript-фреймворка, такого как Vue или React. Это позволяет разработчикам воспользоваться богатой экосистемой пакетов и инструментов JavaScript, доступных через NPM.
109
105
110
106
Однако, без дополнительных инструментов, совмещение Laravel с Vue или React потребовало бы решения различных сложных проблем, таких как маршрутизация на стороне клиента, гидратация данных и аутентификация. Маршрутизация на стороне клиента часто упрощается с использованием специализированных фреймворков Vue / React, таких как [Nuxt](https://nuxt.com/) и [Next](https://nextjs.org/); однако гидратация данных и аутентификация остаются сложными и неудобными задачами при сочетании бэкенд-фреймворка, такого как Laravel, с этими фронтенд-фреймворками.
@@ -117,6 +113,7 @@ class Counter extends Component
117
113
К счастью, Laravel предлагает лучшее из обоих миров. [Inertia](https://inertiajs.com) устраняет разрыв между вашим приложением Laravel и современным фронтендом на Vue или React. Это позволяет создавать полноценные, современные интерфейсы, используя Vue или React, при этом воспользовавшись маршрутами и контроллерами Laravel для решения задач по маршрутизации, гидратации данных и аутентификации — всё это в рамках единого репозитория кода. Таким образом, вы можете наслаждаться всей мощью Laravel и Vue/React, не сталкиваясь с ограничениями ни одного из этих инструментов.
118
114
119
115
После установки Inertia в вашем приложении Laravel, вы будете создавать маршруты и контроллеры так же, как обычно. Однако, вместо возвращения шаблона Blade из вашего контроллера, вы вернете страницу Inertia:
116
+
120
117
```php
121
118
<?php
122
119
@@ -142,6 +139,7 @@ class UserController extends Controller
142
139
```
143
140
144
141
Страница Inertia соответствует компоненту Vue или React, обычно сохраненному в каталоге `resources/js/Pages` вашего приложения. Данные, переданные странице с помощью метода `Inertia::render`, будут использоваться для гидратации "props" компонента страницы:
Как видите, Inertia позволяет использовать полную мощь Vue или React при создании фронтенда, обеспечивая легкий мост между вашим бэкендом, построенным на Laravel, и вашим фронтендом, работающим на JavaScript.
169
+
171
170
#### Рендеринг на стороне сервера
172
171
173
172
Если вы беспокоитесь о том, чтобы приступать к использованию Inertia из-за необходимости рендеринга на стороне сервера в вашем приложении, не волнуйтесь. Inertia предоставляет [поддержку рендеринга на стороне сервера](https://inertiajs.com/server-side-rendering). И при развертывании вашего приложения через [Laravel Forge](https://forge.laravel.com), легко обеспечить постоянную работу процесса серверного рендеринга Inertia.
Самый быстрый способ начать работу с Laravel и Vite - это начать разработку вашего приложения, используя [Laravel Breeze](/docs/{{version}}/starter-kits#laravel-breeze), нашего простейшего стартового набора, который ускоряет начало работы с вашим приложением, предоставляя основу для аутентификации на фронтенде и бэкенде.
188
187
189
-
> [!NOTE]
188
+
> [!NOTE]
190
189
> Более подробную документацию по использованию Vite с Laravel можно найти в нашей [ специализированной документации по сборке и компиляции ваших ресурсов.](/docs/{{version}}/vite).
0 commit comments