عقلية محرك المتصفح، منقولة إلى SVG في Flutter.

أنشأ دينيس full_svg_flutter ويواصل صيانته، وهو runtime عرض مستقل للفرق التي تحتاج إلى أن تبقى أصول SVG الموجودة لديها بصيغة SVG داخل Flutter.

1.4.2الإصدار الحالي
140pub points
12إصداراً عاماً
MITرخصة مفتوحة المصدر

الأصل يعمل في المتصفح. وفي Flutter تختفي الحركة.

تسدّ pipelines كثيرة هذه الفجوة بتحويل الأصل إلى Lottie أو Rive أو GIF أو WebP أو كود حركة مخصص في Flutter. قد تكون هذه أدوات جيدة، لكن التحويل تكلفة في غير محلها عندما يكون SVG هو مصدر الحقيقة أصلاً.

محرك واحد يحافظ على DOM لملفات SVG الثابتة والمتحركة

تحلّل الحزمة نموذج المستند و CSS والتوقيت والفلاتر والنصوص وحالة التفاعل، ثم ترسم داخل Flutter. تعمل تصديرات SVGator المعتمدة على JavaScript عبر محرك QuickJS مدمج، أما ملفات SVG الخالية من scripts فلا تدفع أي تكلفة لبدء تشغيل JavaScript.

ما يغطيه الـ runtime

  • الأشكال الهندسية الثابتة والتدرجات اللونية والأنماط والقص والأقنعة
  • حركة SMIL و CSS @keyframes
  • path morphing و motion paths والتحكم في التشغيل
  • جميع filter primitives في SVG، وعددها 17
  • النصوص الغنية و textPath و bidi/RTL وبيانات إمكانية الوصول الوصفية
  • JavaScript مضمّن وتصديرات SVGator
  • ترحيل API ثابتة متوافقة مع flutter_svg
  • Android و iOS و macOS و Windows و Linux
Animated Flutter logo built from one SVG file

ملف SVG واحد. حركة أصلية في المتصفح هنا، ورسم أصلي في Flutter داخل الحزمة.

تعرض هذه الصفحة أصل SVG المتحرك الخاص بالمشروع في المتصفح. أما في تطبيق Flutter، فيرسم full_svg_flutter الصيغة المصدرية نفسها داخل Flutter من دون WebView أو خطوة تحويل.

مسار ترحيل عملي

يمكن في الغالب نقل استخدام SvgPicture الثابت الحالي بمجرد تغيير سطر import. يكتشف FSvgPicture علامات الحركة تلقائياً، بينما يضيف AnimatedSvgController الإيقاف المؤقت و seek والسرعة والاتجاه والتحكم في SVG views عندما يحتاج المنتج إلى ذلك.

وثائق حزم runtime وُلدت من حالات حدّية حقيقية.

v1.4.2

full_svg_flutter

أبقِ SVG صيغةَ المصدر داخل Flutter.

v0.1.0

woff2

حمّل حاويات خطوط الويب عبر FontLoader في Flutter.

v0.1.3

quickjs_engine

شغّل محرك JavaScript الحديث نفسه على كل منصات Flutter.

المشكلة: دعم SVG في Flutter ثابت في الغالب

شرح عملي لفجوة العرض، والحلول البديلة الشائعة، والتحكم في التشغيل، ومفاضلات الأداء، ومتى يكون إبقاء SVG بصيغة SVG هو الخيار الصحيح.

اقرأ الشرح التقني (يُفتح في علامة تبويب جديدة)

هل تحتاج إلى بناء منتج رقمي أو تحديثه أو إزالة ما يعطّله؟

حدّثنا عن القيد الحقيقي: منتج ويب، أو Mobile، أو تسليم الفريق، أو مسار عمل بالذكاء الاصطناعي يجب أن يصبح جاهزاً للإنتاج.

ناقش مشروعاً