您是否可以在技术上使用Swift作为构建网站/ Web应用程序的编程语言?
更新:看起来很多人正在研究这个问题.
Apple的官方支持:https://swift.org/server-apis/
Com*_*rHK 48
当然,理论上.
任何可以输出纯文本的程序也可以用于包含Swift的CGI(通用网关接口).
因此,是的,您可以使用Swift进行Web编程.但是,目前,没有其他库(如PHP或EJB/JSP中的那些)可以让您轻松完成此过程.看一下Swift的一些流行的Web框架,比如Vapor.
ian*_*hie 25
不确定这个主题是多么活跃,但如果有人在将来发现这一点,我想在此宣布我已经开始研究在Swift中编写FastCGI应用程序的框架.
当然,您可以使用任何Objective-C Web框架(尽管很少),您当然可以使用Swift作为脚本语言来转储由CGI反刍的HTML字符串.然而,(我将在这里得到所有的哲学)我认为如果我敢于使用这个术语,那么解决这种方法并不是非常"类似Swift".Swift的设计师经历了很多麻烦,以确保它不仅仅是"只是"Obj-C而没有(约束)C(事实上,我几乎希望他们没有说过,因为它经常被错误引用).Swift也比Obj-C更接近功能族(同时仍然保留了坚实的面向对象并且管理着添加Python特有的脚本性).这开辟了我认为需要探索的全新设计选择世界.也,
所有这些都说,我自己创造了一个模块化的"微框架",可以让你在Swift中以非常高的水平编写Web应用程序.在撰写本文时,我将其归类为概念的功能性证明,但它仍然不像我想的那样抽象,并且缺少实际使用所必需的一些关键特性.贡献当然是受欢迎的.希望有人觉得这很有帮助.https://github.com/ianthetechie/SwiftCGI
小智 24
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 />")
}
Run Code Online (Sandbox Code Playgroud)
Apple现在(2015年3月12日)开源基金会库(https://github.com/apple/swift-corelibs-foundation)以允许在Linux服务器上进行编译.
| 归档时间: |
|
| 查看次数: |
45383 次 |
| 最近记录: |