目標是使用REST API和在雲中運行的強大後端(Java)構建完整的移動應用程序(亞馬遜)。我知道包括jEE,Gradle,Android,亞馬遜,Sprint MVC和Tomcat等項目中涉及的所有技術。我已經單獨瞭解了所有這些技術。我不知道,所有這些技術是如何協同工作的?我應該是什麼第一步發展?基於雲的應用程序作爲基於Java的後端和基於Android的前端的Restful Services
回答
所以,你想開發一個應用程序支持restfull api在後端。 雖然可以根據個人視角以不同的順序完成。 但我會建議遵循以下步驟: -
開始寫作問題的REST API。要編寫restfull API,您必須知道Jax-rs以及(Jersey或RESTEasy)和JPA(如果需要數據持久性)。
正如您在您的問題中所說的想要使用AWS,請在AWS上獲取帳戶並在服務器上部署您的api。
如果你想要一些額外的服務器端功能,你可以使用servlet來做到這一點。如果你要使用servlet,那麼你將不得不使用tomcat作爲一個容器,或者你可以使用任何其他你的選擇。
到現在爲止,現在你只需要開發你的android應用程序。調用你從android應用程序寫入的API來傳遞服務器和Android應用程序之間的數據。
要開發由REST api備份的android應用程序,不需要您提到的所有組件。 JEE可支持的服務器,編寫REST API和Android開發所需的工具足以提供您想要的基本功能。
(免責聲明:根據我的經驗提出意見)從選擇一個有效的架構模式開始,Domain Driven Design在維護過程中長期運行良好。做大量的設計工作。
接下來是開發框架和其他工具的選擇,從你以前的評論你似乎使用gradle,沒有太多的保留,我在那一部分,似乎是不錯的選擇。
- 基地開發框架:Spring Boot當然,只是爲了它,你可能不會後悔。如果你沒有看到它支持你的任何需求,它提供了擴展點供你定製(你可能會錯過JAXRS標準註釋開箱即用雖然)
- 所有你的領域邏輯作爲你最終選擇的任何架構模式中的POJO。
- 持久性:如果你是新的開始與RDBMS,導致其他一切往往解決它的漏洞。 postgres,如果你可能正在尋找符合ANSI SQL的規則,否則其他任何自由和開放源代碼都與其他具有某些顯着特徵的其他產品一樣好。對於使用QueryDSL的ORM Spring Data JPA,您可以構建一些易於維護的持久層。
- 單元測試:Junit4應該足夠好,Spring集成將成爲基於彈簧的應用程序的最佳選擇。
- 如果你最終使用的消息不知何故,兩人一起去兔或Active MQ AMQP
- 春天開機自帶嵌入式容器,所以你可以選擇香味Tomcat或碼頭,擔心少
- 使用Spring集成或Apache駱駝您的整合需求。
- 由於您提到了雲,請嘗試使用Spring雲,並嘗試按照雲原生實現,遵循12個因子應用推薦。
你的回答非常令人滿意。我的思想逐漸清除了發展。你的意思是我應該專注於設計階段。我將在我的數據庫中使用MySQL。我對發展很陌生,這就是爲什麼事情看起來很複雜。 @samasundaram sekar謝謝 –
- 1. 基於EC2的雲應用程序的前端和通信
- 2. 基於通配符的基於DNS的後端基於通配符
- 3. 基於Java EE的後端應用程序框架
- 4. 簡單iOS應用程序的基於Web的後端?
- 5. 基於控制檯的應用程序到基於Java的GUI應用程序
- 6. 基於雲端MS Access後端的選項
- 7. 基於雲的Android開發
- 8. 用於Web應用程序的基於雲的Web服務
- 9. 創造基於客戶端的程序
- 10. 基於雲的應用程序的Java中的會話類型
- 11. 基於MATLAB的Java程序
- 12. 基於Java的Telnet應用程序
- 13. 基於Java的USB應用程序
- 14. 基於Java文本的應用程序
- 15. 基於Java的獨立應用程序
- 16. 基於終端的IDE
- 17. 基於終端的RPG
- 18. 基於Web的Iphone/Android應用程序
- 19. 基於Flash的android應用程序
- 20. 基於位置的Android應用程序
- 21. 基於位置的android應用程序
- 22. 前端到基於LLVM的編譯器
- 23. 基於澤西島的@pathparm服務器的RESTful Android客戶端
- 24. 基於Socket.IO的PHP應用程序+基於WebSocket的通知
- 25. 基於Eclipse的單點登錄基於RCP的應用程序
- 26. 好的基於Android的IDE用於開發Android應用程序
- 27. Dropwizard:對於基於雲的應用程序
- 28. Java Spring作爲基於Akka的REST HTTP調用的客戶端
- 29. 基於無線通信從基於Web的應用基於桌面的應用
- 30. 基於Java的顛覆客戶端
謝謝你的回答是有幫助的,我還沒完全清楚。我將使用Gradle開發應用程序。 @DarkShadow –
是的,你不需要擔心gradle那麼多,我們被android studio所關注的大部分部分(就gradle而言),默認情況下android studio使用gardle。當你開始讓你的應用程序gradle將被包含在項目中。 – DarkShadow
我正在使用IntellJ的想法。事情將被清除。我需要更多的幫助。謝謝@Darkshadow –