Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Y a-t-il des différences de performance entre les liaisons courantes et les liaisons suisses / Tibet dans Mvvmcross


Y a-t-il des différences de performance entre les liaisons courantes et les liaisons suisses / Tibet dans Mvvmcross


Dans MVVMCross, les liaisons courantes et les liaisons suisses / Tibet sont utilisées pour la liaison des données, mais elles diffèrent dans leur approche et leur utilisation. Bien qu'il n'y ait pas d'informations explicites sur les différences de performance entre ces deux types de liaisons, nous pouvons analyser leurs caractéristiques pour comprendre les implications potentielles:

liaisons courantes

Les liaisons courantes sont une syntaxe basée sur C # qui permet aux développeurs de créer des liaisons dans le code. Cette approche est particulièrement utile sur des plates-formes comme iOS et OSX où les fichiers de mise en page XML ne sont pas facilement éditables par l'homme. Les liaisons courantes fournissent un moyen de type de type de lier les propriétés, ce qui peut aider à réduire les erreurs d'exécution en attrapant les décalages de type au moment de la compilation. Cependant, comme ils sont définis dans le code, ils pourraient nécessiter plus de frais généraux en termes de maintenance du code par rapport aux liaisons déclaratives comme Swiss / Tibet.

reliés Swiss / Tibet

Les liaisons suisses et Tibet sont déclaratives, ce qui signifie qu'elles sont définies dans des formats XML ou String. Ces liaisons sont plus concises et peuvent être facilement intégrées dans les fichiers de mise en page. La syntaxe de liaison du Tibet, en particulier, propose un langage d'expression plus riche avec des fonctionnalités telles que l'appel de convertisseur de valeur de type fonction, les multiples liances et la syntaxe de l'opérateur simple. Cette approche déclarative peut être plus efficace en termes de lisibilité et de maintenabilité du code, car les liaisons sont clairement visibles dans les fichiers de mise en page.

Considérations de performance

Bien qu'il n'y ait pas de données spécifiques sur les différences de performances entre les liaisons courantes et suisses / Tibet, les facteurs suivants pourraient influencer les performances:

- Résolution du temps de compilation par rapport à l'exécution: en général, les liaisons qui sont résolues au temps de compilation (comme certains aspects des liaisons courantes en raison de leur nature sécurisée) peuvent offrir de meilleures performances par rapport à la résolution de l'exécution. Cependant, les liaisons MVVMCross sont généralement résolues au moment de l'exécution.

- Offres de la réflexion: les liaisons fluentes et suisses / tibet utilisent probablement une réflexion pour résoudre les noms de propriétés. Cependant, les liaisons courantes pourraient avoir un léger avantage en raison de leur nature de type type, ce qui réduit potentiellement le besoin d'une réflexion approfondie au moment de l'exécution.

- Complexité des expressions de liaison: les liaisons du Tibet permettent des expressions plus complexes, qui pourraient potentiellement introduire des frais généraux supplémentaires en raison de l'analyse et de l'évaluation de ces expressions. Cependant, cette complexité fournit également des capacités de liaison de données plus puissantes.

En résumé, bien qu'il n'y ait pas de repères de performance explicites comparant les liaisons courantes et suisses / Tibet dans MVVMCROSS, les liaisons courantes peuvent offrir de légers avantages en raison de leur nature de type type et de la réduction potentielle de la réflexion d'exécution. Cependant, la nature déclarative des liaisons suisses / Tibet peut améliorer la lisibilité et la maintenabilité du code, ce qui pourrait indirectement affecter l'efficacité de développement et les performances globales de l'application en réduisant les erreurs et en améliorant la qualité du code. En fin de compte, le choix entre ces méthodes de liaison doit être basé sur les besoins spécifiques du projet, tels que la complexité de l'interface utilisateur, la plate-forme ciblée et la préférence pour les liaisons de code par rapport à des liaisons déclaratives.

Citations:
[1] http://slodge.blogspot.com/2013/06/tibet-binding.html
[2] https://github.com/mvvmcross/mvvmcross/issues/1342
[3] https://learn.microsoft.com/en-us/dotnet/maui/fundamentals/data-binding/compile-bindings?view=net-maui-9.0
[4] https://blog.ostebaronen.dk/2018/01/mvvmcross-binding-target.html
[5] https://stackoverflow.com/questions/46522577/mvvmcross-issues-with-fluent-binding
[6] https://www.reddit.com/r/businessIntelligence/comments/ky0dq9/is_it_a_best_practice_to_connect_with_views/
[7] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[8] https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/august/windows-phone-build-mvvm-apps-with-xamarin-and-mvvmcross
[9] https://www.mvvmcross.com/documentation/fundamentals/value-converters
[10] https://stackoverflow.com/questions/48422489/mvvmcross-tibet-binding-to-viewmodel- self-self