Skip to main content

Εγκαταστάσιμη εφαρμογή (PWA)

cMind εγκαθίσταται σε ένα τηλέφωνο ή desktop σαν ένα εγγενής εφαρμογή — home-screen εικονίδιο, αυτόνομη παράθυρο, κλείστε, και μια φιλική offline σελίδα. Είναι κινητή-πρώτα και πλήρως αποκριτικό. δείτε ui-guidelines.md.

Τι "εγκαταστάσιμη" σημαίνει εδώ — και η ειλικρινής όριο​

Blazor Διακομιστή αποδίδει μέσα ένα ζωντανό SignalR κύκλωμα, έτσι η εφαρμογή δεν μπορώ να τρέξουν πλήρως offline. Τι το PWA παραδίδει:

  • Εγκαταστάσιμη — έγκυρο ιστό δείλιαση + εικονίδια, έτσι πρόγραμμα περιήγησης προσφορά Εγκατάστασης / Προσθήκη σε Home Screen.
  • Εφαρμογή-κοχύλι cached — την υπηρεσία εργάτης caches στατικό περιουσιακά στοιχεία (CSS, εικονίδια, δείλιαση) και δείχνει ένα offline σελίδα όταν η δίκτυο πέσει, αντί ενός πρόγραμμα περιήγησης σφάλμα.
  • Εγγενής αίσθημα — αυτόνομη εμφάνιση, branded θέμα-χρώμα/κατάσταση μπάρα, εφαρμογή εικονίδιο, iOS home-screen εικονίδιο.

Αυτό κάνει δεν παρέχουν offline ενεργοποίησης — αυτό θα απαιτούν Blazor WebAssembly (μια ξεχωριστή μέλλοντα τροχιά). Μην υπόσχονται offline χρήση του ζωντανό δυνατότητες.

Κομμάτια​

ΚομμάτιΌπου
Δείλιαση (δυναμικό, branded)Web/Endpoints/PwaEndpoints.cs → GET /manifest.webmanifest (ανώνυμος)
Εικονίδια (192, 512, 512-maskable, apple-touch-180)Web/wwwroot/icons/
Υπηρεσία εργάτης (εφαρμογή-κοχύλι)Web/wwwroot/service-worker.js
Offline fallback σελίδαWeb/wwwroot/offline.html
Εγγραφή + iOS ετικέτες + εγκατάστασης-εμφάνιση κατάγραφοWeb/Components/App.razor
Διαδρομή σταθερέςCore.Constants.PwaRoutes

Δείλιαση​

Εξυπηρετούμενο δυναμικά από BrandingOptions έτσι ένα reseller προϊόν όνομα, χρώματα και εικονίδια φέρνουν σε το εγκατεστημένο εφαρμογή: όνομα/σύντομη_όνομα από ProductName, περιγραφή, θέμα_χρώμα από AppBarColor, φόντο_χρώμα από BackgroundColor, εμφάνιση: αυτόνομη, και το εικονίδιο σύνολο (incl. ένα maskable 512 για ένα καθαρό Android εικονίδιο). Ανώνυμος — η εγκατάστασης ερώτηση πρέπει εργασία πριν υπογραφή-σε.

Υπηρεσία εργάτης​

Εφαρμογή-κοχύλι μόνο. Αυτό ποτέ intercepts ο Blazor κύκλωμα (/_blazor), πλαίσιο (/_framework), ή SignalR hubs (/hubs) — αυτά είναι πάντα δίκτυο. Πλοήγησης είναι δίκτυο-πρώτα με το offline σελίδα ως fallback. στατικό περιουσιακά στοιχεία (/css, /icons, /_content) είναι κρυφή-πρώτα με φόντο revalidate. Εγγεγραμμένη με updateViaCache: 'none' έτσι εργάτης ενημερώσεις εφαρμόζω αξιόπιστα. Κρυφές είναι versioned (cmind-κοχύλι-v<n>) — bump σε κοχύλι αλλαγές.

iOS​

iOS ignores δείλιαση εικονίδια/κλείστε, έτσι App.razor επίσης εκπέμπει apple-touch-icon και apple-κινητό-ιστό-εφαρμογή-* μετα ετικέτες. iOS έχει χωρίς beforeinstallprompt. χρήστες εγκατάστασης μέσα Safari Προσθήκη σε Home Screen. beforeinstallprompt είναι καταγραφή σε window.deferredInstallPrompt σε Chromium/Android για ένα προσαρμοσμένο εγκατάστασης affordance.

Δοκιμές​

  • E2E — E2ETests/PwaTests.cs: δείλιαση εξυπηρετούμενο με εφαρμογή/δείλιαση+json, δεν-κενό εικονίδια incl. α maskable ένα, εμφάνιση: αυτόνομη, apple-touch-icon συνδέδεται, και την υπηρεσία εργάτης εγγράφεται + ενεργοποιεί. MobileLayoutTests / MobileDialogTests κάλυπτος τα κινητό κοχύλι το PWA εγκαθίσταται.