簡體   English   中英

我應該為Webapp的后端選擇Java還是Javascript?

[英]Should I pick Java or Javascript for my webapp's backend?

我應該在Webapp的背景中使用Javascript還是Java? 對於Javascript,我可以使用buddcore / gianduia(按照Apple的建議)。

盡管Javascript主要在客戶端使用,但是否可以使用Javascript開發中型Web應用程序?

Java是否更適合服務器端和面向對象的編程?

您可以使用。 您選擇哪種將帶來許多競爭優勢和劣勢。 我對Java框架不太熟悉,盡管有很多框架。 諸如Rhino, node.js之類的JavaScript服務器端框架以及使它們上的開發變得更加容易的平台正變得越來越流行。 查找許多JavaScript會議演講中的任何一個,以了解更多信息。

如果您只是開始使用JavaScript或有JavaScript的歷史記錄,那么盡管在網絡之外找不到很多文檔,但可能最容易掌握。 Java將為您提供大量書籍,媒體等,但是如果您不做大量開發工作,您的學習范圍就會更大。

您具體提到了OOP。 Java遵循OOP,但是JavaScript使用原型繼承,並且如果沒有框架,就很難以OO樣式使用。 但是,JavaScript使自己具有更實用的樣式,因此,如果您對此感興趣,則可能會在其中獲得一些好處。

關於將Java與之進行比較的問題有點令人困惑,因此我無法回答Java是否更好。 但是Javascript僅用於客戶端代碼,出於安全原因,不應將其用於服務器端,您可以使用ajax / jquery檢索數據並將其發送到服務器,但這取決於您的需求和應用程序。 如果webapp是高度客戶端,那么java,ajax和jquery是不錯的選擇。

希望這是一個開始,讓我們對您正在嘗試做的事情有所了解。

最好

Java是一種很好的服務器端語言。 正如用戶pst所提到的,JavaScript顯然也可以用作服務器端語言,但是我會說這種情況極為罕見。 關於OOP,我認為與Java相比,OOP在Java中更容易,更直接並且得到更好的支持。 因此,我的建議是使用Java作為服務器端語言。

JavaScript 用於服務器端,也很成功:看http://nodejs.org

而且,無論“ Java對於OOP更好”,OOP是什么意思? 如果您對JavaScript的定義過於寬松(例如Java / C#/ C ++,具有靜態類型和繼承樹,並通過繼承實現多態性),那么JavaScript對於OOP實際上要好得多,但從廣義上來說(使用對象;其中object是具有Identity的實體, 行為狀態 )。 為什么它更好-因為它更強大-它是鴨子型的,並且它的OOP模型是原型的,它比基於經典類的OOP模型更廣泛(您可以擁有類,但可以擁有更多的類) 。

通常,像Java這樣的語言主要用於服務器端,而Javascript則用於客戶端。 在客戶端,您可以編寫Java Applet,但是由於各種原因,它們在網站上並不經常使用。 所有現代的Web瀏覽器都支持Javascript,因此對於客戶端而言,它是自然的選擇。

如今,Javascript可以在服務器運行 對於真正精通Java的人來說,這將是一個很好的解決方案。 但是,如果您希望應用程序具有高性能和可擴展性,則Java是一個更好的選擇。

如果您使用GWT編寫應用程序,則可以在客戶端使用Java。 GWT接收Java代碼並將其編譯為Javascript,該Javascript將在瀏覽器中本地運行。 GWT對您的代碼做了很多優化,因此可以在瀏覽器中高效運行。 它還允許您使用許多可用於Java的開發工具,例如提供代碼完成和單元測試框架的IDE。

Java是靜態類型和面向對象的,而javascript是動態類型和基於功能的語言。 盡管它們的語法非常相似,但它們使用的范例卻大不相同。 比較它們有點像比較蘋果和橘子。 他們都有自己的優點和缺點。

可以編寫只存在於客戶端的整個javascript,但是卻犧牲了與極大的數據源進行交互,與其他用戶共享數據或允許用戶保存數據並從另一台計算機訪問數據的能力。 您還可以編寫僅駐留在服務器端的整個Java應用程序,但會失去交互性。

暫無
暫無

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

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