Hỏi - đáp Nơi cung cấp thông tin nghề nghiệp và giải đáp những thắc mắc thường gặp của bạn

27 Thư viện mã nguồn mở lập trình iOS (Phần 1)

Bài viết này liệt kê danh sách các thư viện mã nguồn mở iOS hữu dụng. Phần lớn các thư viện này đều hỗ trợ CocoaPods nên việc thêm chúng vào dự án XCode của bạn là điều rất dễ dàng đấy

1. DZNEmptyDataSet  

​Thư viện này có lẽ nên trở thành một tiêu chuẩn, và nên được tích hợp vào cách iOS hiển thị một table view hay một collection view rỗng. Bởi vì mặc định table view mà rỗng thì screen cũng sẽ rỗng, và như vậy bạn không thể mang lại cho người dùng trải nghiệm tốt nhất.

Với thư viện này bạn chỉ cần tuân theo một vài giao thức, iOS sẽ chăm sóc collection view của bạn và hiển thị một cách thích hợp, những thông điệp dễ nhìn hơn gửi đến người dùng. Bạn không còn phải suy nghĩ nhiều cho mọi dự án iOS nữa.

2. PDTSimpleCalendar

Bạn đang cần component calendar (giao diện lịch) đẹp cho ứng dụng của mình? PDTSimpleCalendar, là lựa chọn không tồi. Bạn có thể tùy chỉnh PDTSimpleCalendar bằng nhiều cách, bao gồm cả logic làm việc và giao diện bên ngoài.

3. MagicalRecord

Core Data phức tạp và rối rắm. Khi dùng CoreData trong dự án, code sinh ra quá nhiều và gây khó hiểu đối với lập trình viên. Đó là chưa đề cập đến việc thêm mới, gỡ bỏ và cập nhật rất nhiều thực thể entities, lưu lại ngữ cảnh, tạo ra các ngăn xếp Core Data khác nhau cho các môi trường khác nhau, v.v… Dĩ nhiên là tôi thích Core Data rất nhiều, nhưng Apple thực sự có thể làm đơn giản hóa nó một chút theo cách tốt hơn – đó là theo cách MagicalRecord

MagicalRecord là thư viện bao lấy Core Data và ẩn đi tất cả những đoạn mã dài dòng không liên quan tới các nhà phát triển. Nếu bạn đã từng làm việc với Active Record Pattern (ví dụ như trong Ruby on Rails), thì bạn sẽ nhanh chóng làm quen với Magical Record. Tôi rất khuyến khích bạn dùng thư viện thay thế cho Core Data thuần trong ứng dụng của mình.

4. Chameleon

Chameleon là một framework tạo màu sắc cho iOS. Nó mở rộng UIColor với các màu sắc đẹp và hiện đại hơn. Nó cũng cung cấp cho chúng ta khả năng để tạo ra pallete màu từ các màu được xác định bởi chúng ta. Ngoài ra nó còn có thể làm nhiều việc khác, bạn hãy khám phá thêm khi đọc phần hướng dẫn sử dụng nhé. Nếu bạn muốn tạo ra một ứng dụng đẹp đẽ thì chắc chắn bạn hãy bổ sung thư viện này vào dự án của mình.

5. Alamofire

Alamofire là một thư viện lập trình mạng http rất tuyệt vời viết bằng Swift. Bạn đã sử dụng thư viện AFNetworking chưa? Alamofire giống như là người em trai của nó vậy. Là người đi sau nên tất nhiên là nó có phong cách hơn (AFNetworking được viết bằng ngôn ngữ Objective-C). Tác giả cả hai thư viện này là Matt Thompson, chủ blog NSHipster

Nếu bạn cần gửi nhận dữ liệu dạng REST, JSON, upload, download file ? Thì Alamofire là dành cho bạn, và 8000 người dùng trên GitHub là một minh chứng cho điều đó.

6. TextFieldEffects

UITextField là text box chuẩn trong UIKit. Nó đơn điệu và nhàm chán. Hãy thử TextFieldEffects!

Thử nhìn những hiệu ứng mà TextFieldEffects có thể làm được nhé.

Vâng, đây là các controller drop-in đơn giản. Bạn thậm chí có thể sử dụng từ IBDesignables trong storyboard!

Thật không may là thư viện này không hỗ trợ CocoaPods nhưng nó hỗ trợ Carthage. Bạn cũng có thể chỉ đơn giản là tải thư viện này về từ GitHub và thêm nó vào workspace dự án của bạn.

7. GPUImage

Bạn đã bao giờ tạo ra một ứng dụng chụp và xử lý ảnh trên iOS chưa? Nếu chưa thì chắc chắn bạn sẽ làm một ứng dụng như vậy sau khi gặp thư viện này.

GPUImage cung cấp cho chúng ta một GPU-accelerated (tăng tốc sử dụng chip đồ họa) các hiệu ứng xử lý ảnh với tốc độ cực nhanh, miễn phí, mở mã nguồn. Có hàng trăm ứng dụng trên App Store đã sử dụng thư viện này – một trong số đó là đây:

8. iRate

Làm sao để tăng số lượng đánh giá tích cực của người dùng trong App Store ? Hầu hết các nhà phát triển tạo ra các custom alert để làm công việc đó, nhưng nếu bạn không có thời gian hoặc bạn không muốn làm tất cả mọi thứ từ đầu, thì cách tốt hơn là hãy sử dụng iRate. Và iRate là một thư viện nhỏ mà bạn có include vào trong dự án của mình và không cần quan tâm đến việc review người dùng nữa, vì iRate sẽ làm điều đó cho bạn vào thời điểm thích hợp.

Bài viết của tác giả Đặng Đình Cần đăng trên Techmaster