Jestem na wczesnym etapie projektowania systemu, który zasadniczo zostanie podzielony na dwie części. Jedna część to usługa, a druga to interfejs z usługą dostarczającą dane poprzez coś takiego jak OData lub XML. Aplikacja będzie oparta na wzorze architektonicznym MVC. W przypadku widoków rozważamy użycie XSLT lub Razor w ASP.NET.
XSLT lub Razor pomogłyby w rozdzieleniu problemów, gdy oryginalny kod XML lub odpowiedź reprezentuje twój model, a XSLT lub „widok Razor” reprezentuje twój widok. W tym przykładzie pomijam kontroler. Wstępna propozycja projektu zaleca XSLT, jednak zasugerowałem użycie Razor zamiast bardziej przyjaznego silnika widoku.
Oto powody, dla których zasugerowałem Razor (C #):
- Łatwiejsza praca i tworzenie bardziej skomplikowanych stron.
- Może łatwo wytwarzać dane wyjściowe inne niż * ML, np. Csv, txt, fdf
- Mniej pełnych szablonów
- Model widoku jest silnie typowany, przy czym XSLT musiałby polegać na konwencji, np. Wartości logicznej lub wartości daty
- Znaczniki są bardziej dostępne, np. Nbsp, normalizacja nowej linii, normalizacja wartości atrybutu, reguły białych znaków
- Wbudowany pomocnik HTML może generować kod sprawdzania poprawności JS na podstawie atrybutów DTO
- Wbudowany pomocnik HTML może generować linki do akcji
Argumenty za XSLT nad brzytwą były następujące:
- XSLT jest standardem i będzie istniał jeszcze wiele lat w przyszłości.
- Trudno jest przypadkowo przenieść logikę do widoku
- Easer dla programistów (z którymi się nie zgadzam).
- Odniósł sukces w niektórych z naszych poprzednich projektów.
- Wartości danych są domyślnie zakodowane w formacie HTML
- Zawsze dobrze wykształcony
Więc szukam agumentów po obu stronach, rekomendacji lub innego doświadczenia dokonującego podobnego wyboru?