Mục tiêu bài viết này là
- Tạo 1 dynamic framework.
- Đặt version và code đúng cách.
- Đưa framework lên github để người khác có thể sử dụng.
Tạo Dynamic framework với Swift Package#
Swift 5.1
Xcode 11.3.1
Bước 1. XCode => Files => New => Chọn Swift Package
Bước 2. Mở file Package.swift
thêm vào type
là dynamic
1 | .library( |
Bước 3. Tạo file .xcodeproj
1 | # Di chuyển vào thư mục project |
Bước 4. Tạo Scheme
- New Scheme: GadevCore, GadevCoreTest với Target là
GadevCore
Lưu ý: Edit Scheme và kiểm tra xem mục Run của target đã tích chọn chưa.
Coding#
Các nguyên tắc nên tuân theo#
- Viết các tính năng mở rộng bằng cách sử dụng
extension
- Luôn viết Test Cases trước khi viết API, hãy thử tưởng tượng cách mà developers khác sử dụng API bạn viết.
- Viết API tuân thủ Hyrum’s Law
- Luôn viết Document cho API: Dùng tổ hợp phím
Option + Command + /
trên đầu function, đọc thêm
Một developer kinh nghiệm thì sẽ luôn đọc test cases để biết cách sử dụng framework.
Versioning đúng cách#
Version có dạng major.minor.patch
Vậy ta sẽ tăng số version như thế nào?
- patch: Khi fix bug, tính năng ko có gì thay đổi, thì release version mới sẽ tăng patch.
- minor: Khi add thêm chức năng thì tăng minor.
- major: Khi có breaking change, developer phải chỉnh sửa các tính năng có gọi đến framework để nó có thể chạy tốt với bản update mới thì phải tăng major.
major version 0 = beta version
Tham khảo: https://semver.org/spec/v2.0.0.html
Sample#
Ví dụ framework đã viết: cung cấp 1 API convert mã màu Hex, và 2 API get/post.
Để đọc hiểu source code yêu cầu có kiến thức về Generic và Mocking