Laravel Jetstream 的利弊?

今天上午在Laravel作者taylor的Twitter里逛了一圈,发现有关于Laravel Jetstream的讨论还是蛮多的。

官方文档中laravel/ui的内容也被Jetstream取代了。粗略看了下,后者比前者功能更多些,但好像徒增了一些不必要的学习成本?比如InertiaLivewire两个小众的js预处理器。说小众也不太过分,很多人都没听过这两个新玩意,而且可能也只是在外网的Laravel圈子里比较火?

这种为了简化全栈开发人员工作流程而生的框架,感觉始终不会是主流,也断不敢把它应用到公司项目中的。感觉是不是有点激进了,laravel/ui像是过渡产物了

tailwindcss取代bootstrap这个我觉得正常,tailwindcss对后端开发人员真的是很方便了

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 5

tailwindcss 太复古了;让我想到了内联css

3年前 评论
largezhou 3年前
pigzzz (楼主) 3年前
pigzzz (楼主) 3年前
MArtian 2年前
Epona

Inertia 应该只是一个 vue-router 的wrapper, 所有的写法和 vue一样,只不过不用使用vue-router来进行路由处理,改由laravel的router进行处理了(我听别人是这么解释的)

Livewire 核心理念其实是来自于 Elixir 社区中 Phoenix框架里的 Liveview, 这个确实是小众了。 不过,对于自己的项目来说,还是能有用武之地的, 公司项目又轮不到自己做决定。

我个人还是很喜欢 Jetstream的(然而并没有机会用。。。

3年前 评论
pigzzz (楼主) 3年前
Epona (作者) 3年前

前陣子想把個人專案用的 Laravel UI 轉到 Jetstream
個人專案中的登入有用到 Google 的 ReCAPTCHA
Laravel UI 可以很方便的加上一個需要驗證的參數
但是 Jetstream 我就不太清楚怎麼做了
官方提供的文檔,閉包中的參數 Request 物件無法使用自己自定義的
在裡面使用 validate 也無法使用自定義的 Rule
我有點不知道要怎麼轉過去

use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use Laravel\Fortify\Fortify;
use App\Http\Requests\UserRequest
use App\Rules\Recaptcha

// 這裡無法使用 UserRequest,只能使用 Request
Fortify::authenticateUsing(function (UserRequest $request) {
    $request->validate([
        'username' => 'required|string',
        'password' => 'required|string',
        // 這裡無法使用自定義的 Rule,因為不支援 DI
        'g-recaptcha-response' => ['required', new Recaptcha],
    ]);

    $user = User::where('email', $request->email)->first();

    if ($user &&
        Hash::check($request->password, $user->password)) {
        return $user;
    }
})

但我認為 Jetstream 的更新確實不錯
用 Vue 但不用寫 API,直接使用 Laravel 的 Routing,香

3年前 评论
jcc123 3年前
Nella (作者) 3年前

Livewire 使用起来感觉有些跳跃性,个人全栈来用还能接受

3年前 评论

为了以后求职,最好的还是直接用vue

3年前 评论

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