+12

[Laravel] NativePHP là gì? Và nó làm được gì?

Overview

Với góc nhìn là một dev PHP, thì như mọi người cũng biết là trong tất cả những frameword PHP hiện nay thì Laravel đang là ông hoàng rồi. nativePHP được phát triển như một cái package đi kèm với các project Laravel (bao gồm dự án hiện có hoặc là mới hoàn toàn điều có thể triển khai với khứa này).

Có nhiều câu chuyện vui mình hay nghe được là dev PHP giờ lỗi thời hay bla bla đại loại thế. Nhưng thực sự thì bạn cứ thử nhìn xem các trang web hiện tại mà chúng ta có thể thấy được thì gần như 70 - 80% là dùng PHP rồi. Việc mà xây dựng được 1 ứng dụng từ PHP có vẻ không phải là việc mới mẻ gì, thật ra trước đó cũng có nhiều cái tương tự rồi ví dụ PHP Desktop.

Công nghệ mà, nó làm mới mỗi ngày nên là cái nào hay cái nào tiện thì mình xài thôi. Nên bài này mình chỉ chia sẻ một số góc nhìn mà mình thấy hay ho về nativePHP mà mình tìm hiểu được.

Setup

Việc cài đặt thật sự rất đơn giản, nhưng phải đảm bảo là bạn đã có 1 ứng dụng Laravel trước đó (có thể build mới hoặc dùng cái dự án sẵn có trước đó).

Installation

composer require nativephp/electron

Chạy cái lệnh trên để cài đặt nè

Run the installer

php artisan native:install

Sau khi xong 2 bước trên là xem như bạn hoàn thành cài đặt rồi đó. Giờ chỉ cần 1 command để chạy thằng này lên nữa thôi

Run

php artisan native:serve

Hoàn thành quá trình chạy, một cửa sổ ứng dụng sẽ tự động hiển ra, giống như việc bạn có thể sử dụng phím F12 để kiểm tra trên trình duyệt web.

Tính năng nổi bật

Có tổng cộng 5 tính năng nổi bật mà nhà phát hành giới thiệu:

  • Window management
  • Menu management
  • File management
  • Database support (SQLite)
  • Native notifications

Tính năng mà mình thấy thích thú của nativePHP là cái "Menu management" mình sẽ nói rõ ở khúc sau hơn về phần này nha.

Window management - Quản lí các cửa sổ

Cho phép bạn quản lí các thao tác đóng, mở cửa sổ. Làm việc trên 1 cửa sổ chính nhưng vẫn tuỳ biến thêm được các cửa số khác (chú thích, hỗ trợ, ...) tuỳ vào nhu cầu sử dụng của bạn.

Nói đơn giản là mấy hàm đóng, mở, tuỳ chỉnh kích thước, đặt title, ... nhiều tác vụ khác nữa.

Menu management - Quản lí thanh menu

Thật sự với mình mà nói, nhờ cái này mà ứng dụng của bạn giống 1 cái ứng dụng thực thụ hơn cả. Vì sao?

Cho phép bạn tạo ra thanh menu cho ứng dụng của mình.

Note: Do mình đang xài mac nên mình review hành vi người dùng trên macOS nha.

Menu Label - Nhãn (biểu tượng thu gọn) của menu

Thường thì các ứng dụng khi cài đặt 1 vài ứng dụng sẽ có cái phần trên thanh menu để mình tuỳ biến nhanh. NativePHP cũng hỗ trợ việc tạo và làm việc tương tự các app khác.

File management - Quản lí file

Làm việc với NativePHP cũng giống như làm việc với các tệp trong ứng dụng Laravel thông thường.

Có nghĩa là bạn có thể tiếp tục sử dụng StorageFacade của Laravel để lưu trữ và truy xuất các tệp trên hệ thống tệp của người dùng giống như trên máy chủ của mình.

Database support (SQLite)

Hầu hết mọi ứng dụng đều cần cơ sở dữ liệu, đặc biệt nếu ứng dụng của bạn đang làm việc với dữ liệu người dùng phức tạp hoặc giao tiếp bằng API. Cơ sở dữ liệu là một cách hiệu quả và đáng tin cậy để duy trì dữ liệu có cấu trúc trên nhiều phiên bản ứng dụng của bạn.

Để giữ cho dung lượng ứng dụng của bạn nhỏ, NativePHP hiện chỉ hỗ trợ SQLite.

Bạn có thể tương tác với SQLite thông qua PDO hoặc ORM, chẳng hạn như Eloquent, theo đúng cách bạn đã quen.

Native notifications - Quản lí thông báo ứng dụng

NativePHP cho phép bạn gửi thông báo hệ thống bằng API PHP. Những thông báo này, không giống như thông báo tích hợp của Laravel, là thông báo giao diện người dùng thực tế được hiển thị bởi hệ điều hành của bạn.

Thông báo có thể là một cách tuyệt vời để thông báo cho người dùng về các sự kiện đang xảy ra trong ứng dụng của bạn và thu hút sự chú ý của họ trở lại ứng dụng đó.

Kết.

Để hiểu rõ nhất thì tại sao bạn không thử build trên project sẵn có của bạn xem sao.

Mình hy vọng những góc nhìn cũng như một vài tìm hiểu lụm lặt được sẽ giúp bạn hình dung được phần nào về cách hoạt động của NativePHP.

Tài liệu liên quan

NativePHP document: https://nativephp.com/docs/1/getting-started/introduction Medium blog: https://medium.com/@emma.ngo1110/native-php-how-to-start-911b27b40791


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.