27 Thư viện mã nguồn mở lập trình iOS

1715

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

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 Thứ tự của các dự án này là hoàn toàn ngẫu nhiên, và tất cả chúng đều rất tuyệt vời.

Phần lớn các thư viện này đều hỗ trợ CocoaPods, vì vậy việc thêm chúng vào dự án XCode của bạn là điều rất dễ dàng.

Ở dưới cùng (phần cuối) bài viết này bạn sẽ tìm thấy một danh sách với tiêu đề và đường dẫn tới các dự án đó. Nếu bạn thấy bài viết này hữu ích thì hãy chia sẻ nó tới các lập trình viên iOS đồng nghiệp, để giúp cho những điều tốt đẹp được lan tỏa nhiều hơn nhé!

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.

Học lập trình iOS bằng thư viện DZNEmptyDataSet

CocoaPods:

Tác giả thư viện lập trình iOS DZNEmptyDataSet

DZNEmptyDataSet
DZNEmptyDataSet – A drop-in UITableView/UICollectionView superclass category for showing empty datasets whenever the…github.

 

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.

Học lập trình iOS bằng thư viện PDTSimpleCalendar

CocoaPods:

Tác giả thư viện lập trình iOS PDTSimpleCalendarjivesoftware/PDTSimpleCalendar
PDTSimpleCalendar – A simple Calendar / Date Picker for iOS using UICollectionViewgithub.com

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.

Cách cài đặt từ CocoaPods:

Học lập trình iOS bằng thư viện MagicalRecord

magicalpanda/MagicalRecord
MagicalRecord – Super Awesome Easy Fetching for Core Data 1!!!11!!!!1!github.com

 

 

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.

Học lập trình iOS bằng thư viện Chameleon

Học lập trình iOS bằng thư viện Chameleon

CocoaPods:

Tác giả thư viện lập trình iOS ChameleonViccAlexander/Chameleon
Chameleon – Flat Color Framework for iOS (Obj-C & Swift)github.com

 

 

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

Học lập trình iOS bằng thư viện Alamofire

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 đó.

CocoaPods:

Tác giả thư viện lập trình iOS AlamofireAlamofire/Alamofire
Alamofire – Elegant HTTP Networking in Swiftgithub.com

 

 

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é.

Học lập trình iOS bằng thư viện TextFieldEffects

Học lập trình iOS bằng thư viện TextFieldEffects

Học lập trình iOS bằng thư viện TextFieldEffects

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 (nếu khi đọc bài viết này mà mọi thứ đã thay đổi thì nhờ bạn báo cho tôi biết qua Twitter nhé), 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.

Carthage:

Tác giả thư viện lập trình TextFieldEffectsraulriera/TextFieldEffects
TextFieldEffects – Custom UITextFields effects inspired by Codrops, built using Swiftgithub.com

 

 

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.

Học lập trình iOS bằng thư viện GPUImage

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à ứng dụng của tôi:

Học lập trình iOS bằng thư viện GPUImage

8869 sao trên GitHub và vẫn tiếp tục tăng.

CocoaPods:

Tác giả thư viện lập trình GPUImageBradLarson/GPUImage
GPUImage – An open source iOS framework for GPU-based image and video processinggithub.com

 

 

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.

CocoaPods:

Học lập trình iOS bằng thư viện iRatenicklockwood/iRate
iRate – A handy class that prompts users of your iPhone or Mac App Store app to rate your application after using it…github.com

 

 

Các thư viện tiếp theo sẽ có trong phần 2

Techtalk Via Techmaster

CHIA SẺ