自从我不得不研究Apple开发生态系统以来已经有一段时间了。
实际上,上一次我做任何认真的事情都回到了2009年,当时我试图进入应用程序的繁荣时期。
老实说,我对Objective-C作为一种语言本身并没有很多问题。 实际上,如果有什么需要的话,我比不得不用C或C ++编写代码的人更喜欢。
我认为,如果有的话,我的主要反对意见是Xcode环境远不及IntelliJ之类的水平。 而且,与完整版OSX相比,当时的SDK相当有限。
不用说; 我花了很多时间做比我想要的更多的样板代码。
当Swift问世时(大约两年前,你能相信吗),我简短地看了一下我认为相当不错的语言,但对我却并不怎么感兴趣。 造成这种情况的最大原因是,我的世界在大多数情况下都是在某些基于* nix类型的平台上运行的服务器端Java。
快进了两年,突然之间Swift成为OSS,像IBM这样的公司正在努力使Swift功能进入我的世界。
好的,但是Java不能做什么呢?
好,这里有几件事情要考虑:
- Docker正在改变我们部署软件的方式。 在许多方面,Docker是新的应用程序服务器和新的虚拟机。
- 与Docker一起,我们带来了微服务的兴起,并且需要创建非常小的可部署代码单元。
- Swift是一种母语,它开箱即用,并且在内存和启动时间方面几乎没有开销。
- Swift也是一种完全现代和简洁的语言。
- 这些因素的结合有可能使Swift成为构建Dockerized微服务的绝佳平台,这可能比一种语言要好,因为该语言历来因其VM和相关库而导致大量成本。
正在安装
如果您使用的是OSX,最简单的运行方式就是从App Store获取最新版本的Xcode。 如果您正在运行Ubuntu (14.04或15.04),建议您使用出色的swiftenv实用程序来安装和管理Swift版本。
您也可以通过Homebrew为OSX安装swiftenv。 如果您想轻松地体验Swift 3.0开发版本,这将很有用。 我在本文中使用的系统正在运行Ubuntu 14.04,而我使用的是2016-05-09-a版本,该版本是Swift 3.0开发快照。
首先,我按以下方式安装了swiftenv :
git clone https://github.com/kylef/swiftenv.git ~/.swiftenv
echo 'export SWIFTENV_ROOT="$HOME/.swiftenv"' >> ~/.bashrc
echo 'export PATH="$SWIFTENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(swiftenv init -)"' >> ~/.bashrc
然后,我可以继续安装Swift开发包。
swiftenv install DEVELOPMENT-SNAPSHOT-2016-05-09-
而已! 现在已安装Swift。 您可以通过运行Swift REPL来测试安装
建立您的Swift的第一位。
我在Linux上遇到的第一个问题是完全缺乏针对Linux环境的像样的IDE。 在这个例子中,我最终使用了很好的旧Vim。
但是,我有点讽刺意味地在玩Visual Studio Code ,这似乎也做得不错。 在本例中,我将强制执行“ Hello world”
我仅创建一个文件“ HelloWorld.swift”,并将以下代码放入其中。
print("Hello world")
就是这样。 Swift基本上将运行所有被内联声明为Ruby,Python,Groovy等的代码。
您现在可以按以下方式运行它:
swift HelloWorld.swift
此时您会看到输出:
hello world
等一下,我不是说这是编译的吗? Swift的另一个真正巧妙的功能是您可以在解释模式和编译模式下运行代码。
要编译代码,您只需运行:
swiftc HelloWorld.swift
这会吐出可执行的“ HelloWorld”,您只需执行以下操作即可:
./HelloWorld
一些注意事项
swiftc第一次不在我的机器上工作。 事实证明,Swift依赖于Ubuntu 14.04上的3.6版Clang,我通过执行以下操作来解决此问题:
apt-get install clang-3.6
update-alternatives /usr/bin/clang clang /usr/bin/clang-3.6 100
update-alternatives /usr/bin/clang++ clang++ /usr/bin/clang++-3.6 100
翻译自: https://www.javacodegeeks.com/2016/05/swift-java-guy-part-1-getting-started.html