Skip to content

Commit 1549327

Browse files
authored
Update frontend.md
1 parent ad16fd6 commit 1549327

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

frontend.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,11 @@ Laravel - это бэкенд-фреймворк, предоставляющий
3737
</div>
3838
```
3939

40-
4140
При построении приложений в таком стиле, отправка форм и другие взаимодействия со страницей обычно влекут получение полностью нового HTML-документа от сервера, и страница полностью перерисовывается браузером. Даже сегодня многие приложения могут идеально подходить для построения своего фронтенда с использованием простых шаблонов Blade.
4241

4342
<a name="growing-expectations"></a>
4443
#### Растущие ожидания
4544

46-
4745
Однако с увеличением требований пользователей к веб-приложениям многие разработчики сталкиваются с необходимостью создания более динамичных интерфейсов с более отточенным взаимодействием. В связи с этим некоторые разработчики предпочитают создавать пользовательский интерфейс своего приложения с использованием JavaScript-фреймворков, таких как Vue и React.
4846

4947
Другие, предпочитая оставаться верными языку бэкенда, с которым они знакомы, разработали решения, которые позволяют создавать современные пользовательские интерфейсы веб-приложений, в основном используя свой предпочитаемый язык бэкенда. Например, в экосистеме [Rails](https://rubyonrails.org/) это подстегнуло создание таких библиотек, как [Turbo](https://turbo.hotwired.dev/) [Hotwire](https://hotwired.dev/), и [Stimulus](https://stimulus.hotwired.dev/).
@@ -55,7 +53,6 @@ Laravel - это бэкенд-фреймворк, предоставляющий
5553

5654
[Laravel Livewire](https://livewire.laravel.com) это платформа для создания фронтенда на базе Laravel, который выглядит динамичными, современными и живыми, как фронтенд, созданные с использованием современных фреймворков JavaScript, таких как Vue и React.
5755

58-
5956
При использовании Livewire вы создаете "компоненты" Livewire, которые отображают отдельные части вашего пользовательского интерфейса и предоставляют методы и данные, которые можно вызывать и с которыми можно взаимодействовать из фронтенда вашего приложения. Например, простой компонент "Counter" может выглядеть следующим образом:
6057

6158
```php
@@ -81,7 +78,7 @@ class Counter extends Component
8178
}
8279
```
8380

84-
И соответствующий шаблон для счетчика будет выглядеть следующим образом::
81+
И соответствующий шаблон для счетчика будет выглядеть следующим образом:
8582

8683
```blade
8784
<div>
@@ -104,7 +101,6 @@ class Counter extends Component
104101
<a name="using-vue-react"></a>
105102
## Использование Vue / React
106103

107-
108104
Хотя можно создавать современный фронтенд с использованием Laravel и Livewire, многие разработчики предпочитают использовать возможности JavaScript-фреймворка, такого как Vue или React. Это позволяет разработчикам воспользоваться богатой экосистемой пакетов и инструментов JavaScript, доступных через NPM.
109105

110106
Однако, без дополнительных инструментов, совмещение Laravel с Vue или React потребовало бы решения различных сложных проблем, таких как маршрутизация на стороне клиента, гидратация данных и аутентификация. Маршрутизация на стороне клиента часто упрощается с использованием специализированных фреймворков Vue / React, таких как [Nuxt](https://nuxt.com/) и [Next](https://nextjs.org/); однако гидратация данных и аутентификация остаются сложными и неудобными задачами при сочетании бэкенд-фреймворка, такого как Laravel, с этими фронтенд-фреймворками.
@@ -117,6 +113,7 @@ class Counter extends Component
117113
К счастью, Laravel предлагает лучшее из обоих миров. [Inertia](https://inertiajs.com) устраняет разрыв между вашим приложением Laravel и современным фронтендом на Vue или React. Это позволяет создавать полноценные, современные интерфейсы, используя Vue или React, при этом воспользовавшись маршрутами и контроллерами Laravel для решения задач по маршрутизации, гидратации данных и аутентификации — всё это в рамках единого репозитория кода. Таким образом, вы можете наслаждаться всей мощью Laravel и Vue/React, не сталкиваясь с ограничениями ни одного из этих инструментов.
118114

119115
После установки Inertia в вашем приложении Laravel, вы будете создавать маршруты и контроллеры так же, как обычно. Однако, вместо возвращения шаблона Blade из вашего контроллера, вы вернете страницу Inertia:
116+
120117
```php
121118
<?php
122119

@@ -142,6 +139,7 @@ class UserController extends Controller
142139
```
143140

144141
Страница Inertia соответствует компоненту Vue или React, обычно сохраненному в каталоге `resources/js/Pages` вашего приложения. Данные, переданные странице с помощью метода `Inertia::render`, будут использоваться для гидратации "props" компонента страницы:
142+
145143
```vue
146144
<script setup>
147145
import Layout from '@/Layouts/Authenticated.vue';
@@ -168,6 +166,7 @@ const props = defineProps(['user']);
168166
```
169167

170168
Как видите, Inertia позволяет использовать полную мощь Vue или React при создании фронтенда, обеспечивая легкий мост между вашим бэкендом, построенным на Laravel, и вашим фронтендом, работающим на JavaScript.
169+
171170
#### Рендеринг на стороне сервера
172171

173172
Если вы беспокоитесь о том, чтобы приступать к использованию Inertia из-за необходимости рендеринга на стороне сервера в вашем приложении, не волнуйтесь. Inertia предоставляет [поддержку рендеринга на стороне сервера](https://inertiajs.com/server-side-rendering). И при развертывании вашего приложения через [Laravel Forge](https://forge.laravel.com), легко обеспечить постоянную работу процесса серверного рендеринга Inertia.
@@ -186,5 +185,5 @@ const props = defineProps(['user']);
186185

187186
Самый быстрый способ начать работу с Laravel и Vite - это начать разработку вашего приложения, используя [Laravel Breeze](/docs/{{version}}/starter-kits#laravel-breeze), нашего простейшего стартового набора, который ускоряет начало работы с вашим приложением, предоставляя основу для аутентификации на фронтенде и бэкенде.
188187

189-
> [!NOTE]
188+
> [!NOTE]
190189
> Более подробную документацию по использованию Vite с Laravel можно найти в нашей [ специализированной документации по сборке и компиляции ваших ресурсов.](/docs/{{version}}/vite).

0 commit comments

Comments
 (0)