Mở đầu
Có một câu tục ngữ: "Bạn không cần phải phát minh lại bánh xe". Thư viện hay framework là ví dụ tốt nhất về điều đó. Nó giúp bạn viết chức năng phức tạp và tốn thời gian một cách dễ dàng. Theo mình, một dự án tốt sử dụng một số thư viện tốt nhất hiện có. Mình nghĩ rằng khi sử dụng một thư viện, trước tiên hãy xem nó có bao nhiêu ngôi sao trên GitHub. Ở đây tôi đã biên soạn một danh sách thư viện iOS được gắn sao nhiều nhất sẽ giúp bạn trong hành trình iOS Develop của bạn.
Danh sách
1.Swifter Swift
Swifterswift là một tập hợp hơn 500 extensions mã Swift, với các phương pháp tiện dụng hiệu quả dễ nhớ và cải thiện hiệu suất cho nhiều loại dữ liệu nguyên thủy, các class tích hợp cho tất cả các nền tảng iOS, , macOS, tvOS, watchOS và Linux.
Link github: https://github.com/SwifterSwift/SwifterSwift
2.Lottie
Lottie là một thư viện di động cho Android và iOS phân tích các hình ảnh động sau khi các hiệu ứng được xuất ra dưới dạng JSON với BodyMovin và render chúng một cách tương thích lên các thiết bị di động!
Tôi tin rằng tất cả mọi người thích đều thích các hiệu ứng đẹp mắt. Lottie là một trong những cách dễ nhất để thêm hiệu ứng, hoạt ảnh động vào ứng dụng di động của bạn. Lottie là một thư viện di động cho Android và iOS có hiệu năng, tính tương thích tốt để hiển thị hiệu ứng, hình ảnh động và nghệ thuật trong thời gian thực. Như tên cho thấy, thư viện này cung cấp thành phần Lottie cho iOS.
Link github: https://github.com/airbnb/lottie-ios
3.Charts
Nếu bạn muốn hiển thị một biểu đồ trong ứng dụng iOS/tvOS/OSX của bạn thì đây là thư viện cần phải biết cho bạn. Đây là thư viện hiển thị chế độ xem biểu đồ mạnh mẽ, hỗ trợ các biểu đồ cột, hàng, tròn và Candlestick cũng như tỷ lệ, Panning và Animations, ...
Link github: https://github.com/danielgindi/Charts
4. Hero
Thư viện này là để tạo chuyển đổi giữa các bộ điều khiển xem iOS. Nó bổ sung một lớp khai báo vào API chuyển tiếp màn hình rườm rà của UIKIT, làm cho các nhà phát triển đơn giản tạo ra các animation transition tùy chỉnh. Bạn cũng có thể xây dựng hình ảnh động, hiệu ứng cho các chế độ xem chưa từng có.
Link github: https://github.com/HeroTransitions/Hero
5.SkeletonView
Chắc hẳn khi sử dụng Facebook, Instagram đôi khi bạn sẽ nhìn thấy UI được hiển thị dưới dạng màu xám với animation khi data chưa được load xong từ back end. Hôm trước mình vô tình nhìn thấy thư viện giúp chúng ta có thể làm được như vậy một cách nhanh chóng trên ios. Thư viện đó có tên là SkeletonView.
Link github: https://github.com/Juanpe/SkeletonView
6.IQKeyboardManager
Thông thường khi phát triển một ứng dụng iOS có sử dụng đến các form nhập liệu, login... , bạn thường gặp phải một vấn đề khi thao tác với UITextField / UITextView thì bàn phím iPhone hiển thị lên và che hết các from UITextField / UITextView hoặc các UI cần hiển thị. Có nhiều cách để xử lý trường hợp này ta dùng thư viện IQKeyboardManager cho phép bạn giải quyết các vấn đề trên một cách dễ dàng không cần thêm UIScrollView hay xử lý gì autolayout !
Link github: https://github.com/hackiftekhar/IQKeyboardManager
7.FLEX
Gỡ lỗi/Debugging là một trong những nhiệm vụ phổ biến nhất và quan trọng nhất mà các nhà phát triển phải thực hiện. Thư viện này cung cấp một tập hợp các công cụ gỡ lỗi và thăm dò trong ứng dụng để phát triển iOS. Khi được trình bày, nó sẽ hiển thị một thanh công cụ sống trong một cửa sổ phía trên ứng dụng của bạn. Từ thanh công cụ này, bạn có thể xem và sửa đổi gần như mọi trạng thái trong ứng dụng đang chạy của mình.
Link github: https://github.com/FLEXTool/FLEX
8.FSCalendar
FSCalendar là một thư viện lịch dành cho iOS có thể tuỳ chỉnh, làm việc tương thích với cả Objective-C và Swift.
Link github: https://github.com/WenchaoD/FSCalendar
9.ObjectMapper
Ngày nay JSON (JavaScript Object Notation), với các ưu điểm như dễ sử dụng, dễ đọc đã trở nên cực kỳ phổ biến trong việc giao tiếp dữ liệu giữa các web service. Để lấy mỗi đối tượng trong JSON, chúng ta phải kiểm tra xem có bằng nil hay không trước sau đó chuyển về kiểu tương ứng, việc này với các đối tượng phức tạp sẽ phải mất rất nhiều đoạn code kiểm tra và chuyển đổi. Điều này dẫn tới lặp rất nhiều đoạn code và dễ dẫn tới sai lầm, khó tìm ra lỗi. ObjectMapper là một framework được viết trên Swift nhằm giúp việc chuyển đổi giữa class model và JSON được dễ dàng.
Chính chủ của apple có Giao thức Codable nhưng cá nhân mình thấy ObjectMapper dễ sử dụng và tiện lợi hơn ^^
Link github: https://github.com/tristanhimmelman/ObjectMapper
10.SwiftLint
Khi chúng ta làm việc trên một dự án lớn hoặc nhiều nhà phát triển làm việc trên một dự án cùng lúc thì một số kiểu style coding, chuẩn hoá là điều bắt buộc. Trong các kịch bản này, thư viện này sẽ hữu ích. Đây là một thư viện để thực thi style và quy ước Swift, dựa trên hướng dẫn GitHub Swift được lưu trữ hiện nay. Swiftlint đảm bảo rằng các quy tắc hướng dẫn style coding của cộng đồng Swift sẽ được tuân thủ.
Link github: https://github.com/realm/SwiftLint
Kết
Đây là 10 thư viện có số sao lớn trên git hub dành cho các nhà phát triển iOS được tin dùng trên thế giới. Ngoài ra còn rất nhiều thư viện hay và số sao lớn mình chưa kể đến. Mong rằng bài chia sẻ giúp ích cho mọi người ❤️