Nehmen wir an, wir zeichnen dieselbe Vektorgrafik in verschiedenen Designanwendungen und exportieren jede als SVG für die Verwendung im Web. Sollten wir von jeder Anwendung die gleiche SVG-Datei erwarten?
Einerseits könnten wir erwarten, dass jede Datei gleich ist, aufgrund unserer bisherigen Erfahrungen beim Exportieren von Bildern. Anwendungen waren typischerweise konsistent beim Speichern von JPGs, PNGs und GIFs, vielleicht mit geringfügigen Unterschieden in der Gesamtdateigröße.
Andererseits ist SVG anders als unsere üblichen Bilddateien und unsere Erwartungen müssen sich an diese Unterschiede anpassen. Die Ausgabe von SVG mag visuell sein, aber worüber wir wirklich sprechen, sind Mathematik und Code. Das bedeutet, eine SVG-Datei ist ein wenig vergleichbarer mit einer CSS-Datei, die aus einem Präprozessor kompiliert wurde. Ihre Ergebnisse können je nach der verwendeten Kompilierungsmethode variieren.
Ich habe beschlossen, dieselbe Illustration in Illustrator, Sketch und Figma zu zeichnen und den exportierten SVG-Code zu vergleichen. Dieser Beitrag wird diese Ergebnisse zusammenfassen.
Über die Illustration
Es ist nichts Besonderes. Ein einfaches Pluszeichen mit weißer Füllung auf einem Kreis mit schwarzer Füllung. Die Idee war, etwas zu verwenden, das einem Icon ähnlich ist, das auf jeder Website üblich wäre.

Die Illustration wurde dreimal gezeichnet, einmal in jeder Anwendung. Das Erstellen des Icons in einer Anwendung und das anschließende Kopieren und Einfügen in eine andere schien kein fairer Vergleich zu sein. Dies erlaubte jeder Anwendung, das SVG mit ihren eigenen nativen Werkzeugen zu interpretieren. Ich bin nicht der versierteste Illustrator, also habe ich die Illustration einmal erstellt und sie dann in den anderen Anwendungen nachgezeichnet, um sicherzustellen, dass alles skaliert und alle Punkte nahezu identisch waren.
Über den Vergleich
Es ist erwähnenswert, dass dieser Beitrag sich überhaupt nicht mit dem „besten“ Export der Gruppe befasst. Interessanter ist (1) ob es Unterschiede gibt, wie SVG-Code kompiliert wird, und (2) wie sich diese möglichen Unterschiede auf einen Front-End-Workflow auswirken oder sogar, welche Anwendung besser für ein bestimmtes Projekt geeignet ist.
Hier wird verglichen
- Dateigröße
- Code-Struktur
- Namenskonventionen
Eine weitere erwähnenswerte Sache ist, dass wir in diesem Vergleich von Standard-Exportoptionen ausgehen. Illustrator hat eine robuste Reihe von Optionen, die komplett ändern können, wie eine SVG-Datei gespeichert wird, während andere das nicht tun. Ich habe mich entschieden, die Standard-Export-Einstellungen von Illustrator zu verwenden, mit der geringfügigen Ausnahme, den Code beim Export nicht zu minifizieren.
Alles klar? Schauen wir uns die Ergebnisse an.
Code-Vergleich nebeneinander
Dies wurde 2017 geschrieben. Apps wie diese entwickeln sich weiter. Figma zum Beispiel hat verbesserte SVG-Exporte bloggt. SVG hat direkt gesegnete Optimierungs-Plugins. Und Sie sollten Ihre SVG sowieso optimieren! 💪
Tabellarischer Vergleich
| Vergleich | Illustrator | Sketch | Figma |
|---|---|---|---|
| Export-Einstellungen | Ja | Nein | Nein |
| Dateigröße | 498 Bytes | 946 Bytes | 1 KB |
| XML-Header | Nein | Ja | Nein |
Enthält Attribute und | Nein | Ja | Ja |
Enthält Attribut viewBox | Ja | Ja | Ja |
| SVG-ID | Ja | Nein | Nein |
| SVG-ID-Name | Generiert | NA | NA |
| SVG-Daten-Namensattribut | Ebenenname | NA | NA |
Titel-Tag (<title>) | Dateiname | Artboard-Name | Ebenenname |
Beschreibungs-Tag (<description>) | NA | Erstellt mit Sketch | Erstellt mit Figma |
Enthält Definitionen (<defs>) | Nein | Ja | Ja |
Enthält Gruppen (<g>) | Ja | Ja | Ja |
| Gruppen-ID-Name | NA | Organisiert nach Seitenname, Artboard, Gruppe, dann Ebene | Organisiert nach Rahmen, Gruppe, dann Ebene |
Enthält Verwendung (<use>) | Nein | Nein | Ja |
Zusammenfassung des Vergleichs
Das sind ziemlich interessante Ergebnisse. Wie ich bereits erwähnte, ist das Ziel hier nicht, einen Gewinner zu erklären, wer die Dinge am besten macht™, sondern zu beurteilen, ob es Unterschiede gibt – und es gibt definitiv Unterschiede!
Dateigröße
Ein großer Vorteil von SVG im Allgemeinen ist seine geringe Dateigröße im Vergleich zu Rasterbildern. Dieser Vorteil zeigt sich in allen drei Fällen. Zum Beispiel war dasselbe Icon, das in Sketch als PNG exportiert wurde, 12 KB groß. Die SVG-Ausgabe von Sketch spart 97 % gegenüber seinem PNG-Gegenstück.
Ich bin mir nicht sicher, ob die Unterschiede in der Dateigröße zwischen den drei Ergebnissen hier wirklich entscheidend sind, trotz der Tatsache, dass die Ausgabe von Illustrator eine Dateigröße ergibt, die ~30 % kleiner ist als die Ausgabe von Figma. Ich sage das nur, weil es wahrscheinlich ist, dass die SVG-Datei, die in der Produktion verwendet wird, minifiziert und zwischengespeichert wird, was alles sehr vernachlässigbar macht.
Dennoch könnte die Tatsache, dass es überhaupt einen Unterschied in der Dateigröße gibt, beeinflussen, welche Build-Tools Sie für Ihren SVG-Workflow verwenden und wie die Einstellungen für dieses Build-Tool konfiguriert sind.
Code-Struktur
Der Unterschied in der Dateigröße liegt wirklich darin, wie jede Anwendung den kompilierten Code strukturiert. Beispielsweise ist Figma sehr auf Gruppierung und Definition von Formen und Pfaden fixiert, um sie in verschiedenen Kontexten wiederverwendbarer zu machen, während Illustrator sie komplett vermeidet und die Datei tendenziell leichter direkt einfügbar macht.
Auch hier ist das Ziel nicht, zu bestimmen, ob ein Ansatz besser ist als der andere, sondern anzuerkennen, dass unterschiedliche Philosophien in die generierte Datei einfließen und dies helfen sollte, das richtige Werkzeug für die aktuelle Aufgabe zu bestimmen. Möglicherweise erhalten Sie in einer Situation eine kleinere Dateigröße, aber vielleicht mehr Flexibilität in einer anderen, je nach Ihren Bedürfnissen und Prioritäten.
Namenskonventionen
Ein weiterer Beleg dafür ist, wie Illustrator standardmäßig eindeutige generierte IDs für das <svg>-Element verwendet. Das macht das direkte Einfügen der Datei weniger anfällig für Konflikte mit anderen Inline-Dateien, bei denen ein Designer möglicherweise dieselben Datei-, Artboard- oder Ebenennamen über mehrere Dateien hinweg verwendet hat. Im Gegensatz dazu verwenden weder Sketch noch Figma eine ID direkt auf dem SVG-Element.
Es gibt Build-Tools, die beim Erstellen von ID- und Klassennamen helfen, aber wenn Sie damit beauftragt sind, eine SVG-Datei manuell zu bearbeiten oder eine Datei aus irgendeinem Grund so verwenden müssen, wie sie Ihnen zur Verfügung gestellt wird, dann kann die Kenntnis, wie eine Anwendung benennt, beeinflussen, wie Sie an Ihre Arbeit herangehen.
Zusammenfassend
Die wichtigste Erkenntnis für mich aus diesem Vergleich ist die Erinnerung, dass SVG letztendlich Code ist. Die Anwendungen, die wir zum Illustrieren von Vektorgrafiken verwenden, sind lediglich eine GUI zum Erstellen von Code, und die Art und Weise, wie dieser Code geschrieben wird, wird wahrscheinlich unterschiedlich sein, je nachdem, wer ihn schreibt.
Es ist wirklich nicht anders als bei etwas wie dem CodePen Rodeo (wann ist das nächste?), bei dem ein einzelnes Design bereitgestellt wird und viele Leute es auf ihre eigene Weise codieren. Es gibt keine „richtige“ Art, es zu codieren, aber es macht Spaß zu sehen, wie verschiedene Leute unterschiedliche Wege einschlagen, um dasselbe Ergebnis zu erzielen.
Die Quintessenz, die durch diesen Vergleich unterstrichen wird, ist, dass wir die vorhandenen Assets nicht als selbstverständlich ansehen können. So sehr wir die Tatsache genießen mögen, dass Maschinen bereit sind, Entscheidungen in unserem Namen zu treffen, ein Front-End-Workflow ist immer noch überwiegend eine subjektive Aufgabe und beeinflusst, wie wir unsere Arbeit machen.
Ein Nebeneffekt des automatisch hinzugefügten
<desc>-Attributs von Sketch und Figma ist, dass Screenreader diesen Inhalt für Benutzer vorlesen. Wenn Sie also unveränderte Dateien von diesen beiden verwenden, erhalten sehbehinderte Benutzer Standardwerbung für die Produkte für jedes SVG, das in Ihrem endgültigen Layout enthalten ist.Was? Keine Liebe für Inkscape? :(
Es gibt sehr feine detaillierte Kontrollen darüber, wie das SVG aufgebaut wird. Und es ist Open Source / kostenlos. :)
Hier ist eine Zusammenfassung. Ich habe eine Speichern unter > Optimiertes SVG (Standardeinstellungen) durchgeführt
Größe: 667 Bytes
Ich bin nicht schlau genug, um den Rest herauszufinden. :) Aber es ist ziemlich sauber, sogar mit weißem Leerzeichen. Prost!
Für alle, die in Sketch SVG exportieren, empfehle ich die von ihnen entwickelte Compressor-Erweiterung.
https://github.com/BohemianCoding/svgo-compressor
Es kann sehr nützlich sein, um all den unnötigen zusätzlichen Müll wie IDs usw. zu entfernen, und am Ende haben Sie mehr Kontrolle als Illustrator beim Export.
Dasselbe Bild, handcodiert
Ja! So macht man das – und jetzt optimiert mit SVGOMG ist es nur noch 154 Bytes :)
Das (oder zwei
<rect>s) wäre meine Präferenz für diese Übung, aber ich bin altmodisch. :)Obwohl die meisten SVG-Sachen, an denen ich arbeite, konzeptionell sehr einfach sind.
Minifiziert sind es 154 Bytes.
Haha, ja! Eine handcodierte Version in meinen Vergleich aufzunehmen, hätte den Punkt, dass SVG letztendlich Code ist und wir uns nicht immer auf das verlassen können, was uns Software generiert, wirklich unterstrichen.
Sobald ich das Bild oben sah, kam mir dieser Code in den Sinn. Dann sah ich, dass Polygone und Gruppen verwendet wurden, und dachte: „Das ist nicht richtig“.
So befriedigend!
Warum nicht
anstattdessen?
Das hat das + als einzelnes Element und verwendet eine 100x100-Leinwand (einfach mit Prozentwerten) anstelle von 96x96 mit einem Offset von -16.
Es ist auch etwas kleiner. Standardmäßig 234b statt 237b und minifiziert auf 147 Bytes oder 141 Bytes, wenn Sie die Leinwand verkleinern. Oder 144 Bytes, wenn Sie es zu 16x16 für Icons/Skalierung machen möchten.
Geoff, danke für den Artikel. Sie erwähnen: „Anwendungen waren typischerweise konsistent beim Speichern von JPGs, PNGs und GIFs, vielleicht mit geringfügigen Unterschieden in der Gesamtdateigröße.“ Ich würde dem widersprechen. Ich habe festgestellt, dass es *viele* Inkonsistenzen bei der Dateigröße gibt (manchmal riesig), abhängig vom Dateityp und den Ausgabeoptionen (sogar/insbesondere mit Standardeinstellungen der App) der Quellanwendung. SVG scheint hier keine Ausnahme zu sein – insbesondere je nach Benutzer und wie er den Gesamtaufbau der Grafik angeht.
Außerdem – ein schneller Durchlauf mit Ihren Quellenausgaben der drei Apps in SVGOMG (mit Standardeinstellungen) liefert uns sehr unterschiedliche Ergebnisse und zeigt nun, dass Sketch die kleinste Dateigröße gegenüber AI erzielt. https://jakearchibald.github.io/svgomg/
Illustrator: 311 Bytes
Sketch: 244 Bytes
Figma: 411 Bytes
Nach der Optimierung mit SVGOMG hat die Ausgabe von Sketch die kleinste Dateigröße (338 Bytes) im Vergleich zu Illustrator (510 Bytes) und Figma (759 Bytes).
Illustrator
Sketch
Figma
Vielleicht hatten Sie und ich unterschiedliche Erfahrungen beim Exportieren von Dateien aus Anwendungen. Nach meiner Erfahrung waren nie zwei exportierte Dateien gleich. Sie mögen „visuell“ sehr ähnlich aussehen (genau wie SVG), aber der zugrunde liegende Code ist sehr unterschiedlich. Transparenzen werden oft unterschiedlich behandelt, Farbabstimmung ist eine Qual, Metadaten werden hinzugefügt/entfernt/geändert und so weiter.
Der Unterschied ist, dass wir uns bei SVG eher auf den zugrunde liegenden Code verlassen werden als bei JPEG. Also bemerken wir jetzt, dass nicht alle schwarzen Kreise gleich sein mögen.
Und hier ist das Ergebnis mit Affinity Designer SVG-Export
Größe: 726 Bytes
und der dazugehörige Code
Vielen Dank für diese interessante Vergleichssitzung!
Hier ist meine Einschätzung zu diesem SVG-Aufbau mit Affinity Designer.
Abhängig von Ihren Einstellungen exportiert Illustrator tatsächlich Breite & Höhe.
•
<g>wenn etwas gruppiert ist•
<defs>bei Verwendung von CSS-Styling für Klassennamen• Breite & Höhe, wenn „responsive“ Einstellungen deaktiviert sind
Ich finde Illustrator persönlich am flexibelsten von allen.
Durch Reduzierung der Abmessungen auf die kleinsten ganzen Zahlen können Sie noch mehr Dateigröße einsparen. Da es sich um SVG handelt, können Sie es problemlos wieder hochskalieren!
Es ist keine große Überraschung, dass Sketch das Rennen bei der minifizierten Größe gewinnt, wie andere Kommentatoren bemerkt haben, da es die einzige der drei Anwendungen ist, die tatsächlich das
<circle>-Primitive in ihrem Ausgabe-Code verwendet hat. Es gibt keine effizientere Möglichkeit, einen Kreis zu definieren, als mit<circle>.Tatsächlich ist die unminifizierte Ausgabe von Sketch nur deshalb hinter Illustrator, weil sie so viel Platz mit einigen seltsamen Entscheidungen *verschwendet*. Die Verwendung von expliziten
<open>und</close>-Tags für alle Markup ist besonders seltsam, da SVG ausgiebig leere Elemente verwendet, die als<tag />geschrieben werden könnten (wie es beide anderen Anwendungen tun). Aber es gibt auch die Einbeziehung dieses überflüssigen leeren<defs></defs>-Abschnitts. Ich nehme an, beide könnten durch einen vorlagenbasierten Generator erklärt werden, der einfach nicht für leere Elemente oder unnötige Container optimiert, aber ich frage mich irgendwie, ob es eine Art Kompatibilitätsgrund hinter diesen Entscheidungen gibt, insbesondere<defs></defs>.Unabhängig davon ist all das nur „Verpackung“ – in Bezug auf die tatsächlichen *Code*-Abschnitte des Ergebnisses ist der Sketch-Code bei weitem die *effizienteste* Darstellung der Zeichnung. Wenn ein Kreis nicht als
<circle>bezeichnet wird, müssen die anderen beiden ihn mit relativ komplexen Strukturen fälschen. (Sie haben jedoch nicht genau gesagt, *wie* Sie den Kreis in jeder Anwendung erstellt haben, was die Generierung der Ausgabe beeinflussen könnte. Vielleicht geben Illustrator und Figma unter den richtigen Umständen<circle />-Tags aus.)Ich weiß, dass Sie von Anfang an sagten, dass „sich dieser Beitrag überhaupt nicht um den ‚besten‘ Export kümmert“, aber die Einbeziehung der Dateigröße in die Vergleichstabelle lädt irgendwie zum Ranking der Ergebnisse ein. Daher dachte ich, es lohnt sich anzuerkennen, dass die Ausgabe von Sketch tatsächlich ziemlich nahe an dem liegt, was jemand von Hand codieren würde, um dasselbe Ergebnis zu erzielen. Zumindest aus diesem einen Test ist die Ausgabe von Sketch leicht am optimierbarsten (wie die Tests von Kommentatoren bestätigt haben) – auch wenn ihr eigener SVG-Code-Generator in Bezug auf die Effizienz etwas mangelhaft ist.
Eine Sache, die ich im Laufe der Zeit bemerkt habe, ist, dass SVG-Illustrationen erheblich reduziert werden können, wenn man Striche und
viewBoxnutzt. Und im Allgemeinen kann Code reduziert werden, wenn man die Standardeinstellungen nutzt.Ich habe eine handcodierte Version in unter 140 Bytes auf diese Weise erstellt. Könnte in einen Tweet passen
Neue Idee!
SVG-Golf
Man erhält eine Vektorgrafik eines Minigolf-Loches und muss es mit dem kleinsten Code reproduzieren.
Die drei SVGs vergleichen nicht Äpfel mit Äpfeln. Die Illustrator-Version hat zwei schwarze Kreise und ein weißes Kreuz, die Sketch-Version hat einen schwarzen Kreis und ein weißes Kreuz und die Figma-Version hat einen schwarzen Kreis, ein weißes Kreuz und zwei hellgraue Quadrate. Wurden sie so gezeichnet, oder wurden die zusätzlichen Objekte von Illustrator und Figma nur beim Speichern/Exportieren erstellt?
Was es wert ist, ich habe dasselbe Objekt in CorelDRAW erstellt und es wurde mit 1.079 Bytes exportiert. Ich finde es seltsam, dass nur Sketch und CorelDRAW den Kreis als
<circle>exportiert haben.„Ich finde es seltsam, dass nur Sketch und CorelDRAW den Kreis als .“
Ich auch – ich sehe auch, dass Affinity Designer das Kopieren als SVG erlaubt. Hier ist also das Seltsame. Ich habe einen einfachen Kreis erstellt; ihn kopiert und in meinen Editor eingefügt – sie verwenden den Code, der in die Zwischenablage kopiert wurde. Dann habe ich die Datei als SVG gespeichert und war überrascht, dass derselbe Kreis in Daten umgewandelt wurde. Ich vermute, zwei verschiedene Codierungssätze oder zwei verschiedene Entwickler haben an diesen Modulen gearbeitet.
Es ist sicherlich interessant, dass in der Illustrator-Version zwei Kreise vorhanden waren. Ich habe die Quelldatei nicht mehr, habe aber versucht, sie anhand einer Nachzeichnung des Originals neu zu zeichnen, und sie kam dieses Mal mit einem einzigen Pfad heraus. Das reduziert die Größe erheblich. Das muss mein Fehler gewesen sein und ich habe den Vergleichs-Pen aktualisiert. Guter Fang!
Das Figma-Rechteck ergibt irgendwie Sinn, weil es den Rahmen zusammen mit dem Icon exportieren musste. Ich bin sicher, das ist eine Workflow-Präferenz, die geändert werden kann, aber es möchte das standardmäßig einschließen, was ich bei allen dreien getestet habe.
Ich arbeite an der SVG-Import-/Exportfunktion von Figma. Wir wollen viele der SVG-Probleme in einem kommenden Update beheben. Dieses Update wäre schon längst fertig, aber wir waren mit Features wie Komponenten, Prototyping und Entwickler-Übergaben beschäftigt.
In SVG sind „defs“ und „symbols“ eine Möglichkeit, die Szene zu deduplizieren und Daten zu organisieren. Bei trivialen Beispielen fügen die defs-Blöcke mehr Code hinzu. Figma exportiert jedoch wesentlich komplexere Inhalte, aber man könnte argumentieren, dass der Icon-Fall stärker optimiert werden könnte.
Es gibt zwei Hauptbeitragende zu Textinhalten in SVG-Dateien, die den meisten XML-Text erzeugen. Die ersten sind eingebettete Bilder (base64-kodiert). Die zweiten sind Pfade, und Primitive sind nur eine Abkürzung zur Angabe eines Pfades. SVG „polygon“ ist nur ein Pfad ohne Kurven.
Bei einigen der ersten SVG-Exporte, die ich von Design-Tools gesehen habe, waren Bilder und Pfade nicht einmal in defs-Blöcken. Das gleiche 4MB-Bild wurde 20 Mal in einer Datei als Base64 eingebettet (wodurch es auf 10MB anstieg). Pfade wurden wiederholt inline gesetzt, was die Stil-Daten schwer lesbar machte. Illustrator geht einen Schritt weiter und hat die Option, den Stil in einem „style“-Block zu isolieren, was nur defs für Stile sind.
Sie können alle möglichen Dinge inline setzen, um die Dateien zu optimieren, aber das hat Nachteile. Trivialbeispiele wie diese vermitteln nicht die Komprimierung von deduplizierten Daten oder die Bequemlichkeit, von Hand Daten zu ändern, die über ein Dokument dedupliziert wurden. SVG ist letztendlich kein menschenlesbares oder menschlich modifizierbares Format für die von mir exportierten Szenen.
Die Quintessenz ist also, dass man nicht vollständig für die endgültige Dateigröße, Lesbarkeit, Übertragung und Wiedergabe optimieren kann, ohne einen Aspekt dieser vier Dinge zu kompromittieren. Im Fall von Figma haben wir derzeit (und ich betone das) nur eine einzige Exporteinstellung, die versuchen muss, diese vier Dinge zu optimieren.
Ich möchte auch erwähnen, dass SVG seit 20 Jahren nicht mehr verändert wurde. Wir sind immer noch bei der 1.1-Spezifikation und ich habe kein großes Interesse an einer Weiterentwicklung gesehen. Die Browser haben hier am meisten getan, mit großartigem Import und Rendering. Versuchen Sie dasselbe mit den großen Vektor-Tools, und Sie werden überrascht sein. Ein Test mit allem ist ziemlich aufschlussreich, und die meisten können ihre eigenen SVG-Daten oder die von anderen nicht lesen.
Ich sage gerne, dass SVG ein sehr verlustbehaftetes Format ist, weil die aktuellen Design-Tools alle SVG schlecht importieren. Dies ist eine der größten Einschränkungen, auch wenn Sie schöne SVG-Daten exportieren. Innerer/äußerer Strich existiert in 1.1 nicht, Android Studio parst defs nicht einmal, Illustrator stürzt beim Importieren von SVG-Masken ab, Sketch/Illustrator fügen XML ein, wenn SVG auf der Zwischenablage ist, Gradient-/Bildtransformationen werden nicht importiert, Muster werden übersprungen usw.
Ich bin hoffnungsvoll, da Xcode 9 SVG endlich unterstützt. Es ist ein vernünftiges Vektorformat für einige Dinge, aber Vektor-Tools haben sich zu einem reichhaltigeren Datensatz wie Vektornetzwerken in Figma entwickelt. SVG hat ein Effektsystem, das im Vergleich zu PDF großartig ist. PDF wurde nicht wirklich mit Transparenz oder Bildschirmdesign im Sinn erstellt. Es ist immer noch an den Druck gebunden. Es braucht ein besseres Vektorformat, und wir hoffen, dass Figma dies lösen kann.
Als ich zum ersten Mal auf die Idee stieß, Vektorformate in Browsern zu verwenden, musste ich mich mit VML auseinandersetzen und dann, da es die großen Browserkriege waren, habe ich es nur für bestimmte Szenarien gelernt und verwendet (wie z. B. für Unternehmensdesktops, auf denen Sie garantiert einen IE4- oder 5-Browser hatten). Dann gab es eine riesige Lücke, bevor SVG von den offenen Browsern unterstützt wurde. Ich denke, deshalb hat sich die Spezifikation nicht weiterentwickelt: Es gab keinen Grund dafür.
Heutzutage, wo jeder Schriften für Icons verwendet, und selbst diese tendieren langsam zu SVG wegen der Einfachheit von Modifikationen, Farbgebung oder Variationen. Es ist kein Wunder, dass sich Tools nicht auf das Format selbst oder die Steigerung seiner Möglichkeiten konzentriert haben. Was die Leute damit machen können, ist ziemlich beeindruckend, auch wenn wir uns wünschen würden, wir hätten stapelbare Striche, animierbare Filter, bessere Maskeneigenschaften und so weiter.
Ich schätze, die richtige Optimierungsstrategie ist es, so viel wie möglich zu automatisieren und es dann von Hand zu optimieren, bis es innerhalb akzeptabler Grenzen liegt. Wie in den obigen Antworten auf den Thread gezeigt, gibt es viele Gedanken und Variationen dieses speziellen Icons (einige winzig – 140 Bytes waren beeindruckend!). Aber das ist in keiner Weise automatisierbar, da die Anwendung wissen muss, was der Benutzer zu erreichen versucht: Manchmal möchten sie, dass die gesamte Schichtung und Gruppierung im Export enthalten ist, damit sie diese über Stil oder Skript manipulieren können.
Ich muss zugeben, ich hatte noch nie von Figma gehört. Ich habe Illustrator, Inkscape und Graphic und Gimp und einige andere Vektor-Apps auf meiner Entwicklerbox, obwohl ich hauptsächlich ein Coder bin, nur zum Vergleichen und manuellen Optimieren ihrer Exportformate, damit ich Optimierung durchführen kann (weil Designer, meiner Erfahrung nach, es oft nicht tun). Figma sieht für seine Position im Design-Workflow ziemlich cool aus.