Laravel Jetstream 的利弊?

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

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

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

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

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 5

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

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

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

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

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

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

前陣子想把個人專案用的 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,香

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

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

4年前 评论

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

4年前 评论

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