我正在考慮使用RESTful Web服務構建應用程序。我的想法是將應用程序的RESTful(json等)部分構建爲獨立應用程序,然後將前端(例如html/css/js/etc)作爲該服務的客戶端,儘管不是通過js,我想該網頁無需js就可以工作,所以可能使用LWP等來進行呼叫。基本上結果是2個獨立的應用程序。這是一個壞主意嗎?好主意?我意識到這有點主觀。REST服務應用程序和單獨的前端 - 好主意?
3
A
回答
4
我認爲這是一個好主意。
這意味着,在它的結束:
您將有一個完整的API與至少所有的原生圖形界面的功能。所以你不會在圖形界面中獲得任何不能作爲服務使用的功能。
您將避免一些重複的工作,因爲您爲了使圖形界面正常工作所做的一切努力也會反映在Web服務中,因爲它們使用同一個功能。修復一個錯誤,並修復其他錯誤。
這也意味着一致性。
自動化測試可能更容易。
特別是在開放源碼中保持模塊化是很好的,因爲它可以讓人們更容易出去爲您的服務編寫單獨的圖形界面,甚至在使用相同的圖形界面時修改您的服務。
0
我期望看到的這種類型的體系結構的主要問題是,不會構建你認爲你是什麼的。機會是這個應用程序的RESTful部分將前端,提供文本/ HTML與鏈接,讓客戶端發現你的應用程序。
您認爲是RESTful Web服務的部分可能不會是RESTful。您是否打算在Web服務的響應中嵌入鏈接?你會提供一個比application/json或application/xml更具語義含義的媒體類型嗎?如果不是您的Web服務不是RESTful。
我不是說你在做什麼是錯誤的,我只是說你可能沒有做你認爲你正在做的事情,所以要小心使用RESTful約束來指導你,因爲你很可能會發現它非常難以應用它們。
相關問題
- 1. 在Rails應用程序中分離後端服務器和前端服務器?
- 2. 單頁應用程序 - 獨立於後端的前端?
- 3. 使用MVC的REST Web服務,這是一個好主意嗎?
- 4. LDAP服務器端排序 - 真的是個好主意嗎?
- 5. Electron JS,開始使用Express後端和單獨的html前端應用程序
- 6. 單獨服務器來服務Django應用程序和它的內容?
- 7. 使用webservices連接前端和後端,一個好主意?
- 8. PHP應用程序,Web服務和單獨的IP地址
- 9. REST不透明鏈接和應用程序的前端
- 10. 獨立的前端應用程序 - 構建和部署策略
- 11. 好主意或壞主意,在REST服務的輸出中使用xml元素的非確定性排序?
- 12. 如何在前端應用程序和後端服務器之間共享cookie?
- 13. 服務器端應用程序中的內部類的好處
- 14. 在測試前端時重置單獨的後端服務
- 15. 服務器端獨立的應用
- 16. 使用Relay,React JS和Graphql應用程序的獨立前端和後端應用程序
- 17. 使用Web服務備份應用程序的數據時,Android服務是一個好主意嗎?
- 18. C#獨立應用程序與java後端web服務
- 19. 如何使用單獨的服務器和客戶端代碼部署程序?
- 20. TensorFlow REST前端,但不是TensorFlow服務
- 21. Flex構建客戶端和服務器端的應用程序
- 22. 如何爲Capistrano指定單獨的應用程序和數據庫服務器?
- 23. 是否可以從當前應用程序中單獨啓動Android服務?
- 24. 基於圖形的應用程序的域服務和應用程序服務
- 25. 獨立的後端(Symfony2中)和前端(AngularJS)REST - 如何驗證
- 26. 服務結構Web應用程序的前端開發工作流程
- 27. 使用C#和SQL的客戶端服務器應用程序
- 28. React/Relay服務器端渲染和搜索引擎友好的應用程序
- 29. WCF控制檯應用程序獨立/獨立服務
- 30. Hyperledger REST服務器Angular Web應用程序無法連接到本地主機以外的REST服務器
我只是說json和xml等,以確保我清楚。我想這樣做的部分原因是我覺得在用戶端創建一個完整的應用程序非常困難,主要是由於瀏覽器的限制而不是表示。 – xenoterracide 2010-08-09 18:42:30
@xenoterracide Web瀏覽器是迄今爲止最具REST風格的客戶端。您發現哪些瀏覽器限制會導致您的問題? – 2010-08-10 02:25:59
表單,儘管我相信HTML5會在表單中添加對PUT和DELETE的支持,但我不確定任何瀏覽器是否都已實現此功能。我也注意到了一些問題,這些問題是由於缺少表單中的「可皮膚性」,導致人們使用圖像和鏈接(必須以rpc方式)或JavaScript來蒙皮,因爲瀏覽器不允許皮膚形成元素。 – xenoterracide 2010-08-10 18:22:09