16 Punkte von xguru 2024-02-15 | 3 Kommentare | Auf WhatsApp teilen
  • Sichere und stabile Software-Update-Lösung für macOS
  • Wird seit 2014 entwickelt; ab v2, veröffentlicht 2021, kam Unterstützung für moderne Architekturen hinzu
  • Nahtlos: verwendet den Namen/das Icon der eigenen App, ohne Sparkle gegenüber Nutzern zu erwähnen
  • Sicher: Updates werden mit EdDSA-Signaturen und Apple-Code-Signing verifiziert; ab v2 Unterstützung für Sandbox-Anwendungen
  • Schnell: unterstützt Delta-Updates, die nur geänderte Dateien patchen, sowie atomic-safe Installation
  • Einfache Installation: kein Code in der App nötig, nur statische Dateien auf einem Webserver
  • Anpassbar: unterstützt die Anbindung einer benutzerdefinierten UI für Updates
  • Flexibel: unterstützt Anwendungen, Paket-Installer, Einstellungsfenster und andere Plug-ins; v2 unterstützt Updates externer Bundles
  • Verarbeitet Berechtigungen und Isolation und fordert bei Bedarf automatisch Authentifizierung an
  • Verwendet ein RSS-basiertes Appcast für Release Notes. Appcast ist der De-facto-Standard, der von Drittanbieter-Update-Trackern und Websites unterstützt wird
  • Um einen guten ersten Eindruck zu hinterlassen, bleibt es bis zum zweiten Start verborgen
  • Echtes Self-Updating – Nutzer können wählen, dass alle Updates automatisch im Hintergrund heruntergeladen und installiert werden
  • Kanäle für Beta-Updates verfügbar (ab v2), mit schrittweisem Rollout für Nutzer; Updates können als wichtig oder major markiert werden

3 Kommentare

 
yjiq150 2024-02-15

Es gibt auch eine Open-Source-Implementierung für Windows, die nach dem Funktionsprinzip von Sparkle entwickelt wurde. Sie unterstützt noch nicht alle Funktionen, aber die grundlegenden Features sind vorhanden.

https://winsparkle.org/

 
xguru 2024-02-15

Oh, sehr schön. Vielen Dank für die Info.

 
xguru 2024-02-15

Hacker-News-Kommentare

  • Als Mac-Nutzer verspüre ich Nostalgie für die Zeit, als ich hauptsächlich herunterladbare native Software nutzte und oft Software mit konsistenter UX verwendete.
  • Jedes Mal, wenn das „Update verfügbar“-Modalfenster von Sparkle erscheint, freue ich mich, dass die Software verbessert wird, und lese gern das Changelog. Bei den uneinheitlichen Updatern anderer Software muss man sich in einer anderen UI zurechtfinden und eventuell sofort neu starten, was abschreckend wirkt.
  • Sparkle ist ein Retter, der enorm viel Zeit spart. Als unabhängiger App-Entwickler kann ich mit Sparkle selbstbewusst Releases veröffentlichen, ohne auf App-Store-Reviews warten zu müssen. Die neue Version mit Delta-Updates und Flags für wichtige Updates ist erstaunlich und perfekt.
  • Das erinnert mich an Growl. (offizielle Growl-Website)
  • Vor etwa 15 Jahren, als Sparkle veröffentlicht wurde, entwickelte ich zwei unabhängige Mac-Apps. Es machte Freude, es dem Projekt hinzuzufügen, es war ein Vorbild, um großartige Cocoa-Framework-Programmierung zu lernen, und als Nutzer bin ich immer noch zufrieden. Ein großer unabhängiger Erfolg auf dem Mac.
  • Inzwischen führe ich brew update; brew upgrade aus, um alles zu aktualisieren, einschließlich Casks.
  • Ich verwende Sparkle seit fast 15 Jahren in meiner App und habe Hunderte Millionen Updates ausgeliefert. Es hat immer perfekt funktioniert, ist ein wirklich großartiges Projekt und weiterhin sehr aktiv.
  • Ich habe den Screenshot in der README.md sofort erkannt. Dank dieses Threads kenne ich jetzt den Namen der Software, die vielen Apps, die ich täglich nutze, Updates bereitstellt. Großen Dank an alle, die zu Sparkle beigetragen haben.
  • Ich frage mich, ob es ein Update-System wie Sparkle gibt, das sowohl auf Mac als auch auf Windows läuft (ich entwickle Software mit C++/Qt). Wäre es möglich, nicht für jedes OS ein separates System integrieren zu müssen? Ich mache mir außerdem Sorgen, dass ein Update-Framework ein Einfallstor für böswilliges Verhalten sein könnte.
  • Dies ist ein Artikel darüber, wie man Sparkle in der eigenen Anwendung einrichtet. Ich glaube, ich habe ihn in einem früheren Sparkle-Thread gefunden. (Artikel auf troz.net zur Einrichtung von Sparkle)