Architectural Overview
LaravelUi5 promotes a clean separation of concerns between the backend (Laravel) and the frontend (OpenUI5), enabling a scalable and maintainable architecture suitable for professional business applications.
Here’s how the pieces fit together:
Backend — Laravel
- API-first: Laravel serves as a JSON API provider using standard routes and controllers.
- Business Logic: Handles authentication, authorization, data processing, and domain rules.
- Database & Models: Uses Eloquent ORM or any Laravel-supported DB layer for persistence.
- App Shell: Laravel serves a UI5 app entrypoint (e.g.,
index.html
) and static assets.
Frontend — OpenUI5
- Fully client-side: Built as modular UI5 apps with MVC or MVVM patterns.
- Data Binding: Connects to Laravel APIs using
ODataModel
or custom logic. - Routing & Views: Managed via UI5’s flexible routing system.
- Component-based: Uses reusable UI5 controls and XML views to structure the UI.
Development Workflow
- In Development: UI5 apps are served via LaravelUi5, which takes care of linking development resources and resolving them cleanly within the Laravel context — no manual wiring required.
- In Production: UI5 apps are built (bundled, minified) and shipped as static assets within Composer packages, making them easy to version, distribute, and deploy alongside your Laravel app.
- Optional Integration: UI5 apps are typically organized per module, but can also be grouped by feature for more workflow-driven interfaces.
This architecture allows both frontend and backend teams to work independently — or as one — while keeping codebases clean, testable, and future-proof.