خدمة الصور منذ عام 2015
قم بتحميل الصور من مصادر مختلفة واعرضها في تطبيقك باستخدام واجهات برمجة التطبيقات البسيطة والمرنة. استفد من إمكانات معالجة الصور القوية ونظام التخزين المؤقت القوي.
إطار العمل بسيط ويتم تجميعه في أقل من ثانيتين¹. يحتوي على مجموعة اختبار آلية مضاعفة حجم قاعدة التعليمات البرمجية، مما يضمن موثوقية ممتازة. تم تحسين Nuke للأداء، كما تتيح بنيته المتقدمة إمكانيات غير محدودة تقريبًا للتخصيص.
الذاكرة والتخزين المؤقت على القرص · معالجة الصور وإلغاء الضغط · طلب الدمج والأولوية · الجلب المسبق · التنزيلات القابلة للاستئناف · Progressive JPEG · HEIF وWebP وSVG وGIF · SwiftUI · Async/Await
الهفوة : أصدقاء وليس أتباع .
يتم دعم Nuke أيضًا بواسطة:
الوكيل | السفر بمسافة للخلف |
يدعم Nuke Swift Package Manager، وهو الخيار الموصى به. إذا لم ينجح ذلك بالنسبة لك، فيمكنك استخدام الإطارات الثنائية المرفقة بالإصدارات.
تأتي الحزمة مع أربع وحدات يمكنك تثبيتها حسب احتياجاتك:
الوحدة النمطية | وصف |
---|---|
نووي | إطار العمل الأساسي الهزيل مع ImagePipeline و ImageRequest والمزيد |
NukeUI | مكونات واجهة المستخدم: LazyImage (SwiftUI) و ImageView (UIKit، AppKit) |
ملحقات نووك | ملحقات UIImageView (UIKit، AppKit) |
NukeVideo | مكونات فك التشفير وتشغيل مقاطع الفيديو القصيرة |
يعد برنامج Nuke سهل التعلم والاستخدام، وذلك بفضل وثائقه الشاملة وواجهة برمجة التطبيقات الحديثة.
يمكنك تحميل الصور باستخدام ImagePipeline
من وحدة Nuke الأساسية الخالية من الدهون:
func LoadImage() رميات غير متزامنة { Let imageTask = ImagePipeline.shared.imageTask(with: url) لانتظار التقدم في imageTask.progress { // تحديث التقدم } imageView.image = حاول الانتظار imageTask.image}
أو يمكنك استخدام مكونات واجهة المستخدم المضمنة من وحدة NukeUI :
بناء ContentView: عرض { var body: some View { LazyImage(url: URL(string: "https://example.com/image.jpeg")) }}
يعد دليل البدء هو أفضل مكان لبدء التعرف على هذه والعديد من واجهات برمجة التطبيقات الأخرى التي يوفرها إطار العمل. تحقق من Nuke Demo لمزيد من أمثلة الاستخدام.
من السهل تخصيص وتوسيع خط أنابيب الصور. تحقق من الملحقات والحزم التالية من الدرجة الأولى التي أنشأها المجتمع.
اسم | وصف |
---|---|
البرنامج المساعد ألاموفير | استبدل طبقة الشبكة بـ Alamofire |
NukeWebP | مجتمع . دعم WebP، تم إنشاؤه بواسطة مكسيم كوليسنيك |
البرنامج المساعد ويب | مجتمع . دعم WebP، تم إنشاؤه بواسطة Ryo Kosuge |
AVIF البرنامج المساعد | مجتمع . دعم AVIF، الذي صممه دينيس |
آر إكسنوكي | ملحقات RxSwift لـ Nuke مع الأمثلة |
هل تبحث عن طريقة لتسجيل طلبات الشبكة الخاصة بك، بما في ذلك طلبات الصور؟ تحقق من نبض .
الترقية من الإصدار السابق؟ استخدم دليل الهجرة .
نووي | تاريخ | سويفت | Xcode | المنصات |
---|---|---|---|---|
نوك 12.0 | 4 مارس 2023 | سويفت 5.7 | اكس كود 15.0 | آي أو إس 13.0، ووتش أو إس 6.0، ماك أو إس 10.15، تي في أو إس 13.0 |
نووك 11.0 | 20 يوليو 2022 | سويفت 5.6 | اكس كود 13.3 | آي أو إس 13.0، ووتش أو إس 6.0، ماك أو إس 10.15، تي في أو إس 13.0 |
نوك 10.0 | 1 يونيو 2021 | سويفت 5.3 | اكس كود 12.0 | iOS 11.0، واتش او اس 4.0، ماك 10.13، تي في او اس 11.0 |
بدءًا من الإصدار 12.3، يأتي Nuke أيضًا مزودًا بدعم VisionOS (في النسخة التجريبية)
Nuke متاح بموجب ترخيص MIT. راجع ملف الترخيص لمزيد من المعلومات.
¹ تم القياس على جهاز MacBook Pro مقاس 14 بوصة لعام 2021 (M1 Pro ذو 10 مراكز)