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

相关问题