Swift 语言 Server 端开发资料收集

苹果的 Swift 语言第二版预计在今年底开源,届时还可在 Linux 下使用 Swift 语言。试想一下此语言用在服务端 Web 开发也该是个很好的方向,需要实现对  HTTP 协议的支持。

Swift 本身就可以做 Shell 脚本用,所以以 CGI 的方式运行是没问题的,没有第三方相关的框架,可以自己完全输出响应头和体。

我们可以把 Swift 集成到像 Apache 或 Nginx 的 Web 服务器中,要做的工作可能多些,应该要用到 C/C++ 来写 Swift 支持模块。想下我们用这种 URL http://localhost/service/customer.swift 来访问 swift 实现的后台页面。

或者也可以让 Swift 代码像 NodeJs 一样运行,自己启动 HTTP Server。幸运的是我们已经有了 SwifterTaylor,再配之以纯 Swift 的模板实现 GRMustache, 简单开发不在话下。

一旦该语言流行开了,特别是能用在 Linux 平台下,总会有人去实现出对 HTTP 协议的支持,再配之以模板,让 Swift 像 PHP 一样在 Apache 中运行就不难了。

下面是收集的几个简单应用例子:

CGI 方式: 可存成 TestCGI, 属性改为可执行,放在 Web 下的 /cgi-bin,让 HTTP Server 允许对该目录下的文件的执行权限,http://localhost/cgi-bin/TestCGI 就能看到页面了。

Swifter 实现: 是不是像 NodeJs 的意味,也定义的路由

Taylor 实现: 也像 NodeJs 一样, 有了 req 和 res 显得更正式了

GRMustache 模板应用

document.mustache 模板文件:

把变量合并到模板中去的实现代码:

参考:

  1. Server Side Swift question by Shinichi Goto
  2. Can you use Swift as a web programming language?
  3. Swift scripts: How to write small command line scripts in Swift
  4. Scripting in Swift is Pretty Awesome

Google 关键字:  swift scripting, swift http server


snell https://github.com/jonklein/snell 这个比较接近了, 可以 CGI 或单独运行,swtl 模板和 JSP 一样的用法来嵌入代码
http://perfect.org/ 这个说的漂亮,但没有一个最简单的 Hello World.

本文链接 https://yanbin.blog/swift-server-side-development/, 来自 隔叶黄莺 Yanbin Blog

[版权声明] Creative Commons License 本文采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。

Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments