变革者:Laravel Livewire

Laravel

一个改变游戏规则的小项目: Laravel Livewire

什么是 Livewire?

官方网站是这么回答的:

Livewire 是 Laravel 的全栈框架,可简化构建动态接口的过程,而不会给 Laravel 带来麻烦。
简单来说就是:您可以或多或少地像 JS 框架一样使用 PHP 进行编码。 嗯? 我个人很喜欢它。 我非常喜欢这个创意,因此决定与我的公司赞助该项目。

什么情况下建议使用 Livewire?

通常,我可以说我的项目中有 99% 都符合使用 Livewire 的条件。 我们主要是在创建数据驱动的 Web 应用程序,但是我可以想象使用 vue 或 react 这样的框架可以更好地解决某些类型的项目。 例如,如果您要构建诸如webflow,Figma 或 framer 之类的东西。 这些类型的应用程序在用户端的直接交互中非常庞大,因此每次使用服务器进行更新时可能会有些滞后。

这不是一种退步吗?

也许您会认为:“等等,这难道不是我们几年前就已经有了 Turbolink 和所有DOM 替代品的想法吗?”

我不得不说:是又不是。 让我们来谈谈为什么说是:动态替换 body 或部分的想法从2020年开始就不是一个创意,但是这样做的方法不是很有帮助或直观。Livewire并不能替换整个 body。 它只是调用后端,并接收一个小的DOM结构或一个组件,然后将其替换。 顺便说一下,这是一种已经在 GitHub 上使用的技术。 如果您在GitHub上进行修补时选中 dev-console,您会看到,例如,在搜索输入处,数据不是通过API提供的,而必须显示的HTML则完全传递给了前端。 就像Livewire那样做。

我的 “用户端” 应用程序经验

让我们谈谈我们对以下三个应用程序的体验:GitHub,Everhour 和JIRA。 您会在这里看到我为什么这样做。

JIRA

首先,我对JIRA的印象是,它在UI方面很不错,但在性能方面却并不令人印象深刻。 有时很慢,有时我的 bug 甚至可以通过刷新页面来解决。

Everhour

我们使用 Everhour 来对 Cierra 的客户进行时间跟踪和计费。 在配置了项目的小时费用,然后转到报表以创建帐单之后,我经常遇到一个巨大的问题,即团队成员更改的小时费率在报表中没有变化。 我真的为此亏了钱! 这仅仅是因为错误的API通信。 使用Livewire,这是不可能发生的(可以,但不是那么容易)。

GitHub

GitHub 响应速度很快(对我而言)相对来说没有错误,并且所有设备都在使用它顺利运行。 您是否尝试在旧笔记本电脑上运行JIRA? 这不是真正的光荣。

那么,如果有人问您从哪里适应 Tech-Stack,您会选择哪个应用程序? 我会说 GitHub! 这就是为什么我在这里谈论自己的经历的原因.

SEO 方面

让我们也谈论一下SEO。 就像您可能已经知道的那样:Vue.js(特别是在启用vue-router的情况下)在没有添加 SSR,预生成HTML或预渲染器的情况下对SEO 不太友好。 使用Livewire,您将获得SEO友好页面,而无需任何解决方法! 如果您想拥有SPA? 没问题,Turbolinks 可以帮到您。 它可以立即与Livewire集成。

Just one language

像所有 PHPer 的期望:希望 vue.js 可以在 PHP语法中使用吗? 我想我不必多说。 Livewire 做得很好。 当然,您必须重新考虑一下,并且某些结构不可用。 例如,您将无法像以前使用 vue.js 一样嵌套组件,因为您没有像 vue.js那样向父组件提供相同的 emit 功能,但这非常相似!

快速编码

使用 Livewire,我可以在4个工作日内构建完整的 SaaS 应用。 可不是闹着玩的! 当然,要启动 SaaS 然后对其进行编码,还有其他事情要做。 但是,实际的编码部分花了4天的时间就完成了带有 2 个 CRUD 元素(包括创建,编辑,删除等)的 MVP,包括表单验证,通知,配置文件管理,计费以及所有这些工作。

使用 vue.js 和 API 解决方案,我要花至少2周的时间才能得到相同的结果。

而且,如果我继续考虑和编写它,我很确定我会找到越来越多的使用 Livewire的专家。 它在性能,语法,编程速度方面都非常出色,而且很稳定。 嗯,而且它已经长期维护了,我想说是因为我有点了解 Livewire 的创建者 Caleb,而且他是一个以连续性和最佳表现为己任的人。 感谢Livewire,@ Caleb.

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://dev.to/vittorioe/laravel-livewir...

译文地址:https://learnku.com/laravel/t/45707

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!