NativePHP Kitchen Sink:基于 Laravel 的移动开发实验平台
NativePHP Kitchen Sink 是一款功能齐全的移动演示应用,它展示了 Laravel 在移动设备上的强大功能——并非在网页端,而是在你的手机上。
这款应用使用 NativePHP Mobile 构建,无需 React Native、Flutter 或任何其他前端框架,即可在 Android 或 iOS 应用中直接运行完整的 Laravel 后端。Kitchen Sink 旨在证明一个简单而强大的真理:如果 Laravel 能运行,那么它也能在你的手机上运行。
无论你是测试原生功能、学习 NativePHP 的工作原理,还是从零开始构建一个全新的应用,Kitchen Sink 都能为你提供一个稳定可靠、即用型的实验平台,供你探索。
它存在的意义
长期以来,移动开发意味着一件事:切换技术栈。如果你是一名 Laravel 开发者,想要构建一个原生移动应用,你就必须学习 Swift、Kotlin 或 JavaScript。您需要重构应用程序的逻辑,重新设计数据库访问方式,重新实现身份验证流程,并设法同步 API 和 UI。
NativePHP 改变了这一切。
它让 Laravel 开发者能够使用他们熟悉的 Laravel 代码库构建真正的原生移动应用程序。“Kitchen Sink”就是这一概念的现实验证——它将 Laravel 应用程序直接打包到一个原生 shell 中,并由一个自定义编译的 PHP 运行时提供支持,该运行时可以直接与 Android 和 iOS 交互。
结果如何?一套代码库。一个后端。一套技能。以及对原生功能的完整访问权限——所有这一切都通过 PHP 实现。
功能介绍
“Kitchen Sink”不仅仅是一个演示——它是一个动态的目录,展示了 NativePHP 目前的所有功能,也是未来新功能的测试平台。
以下是它开箱即用的功能:
生物识别身份验证
使用 Face ID 或指纹扫描保护用户安全——通过简单的 Laravel 逻辑从 PHP 触发。
相机访问
打开原生相机应用,拍摄照片,并直接上传到 Laravel 路由进行处理。
推送通知
发送和接收本地及远程推送通知,并可完全控制点击操作和后台处理。
提示框、警告框、振动
使用简洁易读的 PHP 调用触发原生 UI 操作,例如提示框、警告框和振动反馈。
文件选择器和存储
从设备中选择文件和照片,将其上传到 Laravel 应用,并像在网页上一样保存。
分享表单
从 Laravel 打开系统分享对话框,允许用户将内容分享到 Messages、WhatsApp、Slack 等应用。
深度链接
处理将应用启动到特定视图的传入链接——所有这些都通过 Laravel 路由进行管理。
会话和身份验证持久化
NativePHP 在请求之间保持完整的会话状态。Cookie、CSRF 令牌和身份验证信息像在浏览器中一样持久存在。
Livewire + Inertia 支持
即使不在浏览器中,您也可以使用 Livewire 或 Inertia 来驱动动态交互。PHP 处理逻辑,NativePHP 处理视图。
基于真正的 Laravel 构建
Kitchen Sink 中捆绑的 Laravel 应用正是如此:一个真正的 Laravel 应用。它使用了 Laravel 的所有常规功能:
web.php 中的路由
控制器和中间件
Blade 模板
Livewire 组件
Eloquent 模型和迁移
配置文件、.env 文件、服务提供者——应有尽有
应用启动时,NativePHP 会启动嵌入式 PHP 运行时,向 Laravel 发送请求,并将输出传递给 WebView。之后,交互(表单提交、点击、Livewire 操作)会被捕获并路由回 Laravel,然后重新渲染响应。
对 Laravel 来说,这只是一个普通的请求。但对您的用户来说,这是一个原生应用。