Lập trình server với Swift đã và đang là một chủ đề thú vị kể từ khi Apple mã nguồn mở ngôn ngữ này. Cho đến trước khi bài viết này được ra đời thì tôi chưa từng có chút kinh nghiệm lập trinh back end nào, nhưng nhờ sức mạnh của cộng đồng mã nguồn mở. Tôi đã chọn được một framework ưng ý cho mình, đó là Vapor của Tanner Nelson, một thư viện dễ cài đặt và Heroku.
Đầu tiên bạn cần một tài khoản Heroku và một bản cài đặt của Swift Development Snapshot. Tại thời điểm tôi đang viết thì module Swift Package Manager chưa được kèm theo, do vậy bạn cần phải download Swift Development Snapshot để tối ưu mọi thứ.
Nhiệm vụ của chúng ta ngày hôm nay là tạo một server bằng Swift và chạy trên Heroku. Server của chúng ta sẽ chạy local, điều đó có nghĩa chúng ta sẽ tạo một Xcode project và cấu hình nó chạy với swift package manager. Quá trình diễn ra trong 4 bước như sau:
Đế hiển thị code completion và hightlight syntax cho những thư viện mà ta vừa import, đường dẫn của Swift Package Manager cần phải thêm import paths. Hãy chắc hắn rằng bạn đã import folder Debug cho phần cấu hình Debug và folder Release cho phần Release.
Nếu bạn đang ở Xcode 7.3, bạn có thể vào mục Xcode -> Toolchains để mở một instance của Xcode để tối ưu một Swift Snapshot. Lưu ý là chúng ta vẫn chưa thể build trong Xcode. Để biên dịch bạn cần phải sử dụng lệnh swift build từ command line.
Việc khởi tạo server thì rất là đơn giản chỉ với một vài dòng Code như sau:
Từ đây chỉ với một dòng lệnh tại Command Line để chạy server
Mọi thứ dường như đã ổn, chúng ta tiếp tục kiểm tra tại web browser, ở đây tôi sử dụng json formatter plugin để xem phản hồi trả về:
Buildpack đã tạo ra một file thực thi, nhưng Heroku đã ko nhận ra nó, do vậy chúng ta cần tới Procfile, với Procfile, Heroku có thể chạy đoạn mã thực thi SwiftServerIO như ở dưới đây:
Bước cuối cùng đó là thiết lập dyno cho web app của mình. Gõ dòng lệnh sau vào command line:
"heroku ps:scale web=1"
Sau khi thực hiện đầy đủ các bước trên, mở browser và chúng ta lại có thể thấy server hoạt động bình thường :
Bài viết trên giúp chúng ta có một cái nhìn tổng quan và cơ bản nhất về lập trình back end hay server-side bằng Swift. Hy vọng rằng với việc mã nguồn mở Swift và sự lớn mạnh của cộng đồng mã nguồn mở, bạn sẽ tìm được giải pháp back end tối ưu của mình bên cạnh những nền tảng phổ biến khác.
Nguồn bài viết : https://medium.com/@LogMaestro/server-side-swift-c965b7ebe6e7#.2yo074hf2
Nguồn: Techmaster
Location: Hà Nội
Salary: 8 Mil - 15 Mil VND