App Center Diagnostics je výkonný nástroj na monitorovanie zlyhaní a chýb aplikácií, ktorý poskytuje cenné informácie o výkone aplikácií. Vďaka svojmu blížiacemu sa dôchodku však vývojári hľadajú alternatívne diagnostické nástroje, najmä pre aplikácie MVVMCross. Tu je porovnanie diagnostiky centra aplikácií s inými nástrojmi:
Diagnostika App Center
Diagnostika aplikácie App Center ponúka robustné funkcie na monitorovanie zdravia aplikácií vrátane hlásenia havárie a chýb. Podporuje rôzne platformy, ako sú Xamarin, UWP a WPF, vďaka čomu je vhodné pre aplikácie MVVMCross v priebehu platformy. Služba poskytuje podrobné protokoly havárie a správy o chybách, čo vývojárom pomáha rýchlo identifikovať a opraviť problémy. Neposkytuje však spracovanie havárie v reálnom čase a má obmedzenia vlastností chýb a veľkosti protokolov [1] [5].
Insights Application
Aplikácia Insights je ďalší populárny diagnostický nástroj, ktorý poskytuje komplexné možnosti monitorovania vrátane hlásenia havárie a chýb. Dobre sa integruje do služieb Azure, vďaka čomu je ideálny pre aplikácie pomocou služieb Azure Backend. Na rozdiel od aplikácie Center ponúka informácie o aplikácii Insights možnosti monitorovania end-to-end, čo môže byť prospešné pre zložité aplikácie. Môže však vyžadovať ďalšie nastavenie pre mobilné aplikácie v porovnaní s centrom aplikácií [4].
Diagnostika Firebase
Firebase ponúka širokú sadu diagnostických nástrojov vrátane hlásenia havárie a analytiky. Poskytuje informácie o výkone aplikácií a správaní používateľov v reálnom čase, čo môže byť výhodné pre vývojárov, ktorí hľadajú okamžitú spätnú väzbu. Diagnostika Firebase je prísne integrovaná s inými službami Firebase, čo z nej robí dobrú voľbu pre aplikácie, ktoré už používajú Firebase. Nemusí však ponúkať rovnakú úroveň integrácie s nástrojmi Microsoft Tools ako App Center [8].
MVVMCross protokolovanie
Samotný MVVMcross používa Microsoft.extensions.Logging na účely protokolovania, počnúc verziou 8. To umožňuje vývojárom integrovať rôznych poskytovateľov protokolovania tretích strán a ponúka flexibilitu pri výbere diagnostického nástroja, ktorý najlepšie vyhovuje ich potrebám. Aj keď MVVMCross neposkytuje zabudovaný diagnostický nástroj, jeho možnosti protokolovania sa môžu rozšíriť tak, aby pracovali s inými diagnostickými službami [6].
.NET Community Toolkit
Komunitný nástroj .NET poskytuje súbor pomocníkov a rozhrania API, ktoré je možné použiť na rôznych platformách .NET. Aj keď neponúka konkrétne diagnostické nástroje, zahŕňa pomocníkov MVVM, ktorí sa dajú použiť v spojení s inými diagnostickými službami. Táto súbor nástrojov je skôr o vylepšovaní procesu vývoja, a nie o poskytovaní priamych diagnostických schopností [3].
Stručne povedané, Diagnostika App Center Diagnostics je robustný nástroj na hlásenie havárie a chýb, ale je v dôchodku. Vývojári by mali zvážiť alternatívy, ako sú informácie o aplikáciách pre aplikácie integrované do Azure alebo Firebase pre širšie analytické schopnosti. Funkcie protokolovania MVVMCross môžu byť integrované s týmito nástrojmi na vylepšenie diagnostiky pre aplikácie MVVMCross.
Citácie:[1] https://learn.microsoft.com/en-us/appcenter/diagnostics/features
[2] https://www.mvvmcross.com/documentation/getting-started/getting-started
[3] https://devblogs.microsoft.com/dotnet/anouncing-the-dotnet-community-toolkit-800/
[4] https://stackoverflow.com/questions/55116511/should-i-use-application-insights-or-appcenter-diagnostics-for-cordova-apps
[5] https://learn.microsoft.com/en-us/appcenter/diagnostics/
[6] https://www.mvvmcross.com/documentation/funmamentals/logging-new
[7] https://www.hanselman.com/blog/crossplatform-diagnostic-tools-for-net-core
[8] https://www.mm-software.com/en/more-the-tewsroom/detail/google-firebase-vs-microsoft-app-penter/
[9] https://www.andreasnesheim.no/using-app-center-diagnostics-analytics-with-tet-maui/
[10] https://www.mvvmcross.com
[11] https://qualitybytes.de/en/blog/pp-center-retirerement-what-maui-devs-need-to-know/
[12] https://github.com/rogerwcpt/xamarin-mvvvm-frameworks
[13] https://github.com/mvvmcross/mvvmcross/blob/develop/changelog.md