Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
您能使用Swift作为web编程语言吗?_Swift - Fatal编程技术网

您能使用Swift作为web编程语言吗?

您能使用Swift作为web编程语言吗?,swift,Swift,从技术上讲,您能否将Swift用作构建网站/web应用程序的编程语言 更新:看起来很多人都在做这个 苹果的官方支持:当然是理论上的 任何可以输出纯文本的程序也可以用于CGI(公共网关接口),其中也包括Swift 因此,是的,您可以使用Swift进行web编程。但是,目前,没有其他库(如PHP或EJB/JSP中的库)可以使这个过程变得简单。看看一些流行的Swift web框架,例如。是的,您可以 Swift与ObjectiveC的功能相同,但更简单。因此,您可以使用一个非常简

从技术上讲,您能否将Swift用作构建网站/web应用程序的编程语言


更新:看起来很多人都在做这个


苹果的官方支持:当然是理论上的

任何可以输出纯文本的程序也可以用于CGI(公共网关接口),其中也包括Swift

因此,是的,您可以使用Swift进行web编程。但是,目前,没有其他库(如PHP或EJB/JSP中的库)可以使这个过程变得简单。看看一些流行的Swift web框架,例如。

是的,您可以

Swift与ObjectiveC的功能相同,但更简单。因此,您可以使用一个非常简单的CGI接口(请参阅)在服务器端分析和回答客户机请求(GET和POST)


由于Swift在字符串操作方面很强大,因此它在抽象方面将介于ObjectiveC和PHP/Perl之间。出于许多目的,甚至不需要SQLite或MySQL前端。只需将您的数据放入服务器上的某个文本文件中。

根据其他答案,您可以通过多种方式使用Apple Swift作为网站/应用程序实现的一部分

此外,其他公司也在开发Swift语言编译器,进一步扩展了功能。例如,在Elements编译器的下一个主要版本中,他们将引入一个名为“Silver”的新编译器前端,这是一个Swift编译器

作为已经支持ObjectPascal(Oxygene)和C#(Hydrogene)的现有编译器技术的前端,这意味着您将能够使用Swift语言开发.NET和Java应用程序(包括Android)。有了.NET支持,这显然意味着您可以使用Swift创建ASP.NET网站/应用程序

请注意,这是每个平台的本机编译器-不涉及源代码翻译/交叉编译或平台抽象或兼容性框架,例如Xamarin。RemObjects编译器生成特定于平台的本机代码(即.NET的MSIL、JVM的Java字节码等)。它还允许开发人员本机使用平台库。i、 e.在为Cocoa开发时,Cocoa类直接暴露在语言中,在为Java开发时,Java类也是如此

无论您使用的是ObjectPascal、C#还是Swift语言前端,都是如此(如果您愿意,您可以在项目中混合和匹配语言)


8.0版本已经测试了一段时间,因此现有的元素被许可方已经开始使用它了。:)

Swift作为一种web编程语言非常完美。您可以编写类似python的脚本(用于快速开发或简单任务),然后使用XCode编译相同的代码(用于速度):

将以下脚本复制到Mac上的/Library/WebServer/CGI Executables/TestCGI(安装了Xcode 6.x的OSX Mavericks或Yosemite)。使用
chmod+x TestCGI
使其可执行。使用httpd启动调用
http://localhost/cgi-bin/TestCGI
。您将得到呼叫参数的回显

#!/usr/bin/env xcrun swift

import Foundation

print("Content-Type: text/html")
print("Content:")
print("")
print("1. Process.argument(s):<br />")
for s in Process.arguments {
    print(s + "<br />")
}
print("<br />")

let env: Dictionary = NSProcessInfo().environment

if let requestMethod = env["REQUEST_METHOD"] {
    print("2. Request method is: \(requestMethod)<br /><br />")
}

print("3. Number of environment variables: \(env.count)<br /><br />")

print("4. List environment:<br />")
for key in env.keys {
    print("\(key) == \(env[key]!)<br />")
}
#/usr/bin/env xcrun swift
进口基金会
打印(“内容类型:文本/html”)
打印(“内容:”)
打印(“”)
打印(“1.进程.参数:
”) 对于进程中的s.arguments{ 打印(s+“
”) } 打印(
) 让env:Dictionary=NSProcessInfo().environment 如果let requestMethod=env[“请求方法”]{ 打印(“2.请求方法为:\(请求方法)

”) } 打印(“3.环境变量数:\(环境计数)

”) 打印(“4.列表环境:
”) 对于env.keys中的键{ 打印(“\(键)=\(环境[键]!)
”) }

苹果现在已经(12/03/15)开源库()允许在Linux服务器上编译。

不再确定这个主题有多活跃,但是如果有人在将来发现这个问题,我想在这里宣布我已经开始在SWIFT中编写FASCGI应用程序的框架。 当然,您可以使用任何Objective-C web框架(尽管很少),并且您当然可以使用Swift作为脚本语言来转储HTML字符串,以供CGI返回。然而,(我将在这里得到所有哲学)我认为,如果我敢使用这个术语,接受这样一种方法并不是很“迅速”。斯威夫特的设计师们费了很大的劲才确保它不仅仅是没有C限制的Obj-C(事实上,我几乎希望他们没有这么说,因为它经常被错误引用)。Swift也比Obj-C更接近于函数族(同时仍然保持坚实的面向对象并设法添加Python风格的脚本能力)。这打开了一个全新的设计选择的世界,我认为需要加以探索。还有,类型安全。。。但我离题了


总而言之,我自己创造了一个模块化的“微框架”,可以让你在一个非常高的水平上用Swift编写网络应用程序。在撰写本文时,我将其归类为功能性概念证明,但它仍然没有我所希望的那么抽象,并且缺少了一些实际使用所必需的关键特性。当然欢迎捐款。希望有人觉得这有帮助

在文章Cocoa with Love中,您可以找到HTTP服务器的一个示例。它是用Obj-C写的:

以下是我创建swift版本的尝试:

浏览网页,我发现了非常好的HTTP服务器的swift版本。值得一看:
是的,您可以在Swift中创建web应用程序。是允许您这样做的web框架之一。其源代码已打开。

请看以下问题:。这个想法是相似的。另外,您还需要LLVM编译器(但是您可以