หลังจากที่ Swift เปลี่ยนมาเป็น Opensource แล้ว
ซึ่งทำให้สามารถนำไปใช้งานได้หลาย platform
เปิดโอกาสให้นักพัฒนาทั้งหลายศึกษา และ นำไปใช้งานได้ง่ายขึ้น
แต่ถ้าติดตั้งเอง มันก็ดูจะเหนื่อยนิดหน่อย
ดังนั้น จึงทำการติดตั้งบน Docker ดีกว่า
น่าจะสะดวก และ ลดปัญหาเรื่อง dependency ต่าง ๆ ไปได้เยอะ
เมื่อไปค้นหาใน Docker Hub ก็เจอ
SwiftDocker
จึงลองนำมาใช้งานนิดหน่อย
และทำการสรุปขั้นตอนการใช้งานไว้ดังนี้
1. เพื่อความง่ายต่อการใช้งานก็สร้าง Dockerfile ขึ้นมาดังนี้
[gist id="6aee94e7c275bc2867d9" file="Dockerfile"]
คำอธิบาย
ทำการ map path ชื่อว่า src
ใช้สำหรับเก็บ file ที่เขียนด้วยภาษา swift
2. สร้าง image ขึ้นมาจาก Dockerfile ของเรา
ตัวอย่างสร้าง image ชื่อว่า swift
[code]
$docker build -t swift ./
[/code]
ผลการทำงานเป็นดังนี้
[code]
Step 1 : FROM swiftdocker/swift:latest
---> 42c6e7564143
Step 2 : ADD src /src
---> Using cache
---> f15185a5cb7a
Successfully built f15185a5cb7a
[/code]
แต่ถ้าไม่มี image swiftdocker/swift:latest
ก็จะทำการ download จาก Docker Hub ให้เอง
ซึ่งใช้เวลานานพอสมควร !!
สามารถทำการตรวจสอบ image ว่าถูกสร้างขึ้นมาจริงหรือไม่ ด้วยคำสั่ง
[code]
$docker images swift
[/code]
3. สร้าง container ขึ้นมาจาก image ชื่อว่า swift และเข้าไปใช้งาน
ด้วยคำสั่ง
[code]
$docker run -it swift /bin/bash
[/code]
เมื่อเข้ามายัง container แล้ว
ทำการตรวจสอบ version ของ swift หน่อยสิ
[code]
$swift -version
[/code]
ผลการทำงานเป็นดังนี้
[code]
Swift version 3.0-dev (LLVM b361b0fc05, Clang 11493b0f62, Swift fc261045a5)
Target: x86_64-unknown-linux-gnu
[/code]
จากนั้นให้ทำการ run โปรแกรมที่เขียนด้วยภาษา swift ใน container
ด้วยคำสั่ง
[code]
$swift src/fibonacci.swift
[/code]
เพียงเท่านี้ เราก็สามารถติดตั้งและใช้งาน
รวมทั้งการพัฒนาโปรแกรมด้วยภาษา swift ได้แล้ว
สะดวกดีจริง ๆ ด้วยนะ
ตัวอย่างของ sourcecode ต่าง ๆ อยู่ที่
Github::Demo docker swift
ในปัจจุบัน community ของภาษา Swift เติบโตอย่างรวดเร็ว
รวมทั้งหลาย ๆ บริษัทก็เริ่มนำเอา Swift ไปทดลองใช้งานแล้ว
แม้แต่ในฝั่ง Server ก็นำไปใช้งานเช่นกัน
ดังนั้น ควรศึกษาเพิ่มเติมกันได้แล้ว
Reference Websites
https://hub.docker.com/r/swiftdocker/swift/
https://github.com/swiftdocker/docker-swift
https://developer.ibm.com/swift/2015/12/15/running-swift-within-docker/
https://developer.ibm.com/swift/2016/02/22/building-end-end-cloud-apps-using-swift-kitura/
https://github.com/IBM-Swift/Kitura