Zum Hauptinhalt springen

Versionierung in Capacitor-Anwendungen

Erhalten Sie die Grundlagen der Versionierung in Capacitor-Anwendungen, einschließlich besten Praktiken für Updates, Synchronisierung und Automatisierung.

Martin Donadieu

Martin Donadieu

Content-Marketing-Manager

Versionierung in Capacitor-Anwendungen

Die Versionierung ist für die Verwaltung von __CAPGO_KEEP_0__-Anwendungen unerlässlich. Capacitor apps. Es stellt sicher, dass Updates reibungslos erfolgen, Änderungen verfolgt und die App zuverlässig auf iOS, Android und Web-Plattformen läuft. Hier ist eine kurze Übersicht:

  • Warum es wichtig ist: Verfolgt Updates, ermöglicht Rollbacks und sichert stabile Bereitstellungen.
  • Semantische Versionsnummerierung: Verwende MAJOR.MINOR.PATCH um Bruchlinien zu kennzeichnen, neue Funktionen oder Bugfixes anzuzeigen.
  • Synchronisierung über Plattformen: Passen die Versionsnummern in package.json, iOS Info.plist, und Android an. build.gradle.
  • Automation: Automatisieren Sie Updates mit npm-Skripten und CI/CD-Tools.
  • Live-Updates: Werkzeuge wie Capgo liefern Updates an 95% der Benutzer innerhalb von 24 Stunden.
  • Beta-Management: Verwenden Sie strukturierte Kanäle für Alpha-, Beta- und Produktionsversionen.

Schnelle Vergleichsmöglichkeit

Funktion Zweck Beispiel
Semantic Versioning Verfolgt Änderungen klar 1.2.3 → 2.0.0
Sync Versions Übereinstimmung über Plattformen npx cap sync
Automation Beschleunigt Versionsupdates npm version patch
Live Updates Schnelle Nutzerakzeptanz Capgo’s 95% in 24 hours
Beta-Kanäle Kontrollierte Testphasen 1.3.0-beta.1

Versionstaggung vereinfacht Anwendungsaktualisierungenerhält sich die Benutzerzufriedenheit und sichert den Entwicklern die Möglichkeit, Releases effektiv zu verwalten.

Wie Sie Ihre Capacitor Projekt automatisch einrichten können

Capacitor Framework Dokumentationswebsite

Versionseinrichtung in Capacitor

Folgen Sie diesen Schritten, um eine konsistente Versionsverwaltung auf allen Plattformen in Ihrem Capacitor-Anwendungsprojekt sicherzustellen.

Version in package.json

Die package.json Datei dient als Hauptquelle für die Versionsdetails Ihrer Anwendung. Hier ist ein Beispiel, wie Sie sie einrichten können:

{
  "name": "your-app-name",
  "version": "1.2.3",
  "private": true,
  "dependencies": {
    "@capacitor/core": "5.5.0",
    "@capacitor/ios": "5.5.0",
    "@capacitor/android": "5.5.0"
  }
}

When aktualisierst du die Versionsnummer, verwende die SemVer-Regeln:

  • Großes Version (1.x.x): Einführt Bruchänderungen.
  • Kleines Version (x.2.x): Fügt neue Funktionen hinzu, die rückwärts kompatibel sind.
  • Patching Version (x.x.3): Behebt Fehler oder macht kleine Verbesserungen.

Versionspflege für Plattformen

Es ist wichtig, die Versionsnummern auf allen Plattformen für eine glatte App-Veröffentlichung zu synchronisieren. Jede Plattform hat ihre eigene Konfigurationsdatei für die Versionsverwaltung:

Plattform Konfigurationsdatei Versionsschlüssel
iOS Info.plist CFBundleShortVersionString
Android build.gradle versionName
Web package.json version

Nachdem Sie die Version in package.json aktualisiert haben, verwenden Sie diesen Befehl, um die Änderungen mit den nativen Plattformkonfigurationen zu synchronisieren:

npx cap sync

Mit Capacitor CLI für die Versionsverwaltung

Die Capacitor CLI bietet hilfreiche Befehle, um Versionen zu verwalten:

# Check the current version of Capacitor
npx cap --version

# Update Capacitor core and platform dependencies
npm install @capacitor/core@latest
npm install @capacitor/ios@latest
npm install @capacitor/android@latest

# Sync version changes to native platforms
npx cap sync

Das Halten Ihrer Capacitor CLI auf dem neuesten Stand sichert die Kompatibilität mit versionsspezifischen Funktionen und reduziert potenzielle Inkonsistenzen. Durch die Befolgung dieser Schritte können Sie eine ordnungsgemäße Versionsverwaltung in Ihrer App sicherstellen.

Semantische Versionierung

Semantische Versionierung Grundlagen

Semantische Versionierung (SemVer) verwendet die Formatierung MAJOR.MINOR.PATCH, wobei jede Komponente einen bestimmten Änderungstyp anzeigt:

Versionskomponente Zweck
MAJOR Einführt in der API bruchbare Änderungen
MINOR Fügt neue Funktionen hinzu, die mit vorherigen Versionen kompatibel bleiben
PATCH Behebt Fehler oder verbessert die Leistung ohne die Kompatibilität zu brechen

Dieses System ermöglicht es Entwicklern, Updates klar zu kommunizieren, während die Kompatibilität zwischen Anwendungsversionen erhalten bleibt. Zum Beispiel beim Wechsel von 1.2.3 bis 2.0.0 zeigt an, dass es sich um große, kompatibilitätsbrechende Updates handelt, die sorgfältig geplant werden müssen.

Wann Versionsnummern aktualisieren

Hier erfahren Sie, wie Sie entscheiden, welche Versionsnummer aktualisiert werden soll:

Update-Typ Wann verwenden Beispiel für Versionsänderung
Große Aktualisierung For breaking API changes or major UI redesigns 1.2.3 → 2.0.0
Kleine Aktualisierung Wenn neue Funktionen eingeführt oder Funktionen als veraltet markiert werden 1.2.3 → 1.3.0
Patch-Aktualisierung Für Bug-Fixes oder kleine Leistungsverbesserungen 1.2.3 → 1.2.4

“Wir praktizieren agiles Entwicklung und @Capgo ist mission-kritisch bei der kontinuierlichen Lieferung an unsere Benutzer!” - Rodrigo Mantica [1]

Kommen wir nun darauf zu sprechen, diese Updates automatisieren zu lassen, um die Release-Verwaltung zu vereinfachen.

Automatisierung von Versionsaktualisierungen

Die Automatisierung von Versionsaktualisierungen Kann Zeit sparen und Fehler in Ihrem Capacitor-Projekt reduzieren. Hier ist, wie Sie es einrichten können:

  1. NPM-Versions-Scripts

Fügen Sie diese Skripte Ihrem package.json Datei hinzu, um Versionen leicht zu verwalten:

{
  "scripts": {
    "version:patch": "npm version patch",
    "version:minor": "npm version minor",
    "version:major": "npm version major"
  }
}
  1. CI/CD-Integration
    Inkorporieren Sie Versionen in Ihren CI/CD-Pipeline. Capgo unterstützt Werkzeuge wie GitHub Actions, GitLab CI, und Jenkins, was es einfach macht, den Prozess zu automatisieren.

“@Capgo is a must-have tool for developers seeking productivity by bypassing lengthy bugfix reviews.” - Bessie Cooper [1]

@__CAPGO_KEEP_0__ ist ein Muss-Werkzeug für Entwickler, die Produktivität durch Umgehung langwieriger Bugfix-Reviews suchen.

Version-Tag-Methode

Git-Versionstags sind eine zuverlässige Möglichkeit, die Veröffentlichungen Capacitor-Apps zu verfolgen. Um klare und informative Tags zu erstellen, kombinieren Sie die semantische Versionsnummerierung mit einer kurzen Beschreibung:

git tag -a v1.2.3 -m "Release v1.2.3: Added offline mode support"

To maintain consistency across your team, use a standardized tagging format:

Tag-Komponente Format Beispiel
Veröffentlichungsversion v[MAJOR].[MINOR].[PATCH] v1.2.3
Betaversion v[VERSION]-beta.[NUMBER] v1.2.3-beta.1
Vorabversion v[VERSION]-rc.[NUMBER] v1.2.3-rc.2

Buildnummerintegration

Die Buildnummern helfen dabei, einzelne Builds innerhalb jeder Version zu verfolgen. Für beide iOS und Android sollte die Buildnummer mit jeder Einreichung erhöht werden:

{
  "ios": {
    "version": "1.2.3",
    "build": "10234"
  },
  "android": {
    "version": "1.2.3",
    "versionCode": "10234"
  }
}

Die Buildnummer sollte immer erhöht werden, selbst wenn die Version gleich bleibt. Dadurch wird jeder App-Store-Einreichung eindeutig zugeordnet, während die Versionsnummerung für die Benutzer klar bleibt.

Beta-Versionen-Verwaltung

Die Verwaltung von Beta-Versionen erfordert einen strukturierten Prozess, um Testbuilds zu verteilen. Capgo’s Kanal-System erleichtert dies mit den folgenden Schritten:

  1. Kanal-Einrichtung

Erstellen Sie separate Kanäle für jede Testphase:

{
  "beta": {
    "version": "1.3.0-beta.1",
    "users": "beta-testers"
  },
  "production": {
    "version": "1.2.3",
    "users": "all"
  }
}
  1. Kontrollieren Sie die Benutzerzugriffe

Konfigurieren Sie die Berechtigungen, um zu bestimmen, wer Zugriff auf Beta-Versionen erhält. Dies sichert nur genehmigte Tester Beta-Versionen, während Produktionsbenutzer stabile Releases erhalten.

  1. Versionenfolge

Verwenden Sie ein klares Versionsfolgesystem, um die Entwicklungsstufen zu verfolgen:

Stufe Versionformat Zweck
Alpha 1.3.0-alpha.1 Interne Tests
Beta 1.3.0-beta.1 Außenstehende Testgruppe
RC (Release Candidate) 1.3.0-rc.1 Abschließende Tests vor der Veröffentlichung
Produktion 1.3.0 Öffentliche Veröffentlichung

Diese Vorgehensweise sichert eine gründliche Testung und glatte Übergänge zwischen den Entwicklungsstufen, wobei die Versionsverwaltung organisiert und transparent bleibt.

Anwendungsversion anzeigen

Die Anzeige genauer Versionsinformationen in Ihrer App ist entscheidend, um Benutzer über Updates zu informieren und diese effektiv zu verwalten.

Version abrufen mit Capacitor

Sie können Versionsdetails mit Capacitor abrufen, indem Sie code verwenden:

import { App } from '@capacitor/app';

async function getAppInfo() {
  const info = await App.getInfo();
  console.log(`Version: ${info.version}`);
  console.log(`Build: ${info.build}`);
}

Für eine strömungsfreie Herangehensweise erstellen Sie eine wiederverwendbare Funktion:

export const getVersionString = async () => {
  const info = await App.getInfo();
  return `v${info.version} (${info.build})`;
};

Diese Funktion vereinfacht den Prozess der Anzeige von Versionsinformationen in der Schnittstelle Ihres Apps.

Version UI-Implementierung

Hier ist ein Beispiel dafür, wie Sie die Versionsanzeige in einem Einstellungs-Komponenten integrieren können:

@Component({
  selector: 'app-settings',
  template: `
    <div class="version-info">
      <span>Version: {{ versionString }}</span>
      <span *ngIf="updateAvailable" class="update-badge">
        Update Available
      </span>
    </div>
  `
})

Gemeinsame Orte, an denen Sie Versionsdetails anzeigen können:

Standort Zweck Implementierung
Einstellungs-Bildschirm Vollversion und Build Detaillierte Versionsinformationen
Über-Bildschirm Grundversion Anzeige Nur Versionnummer
App-Fußzeile Minimalanzeige Kompakter Versionsstring

Zusätzlich zur Anzeige der Versionsinformationen kann die Integration eines Update-Prüfsystems den Benutzererlebnis verbessern.

Update-Prüfsystem

An update check system ensures users have access to the latest features and fixes. Capgo provides real-time notifications and controlled update channels to manage this process:

import { CapacitorUpdater } from '@capgo/capacitor-updater';

async function checkForUpdates() {
  const current = await CapacitorUpdater.current();
  const latest = await CapacitorUpdater.getLatest();

  if (current.version !== latest.version) {
    await CapacitorUpdater.download({
      version: latest.version
    });
  }
}

Capgo bietet Echtzeitbenachrichtigungen und kontrollierte Updatekanäle, um diesen Prozess zu verwalten: [1]

“Wir praktizieren agiles Entwicklung und @__CAPGO_KEEP_0__ ist mission-kritisch bei der ständigen Bereitstellung an unsere Benutzer!” - Rodrigo Mantica

@Component({
  template: `
    <update-modal 
      [version]="newVersion"
      [features]="updateFeatures"
      (updateNow)="performUpdate()"
    />
  `
})

For enterprise apps, Capgo’s channel system allows you to control update distribution:

Für Enterprise-Apps ermöglicht __CAPGO_KEEP_0__'s Kanal-System die Kontrolle der Updateverteilung: Update Typ Zielgruppe
Produktion Stabile Versionen Alle Benutzer
Beta Vorabversionen Testgruppe
Kritisch Notfallkorrekturen Betroffene Benutzer

Mit dieser Methode wird die App- Zuverlässigkeit gewährleistet, während die Update-Leistung über Capgo’s Analytics-Dashboard verfolgt wird.

Version Management Solutions

Los geht es tiefer in die fortschrittlichen Lösungen für die effektive Verwaltung von App-Versionen.

Version Tool Options

Wenn Sie Versionierungs-Tools auswählen, ist es wichtig, sich auf diejenigen zu konzentrieren, die Updates vereinfachen, Ihre code sicherstellen und sowohl App-Store-Veröffentlichungen als auch Live-Updates unterstützen.

Hier sind einige wichtige Funktionen, auf die Sie achten sollten:

Funktion Wichtigkeit Wirkung
Live-Updates Kritisch Minimiert Verzögerungen durch App-Store-Bewertungen
Sicherheit Wichtig Sichert Nutzerdaten und code Integrität
Analytik Wichtig Messung des Erfolgs von Updates und der Nutzerakzeptanz
CI/CD-Integration Nützlich Vereinfacht die Bereitstellungsvorgänge
Kostenoptimierung Strategisch Beeinflusst die langfristige Budgetplanung

Ein hervorstechendes Werkzeug in diesem Bereich ist Capgo, das spezielle Funktionen bietet, die für Capacitor Anwendungen.

Capgo Versionierungsmerkmale

Capgo Live-Update-Dashboard-Interface

Capgo bietet robuste Funktionen für die Versionsverwaltung, einschließlich:

  • 23,5 Mio. erfolgreiche Updates geliefert
  • 95% der Benutzer wurden innerhalb von 24 Stunden aktualisiert
  • 82% globale Erfolgsrate
  • 434 ms Durchschnittszeit für API-Antworten weltweit

Hier ist ein Beispiel dafür, wie Capgo für die Versionsverwaltung verwendet werden kann:

// Capgo version control example
import { CapacitorUpdater } from '@capgo/capacitor-updater';

const versionControl = {
  async checkVersion() {
    const current = await CapacitorUpdater.current();
    return current.version;
  },

  async deployUpdate(version: string) {
    await CapacitorUpdater.setChannel({
      channel: 'production',
      version: version
    });
  }
};

“We are currently giving a try to @Capgo since Appcenter stopped live updates support on hybrid apps and @AppFlow is way too expensive.” - Simon Flack [1]

Wir probieren gerade @__CAPGO_KEEP_0__ aus, seit Appcenter den Live-Update-Service für hybride Apps eingestellt hat und @AppFlow ist viel zu teuer.

Capgo bietet flexible Pläne, um Teams aller Größen zu unterstützen, wodurch die Versionsverwaltung skalierbar und effizient ist.

Teamgröße Plan Schlüsselmerkmale
Einzelentwickler Grundlegende Cloud-Hosting Live-Updates, 1.000 MAU
Kleinere Team (2-5) Maker-Plan 10.000 MAU, 500 GB Bandbreite
Mittleres Team (6-20) Team-Plan 100.000 MAU, Berechtigungen
Unternehmen Benutzerdefinierte PAYG Unbegrenzte MAU, dedizierte Support

Für größere Teams ermöglicht Capgo’s Kanal-System eine genaue Kontrolle über die Versionsveröffentlichung:

const enterpriseVersionControl = {
  channels: {
    production: 'stable-releases',
    beta: 'early-access',
    internal: 'development'
  },

  async deployToChannel(channel: string, version: string) {
    await CapacitorUpdater.setChannel({
      channel: channel,
      version: version
    });
  }
};

“Wir praktizieren agiles Entwicklung und @Capgo ist mission-kritisch bei der ständigen Bereitstellung an unsere Benutzer!” - Rodrigo Mantica [1]

Capgo umfasst auch ein Analytics-Dashboard, um die Versionsanerkennungsraten zu überwachen und potenzielle Probleme frühzeitig zu erkennen. Mit eingebauter Verschlüsselung und anpassbaren Hostingoptionen können Teams die Sicherheit aufrechterhalten, während sie ihre Bereitstellungsvorgänge skalieren.

Fazit

Die Verständigung von Versionsbezeichnungen ist der Schlüssel zum Vereinfachen der Entwicklung- und Bereitstellungsvorgänge. Hier ist eine schnelle Zusammenfassung der wichtigsten Ideen und Schritte, um loszulegen.

Hauptergebnisse

Versionsbezeichnungen helfen Entwicklern, glatte und zuverlässige Updates bereitzustellen. Eine ordnungsgemäße Versionskontrolle bietet klare Vorteile:

Vorteil Wirkung Erfolg
Instant Updates Kürzere Review-Zeiträume Schnellere Nutzerakzeptanz [1]
Versionenverwaltung Bessere code-Verwaltung Höhere Erfolgsraten [1]
Update-Tracking Echtzeit-Monitoring Schnellere Problemlösung [1]
Verteilungs-Kontrolle Zielgerichtete Rollouts Unterstützung für mehrere Plattformen

Diese Ergebnisse unterstreichen die Bedeutung der Verwendung effektiver Werkzeuge zur Versionsverwaltung.

Wie man beginnt

Um diese Vorteile in die Tat umzusetzen, folgen Sie diesen Schritten:

  • Einstellung der Versionsverfolgung: Verwenden Sie semantische Versionsnummern in Ihrem package.json file und integrieren Sie die notwendigen Plugins.
  • Hinzufügen von Aktualisierungsprüfungen: Implementieren Sie Systeme, um Versionen zu überprüfen und zu verfolgen.
  • Konfiguration von Verteilungskanälen: Erstellen Sie separate Umgebungen für Produktion, Beta und Entwicklung.

Ziehen Sie schließlich einen lebendigen Update-System hinzufügen, um sicherzustellen, dass Bereitstellungen sowohl schnell als auch sicher sind.

Bleiben Sie bei Version Tagging in Capacitor Apps

Wenn Sie " Version Tagging in Capacitor Apps zum Planen von Rollbacks und Versionskontrolle verwenden, verbinden Sie es mit " Rollbacks" für die Implementierungsdetails in Rollbacks, " Version Targeting" für die Implementierungsdetails in Version Targeting, " Update Behavior" für die Implementierungsdetails in Update Behavior, " bundle für die Implementierungsdetails im Bundle und Capgo Live Updates für den Produktworkflow in Capgo Live Updates.

Live-Updates für Capacitor-Apps

Wenn ein Bug im Web-Schicht lebt, versenden Sie die Reparatur über Capgo anstatt Tage zu warten, bis die App-Store-Zulassung vorliegt. Die Benutzer erhalten die Aktualisierung im Hintergrund, während native Änderungen im normalen Überprüfungsprozess bleiben.

Los geht's!

Neueste Beiträge aus unserem Blog

Capgo bietet Ihnen die besten Einblicke, die Sie benötigen, um eine wirklich professionelle mobilen App zu erstellen.