簡體   English   中英

laravel實時應用(如gmail和Github)的要求

[英]Requirements for laravel real-time apps like gmail and Github

為了在Laravel中實現實時應用程序(例如GmailGithub) ,其中所有事情(例如打開新頁面,發送郵件,收件箱,提交表單等)都在一個頁面中進行,我做了很多研究,發現我應該使用Laravel Pusher軟件包。 但是我認為大型項目不是免費的。

此外,我讀https://www.codetutorial.io/laravel-5-and-socket-io-tutorial/使用Redis的與文章的NodeJS(和許多其他物品)。

無論使用Laravel Pusher ,我的問題是通過Laravel實施實時應用程序的最佳和常用方法是什么?

我正在使用Laravel 5.2

您所說的實時應用程序實際上稱為單頁應用程序或SPA。 實時應用是諸如飛機,火車和證券交易所的軟件之類的東西。

如果要創建SPA,則不一定需要推送服務。 我建議您看一下這些前端項目:

  • 角js
  • React JS
  • Vue js

正如@gurghet指出的那樣,SPA和實時應用程序之間是有區別的。 Gmail確實是實時應用程序,而不是SPA。

API優先:

如果要創建REALTIME應用程序,則首先必須創建一個API(REST / SOAP)。 Laravel和Lumen都提供了出色的代碼庫,可以立即啟動您的api。

選擇正確的JS框架:

一旦有了API,就需要一個JS框架。 當涉及到實時應用程序時,只有一堆充滿框架的框架可以為您帶來真正的靈活性。 角度位於頂部,其次是REACT,BACKBONE和流星。

Angular有很多粉絲追隨者/社區,因此應該是適當的選擇。

完美的PHP堆棧: Laravel + Angular堆棧很棒。 Laravel非常靈活,因此您可以使用它執行幾乎所有類型的服務器端腳本。 它還會不斷激勵您每次編寫更簡潔的代碼。 雖然有2向綁定的角度非常好。 這意味着當您將相同數據傳遞到不同位置的視圖時,angular會跟蹤對數據所做的所有更改。 它還具有諸如PROMISES之類的功能,其中angular不等待從數據庫中獲取真實數據,而是僅假定數據應該已更新到db,並僅向您顯示更改(它跟蹤的更改)。實時。

認證:整個過程中最令人沮喪的部分是安全地認證用戶,即將數據從有角度的傳遞到laravel。 您將必須使用OAUTH或JWT對用戶進行身份驗證。 盡管兩者已經存在了一段時間,但是您不會找到任何有關身份驗證的良好代碼/指南。 我在這里花了很多時間,但是您始終可以在codecanyon上購買一些自舉/正確配置的項目。

套接字是關鍵:沒有套接字就不能存在實時系統,您不能僅以固定的時間間隔訪問數據庫以檢查更新的值。 在這里,套接字通過通知系統有可用的更新來節省一天的時間,然后您可以從數據庫中獲取更新的值。

如今,諸如pusher之類的服務已經解決了大多數問題,並且laravel還帶有內置的用於pusher的api客戶端。 但是,您始終可以自由使用開源軟件來創建自己的套接字系統,例如。 socket.io

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM