ให้บริการรูปภาพตั้งแต่ปี 2558
โหลดรูปภาพจากแหล่งต่างๆ และแสดงในแอปของคุณโดยใช้ API ที่เรียบง่ายและยืดหยุ่น ใช้ประโยชน์จากความสามารถในการประมวลผลภาพอันทรงพลังและระบบแคชที่แข็งแกร่ง
เฟรมเวิร์กมีขนาดเล็กและคอมไพล์ภายในเวลาไม่ถึง 2 วินาที¹ มีชุดทดสอบอัตโนมัติที่ใหญ่กว่าขนาดฐานโค้ดถึง 2 เท่า จึงมั่นใจได้ถึงความน่าเชื่อถือที่ยอดเยี่ยม Nuke ได้รับการปรับให้เหมาะสมเพื่อประสิทธิภาพ และสถาปัตยกรรมขั้นสูงทำให้สามารถปรับแต่งได้ไม่จำกัด
หน่วยความจำและดิสก์แคช · การประมวลผลภาพและการบีบอัด · การร้องขอการรวมและลำดับความสำคัญ · การดึงข้อมูล ล่วงหน้า · ดาวน์โหลดต่อ · Progressive JPEG · HEIF, WebP, SVG, GIF · SwiftUI · Async/Await
Lapse : เพื่อน ไม่ใช่ผู้ติดตาม .
Nuke ยังสนับสนุนโดย:
คนมอบฉันทะ | การเดินทางแบ็คสเปซ |
Nuke รองรับ Swift Package Manager ซึ่งเป็นตัวเลือกที่แนะนำ หากไม่ได้ผลสำหรับคุณ คุณสามารถใช้เฟรมเวิร์กไบนารีที่แนบมากับรีลีสได้
แพ็คเกจนี้มาพร้อมกับโมดูลสี่โมดูลที่คุณสามารถติดตั้งได้ตามความต้องการของคุณ:
โมดูล | คำอธิบาย |
---|---|
นิวเคลียร์ | เฟรมเวิร์กหลักแบบลีนพร้อม ImagePipeline , ImageRequest และอื่นๆ |
นูเคยูไอ | ส่วนประกอบ UI: LazyImage (SwiftUI) และ ImageView (UIKit, AppKit) |
NukeExtensions | ส่วนขยายสำหรับ UIImageView (UIKit, AppKit) |
นิวเคลียร์วิดีโอ | ส่วนประกอบสำหรับการถอดรหัสและการเล่นวิดีโอสั้น |
Nuke นั้นง่ายต่อการเรียนรู้และใช้งาน เนื่องจากมีเอกสารประกอบมากมายและ API ที่ทันสมัย
คุณสามารถโหลดรูปภาพโดยใช้ ImagePipeline
จากโมดูล Nuke แบบลีน:
func loadImage() async พ่น { ให้ imageTask = ImagePipeline.shared.imageTask (ด้วย: url) เพื่อรอความคืบหน้าใน imageTask.progress { // Updateความคืบหน้า } imageView.image = ลองรอ imageTask.image}
หรือคุณสามารถใช้ส่วนประกอบ UI ในตัวจากโมดูล NukeUI :
struct ContentView: ดู { var body: บางมุมมอง { LazyImage (url: URL (สตริง: "https://example.com/image.jpeg")) }}
คู่มือ การเริ่มต้นใช้งาน เป็นสถานที่ที่ดีที่สุดในการเริ่มต้นเรียนรู้เกี่ยวกับ API เหล่านี้และ API อื่นๆ มากมายที่เฟรมเวิร์กมอบให้ ลองชม Nuke Demo เพื่อดูตัวอย่างการใช้งานเพิ่มเติม
ไปป์ไลน์รูปภาพนั้นง่ายต่อการปรับแต่งและขยาย ตรวจสอบส่วนขยายและแพ็คเกจชั้นหนึ่งต่อไปนี้ที่สร้างโดยชุมชน
ชื่อ | คำอธิบาย |
---|---|
ปลั๊กอิน Alamofire | แทนที่เลเยอร์เครือข่ายด้วย Alamofire |
นูเคเว็บพี | ชุมชน . รองรับ WebP สร้างโดย Maxim Kolesnik |
ปลั๊กอิน WebP | ชุมชน . รองรับ WebP สร้างโดย Ryo Kosuge |
ปลั๊กอิน AVIF | ชุมชน . รองรับ AVIF สร้างโดยเดนิส |
RxNuke | ส่วนขยาย RxSwift สำหรับ Nuke พร้อมตัวอย่าง |
กำลังมองหาวิธีบันทึกคำขอเครือข่ายของคุณ รวมถึงคำขอรูปภาพอยู่ใช่ไหม ตรวจสอบ ชีพจร
อัพเกรดจากเวอร์ชั่นก่อนหน้า? ใช้ คู่มือการย้ายข้อมูล
นิวเคลียร์ | วันที่ | สวิฟท์ | เอ็กซ์โค้ด | แพลตฟอร์ม |
---|---|---|---|---|
นิวเคลียร์ 12.0 | 4 มี.ค. 2023 | สวิฟท์ 5.7 | เอ็กซ์โค้ด 15.0 | iOS 13.0, watchOS 6.0, macOS 10.15, tvOS 13.0 |
นิวเคลียร์ 11.0 | 20 ก.ค. 2022 | สวิฟท์ 5.6 | เอ็กซ์โค้ด 13.3 | iOS 13.0, watchOS 6.0, macOS 10.15, tvOS 13.0 |
นิวเคลียร์ 10.0 | 1 มิถุนายน 2021 | สวิฟท์ 5.3 | เอ็กซ์โค้ด 12.0 | iOS 11.0, watchOS 4.0, macOS 10.13, tvOS 11.0 |
ตั้งแต่เวอร์ชัน 12.3 เป็นต้นไป Nuke ยังมาพร้อมกับการรองรับ VisionOS (ในรุ่นเบต้า)
Nuke มีให้บริการภายใต้ใบอนุญาต MIT ดูไฟล์ใบอนุญาตสำหรับข้อมูลเพิ่มเติม
¹ วัดบน MacBook Pro 14 นิ้ว ปี 2021 (M1 Pro แบบ 10 คอร์)