7

我是一名Web開發人員,我發現很多次我需要客戶端和服務器上的相同功能。所以我使用JS和PHP或任何服務器端語言編寫它。我厭倦了這一點。如果我必須改變它,那麼我需要在兩個地方改變它。如果我想將它用於某些手持設備,那麼我將不得不再次使用objective-C或Java等重寫該代碼。然後,如果我需要更改該功能,那麼我需要在任何地方更改它。避免使用多種不同的語言編寫相同的算法

有沒有解決方案呢?如果我會通過ajax調用一些webservice,那麼客戶端會有一個延遲。如果它在JS中,那麼它不能從PHP或Java等內部進行訪問。如果我使用另一種語言的PHP中的某些服務,那麼這也可能成爲性能問題。

也有可能有一段時間我們需要使用db或without db作爲輸入從某些參數輸出這樣的函數。

我知道會有一些非常簡單的解決方案,但我不知道這一點。請告訴一些獨立於語言的解決方案,因爲我始終沒有VPS。

我不確定我的問題實際上是屬於stackoverflow.com還是programmers.stackexchange.com,所以請將它轉移到programmers.stackexchange.com,而不是關閉此問題,如果它屬於那裏的話。

+0

您可以隨時創建一個Web服務來爲您提供這種常用功能。 Web服務調用代碼會有所不同,但實現任何你想要的共同點仍然是常見的。顯然這很大程度上取決於你在做什麼,但這是可能的。 – doogle 2012-03-08 03:05:08

+0

目前還不清楚爲什麼您要在客戶端和服務器上編寫相同的功能。這究竟是如何工作的,爲什麼你需要這樣做呢? – kennebec 2012-03-08 04:41:28

+0

@doogle我知道這是常見的事情,所以它必須是可能的,但在給定的情況下,它可以如何工作,以便在瀏覽器客戶端以及手持設備中使用,無論使用java還是c等等,都意味着任何合適的格式?我認爲json更近?但仍然需要在運行時加載它。 – Hafiz 2012-03-08 05:57:05

回答

3

通常,解決此問題的方法是使用一種語言編寫通用代碼,並使用轉換器或庫鏈接來允許從其他語言訪問。

Node.js允許您在JavaScript中編寫服務器端代碼。

Node.js是一個基於Chrome的JavaScript運行時構建的平臺,可輕鬆構建快速,可擴展的網絡應用程序。 Node.js使用事件驅動的非阻塞I/O模型,使其輕量且高效,非常適合跨分佈式設備運行的數據密集型實時應用程序。

您還可以使用JavaScript爲移動設備編寫HTML5應用程序。

"Building iPhone Apps with HTML, CSS, and JavaScript"

現在的網頁設計師和開發人員可以加入iPhone應用程序一方,而無需學習可可的Objective-C編程語言。確實如此:您可以使用HTML,CSS和JavaScript的現有技能快速高效地編寫iPhone應用程序。本書向您展示瞭如何使用大量詳細的示例,分步說明以及動手練習。


如果您不想嘗試在JavaScript編寫大型複雜的應用程序,GWT提供一種方式來編寫Java,並通過翻譯,在客戶端上運行它。

GWT SDK包含Java API庫,編譯器和開發服務器。它允許您使用Java編寫客戶端應用程序並將其部署爲JavaScript。


如果在發展。.NET語言:C# - > JavaScript的ScriptSharp

腳本#是一個免費的工具,使開發人員能夠編寫C#源代碼,然後把它編譯成在所有現代瀏覽器

+0

但有些地方我們需要編寫本地應用程序,而不是使用webview等,因爲有些時候應用程序必須使用某些功能沒有提供的圖書館donig HTML/CSS/JS應用程序。並且可以有symbian或其他手持操作系統,其中JS不起作用。另外服務器上的node.js需要安裝在那裏,我不認爲共享主機允許。那麼是不是有一些真正的跨語言解決方案,像一些webservice或格式或兩者的結合,可以在兩側工作? – Hafiz 2012-03-08 02:49:08

+0

我的客戶通常共享主機,只有PHP可用 – Hafiz 2012-03-08 02:51:23

+0

是否有一些使用JSON的webservice可以這樣做?由於JSON是獨立格式,所以大多數語言都可以編碼/解碼 – Hafiz 2012-03-08 02:52:47

相關問題