6 libs “vi diệu” dành cho các lập trình viên iOS (phần 3)

88
  1. Pulsator

Pulsator là diễn hoạt nhịp đập dành cho các app iOS, được viết bằng Swift.

pulse

Pulsator phù hợp với Bluetooth, BTLE, beacons (iBeacon), chú thích bản đồ… Các dev có thể tùy chỉnh số lượng nhịp đập, vòng bán kính và màu sắc và thời gian diễn hoạt, độ giản hóa và độ lặp.

Chi tiết tại: https://github.com/shu223/Pulsator

Phiên bản Obj-C: https://github.com/shu223/PulsingHalo

2. CZPicker

CZPicker là một khung hình picker được hiển thị như popup, được viết bằng Objective-C dành cho các app iOS.

CZPicker

Ba sự thay đổi gần đây của CZPicker là phát triển handler định hướng để tránh các diễn hoạt popup không cần thiết, loại bỏ các bundle resources thiết lập trong file podspec, thêm pickerWidth để điều chỉnh độ rộng của picker.

Ngoài ra CZPicker còn hỗ trợ chuyển đổi sang ngôn ngữ Swift.

Chi tiết tại: https://github.com/chenzeyu/CZPicker

3. Appz

Appz hỗ trợ deep-linking đến các app khác dễ dàng hơn.

Appz

Các điểm nhấn chính là:

  • Hỗ trợ web fallback: khi app không thể mở ứng dụng ngoài, Appz sẽ trở lại đường URL của web, đảm bảo người dùng vào link được khi mở brower
  • Những thông số kỹ thuật tách biệt của app: Appz có thể tóm gọn lại khi số lượng các apps được hỗ trợ tăng. Vì vậy, mỗi app được hỗ trợ sẽ thực hiện tách biệt trong 1 file riêng.
  • Hỗ trợ Autocomplete toàn bộ: API được thiết kế cẩn thận để tận dụng tối ưu các tính năng tự động toàn bộ, nên bạn thậm chí không cần xem bất kì docs hay code nào cả.
  • Testing toàn bộ: để các thông số kỹ thuật trong suốt, Appz có các test đảm bảo mỗi hành động của app bên ngoài sẽ kiểm tra các kết quả được mong đợi.

Chi tiết tại: https://github.com/SwiftKitz/Appz

4. PINRemoteImageManager

PINRemoteImageManager là công cụ quản lý tải ảnh, có show tiến độ và caching image.

progressive

PINRemoteImageManager hỗ trợ tải ảnh với multithreading (với safe thread), đảm bảo rằng nếu có nhiều tác vụ tải thì chúng sẽ chạy lần lượt và kiểm tra trong cache đã có ảnh hay chưa. PINRemoteImageManager sử dụng GCD. Hình ảnh sẽ được decode trong background thread, vì thế hiệu năng animation sẽ không bị ảnh hưởng. PINRemoteImage hỗ trợ tải nhiều loại files, cả PNGs và JPGs. Ngoài ra, còn hỗ trợ decode hình ảnh WebP nếu thư viện Google có sẵn. PINRemoteImage cũng có 2 phương pháp để tăng trải nghiệm tải ảnh trong điều kiện kết nối mạng chậm. Đầu tiên là hỗ trợ các JPG cấp tiến.

PINRemoteImage thêm chức năng làm mờ thú vị để làm placeholder rồi thay thế lại khi ảnh đã sẵn sàng.

Chi tiết tại: https://github.com/pinterest/PINRemoteImage

5. BarcodeScanner

BarcodeScanner là 1 wrapper đơn giản và đẹp mắt ở camera với chức năng chụp barcode, đem đến trải nghiệm tuyệt hảo cho người dùng.

barcode

barcode1 barcode2 barcode3 Các tính năng chính:

  • Quét barcode
  • Các trạng thái: đang quét, đang xử lý, không được phép, không tìm thấy
  • Xử lý trạng thái ủy quyền camera
  • Diễn hoạt focus view và chỉ dẫn tải tùy chỉnh
  • Chuyển đổi torch mode
  • Các tin nhắn lỗi, tin nhắn cung cấp thông tin và màu sắc có thể tùy chỉnh
  • Không có các dependencies bên ngoài
  • Dự án demo

Chi tiết tại: https://github.com/hyperoslo/BarcodeScanner

6. UPCarouselFlowLayout

UPCarouselFlowLayout là 1 flow layout băng chuyền bắt mắt dành cho UICollectionView. Nó có hiệu ứng phân trang, co lại, phóng to ra và làm các đối tượng phụ trong suốt.

demo

Yêu cầu của libs là iOS 8+. Các dev có thể cài qua cocoapods hoặc thủ công bằng cách sao chép thư mục UPCarouselFlowLayout vào project và import trong Xcode.

Chi tiết: https://github.com/ink-spot/UPCarouselFlowLayout

Nguồn: IDE Academy tổng hợp