swift java
自从我不得不研究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
swift java