Po obejrzeniu Channel 9's video na F # Type Providers, zastanawiam się nad zmianami w schemacie danych. Don dotknął tego trochę na końcu, ale szukam więcej szczegółów.Co się dzieje, gdy dostawcy typu zmieniają się w F #?
Demo sprawiało wrażenie, jakbyś naciskał "." aby sprawdzić, jakie dane są dla Ciebie dostępne. Po połączeniu z, powiedzmy, przestępczością w USA w 2008 roku, co się dzieje, gdy rozpowszechniasz swoją aplikację i zmiany schematu? Czy pojawiają się błędy typu środowiska wykonawczego? Czy to deweloper jest odpowiedzialny za obsługę tych błędów?
Co więcej, czy to powoduje, że odpowiedzialność w rękach dostawcy typu?
Obecnie po pobraniu zestawu .NET wiadomo, że nigdy się nie zmieni, dopóki użytkownik (ręcznie lub za pośrednictwem usługi) nie zaktualizuje go jawnie. Błędy kompilacji od ewoluujących typów muszą zostać rozwiązane, ale zawsze możesz wstrzymać aktualizację, aż będziesz gotowy na zmianę. Z dostawcami typów, czy trzeba ostrożniej programować przeciwko nim?
Jak mówi Tomas, najważniejszą zmianą jest zmiana schematu w czasie programowania (np. W przypadku "bardzo dynamicznych" danych, takich jak lokalne pliki XML lub arkusze kalkulacyjne, które można edytować lokalnie podczas programowania na ich podstawie). Kłopoty ze zmianami schematu dla wdrożonych aplikacji są dokładnie takie same, z jakimi spotykają się tradycyjne aplikacje, gdzie zazwyczaj (1) wprowadzasz zmiany zgodne z wcześniejszymi wersjami, (2) zachowujesz starą bazę danych/schemat, ale także publikujesz nową (starsze klienty) aplikacje wciąż mówią stare, nowe rozmowy z nowym, które mogą mieć bogatsze/inne dane) lub (3) wdrażają nowe aplikacje klienckie po zmianie schematu. – Brian