Na DevDay 2013 zostałem poproszony o udostępnienie kodu źródłowego do C# Class to Knockout ViewModel, tak więc teraz to czynię. Kod dostępny jest na github. Kod nie należy do najpiękniejszych, ale jeżeli chcecie to dalej rozwijać lub zmienić sobie parametry domyślne, to macie taką możliwość. Kod spokojnie można odpalić u siebie z poziomu VS lub hostować lokalnie w firmie.

Więcej info na temat projektu w moim starym wpisie – Konwerter klas C# do KnockoutJS ViewModel.

W razie jakichkolwiek pytań lub tak zwanych WTF znalezionych w kodzie proszę o kontakt ;)

2 KOMENTARZE

  1. Serwisy WebAPI zwracają nam Jsona a biblioteka ko.mapping przetwarza go na ViewModel więc jeżeli nie boli nas wydajność (generowanie statyczne zawsze będzie szybsze od dynamicznego, jednak pojawia się problem synchronizacji) to jest to lepsze rozwiązanie. Czy jednak czegoś nie łapię?

  2. **@Wojtek**

    tak, jak juz wspomnialem w linkowanym wpisie, caly projekt powstal wtedy kiedy na bibliotect ko.mapping nie mozna bylo polegac. teraz nie wiem czy mozna czy tez nie – masz tam opis dlaczego i przyklady bugow. od wersji do wersji wiem ze to sie zmienialo i powodowalo inne problemy bo kod zakladal cos a oni to zmieniali i nie informowali o tym.

    wrazie co:
    _Wiemy, że istnieje rozszerzenie umożliwiające proste mapowanie JSON na KnockoutJS VM, jednak ma ono swoje wady (lub nie miało bo od dawna nie zaglądałem do niego). Mianowicie nie radziło sobie po którejś aktualizacji z mapowaniem JSON-VM-JSON tablic. Przez to mieliśmy jeszcze większe problemy, próbując to obejść a czasu – na to by przejrzeć kod i go z debugować oraz znaleźć miejsce, w którym błąd występuje – nie było._

    po drugie nie zawzse masz model z jakiegokolwiek wywolania akcji, mozesz miec tak, ze Twoja strona jest nowym modelem ktory chcesz stworzyc i przeslac go na serwer.

    Do tego w zaleznosci od tego jak bardzo masz skomplikwoana aplikacje i jak bardzo chcesz to moc kontrolowac, to generowanie VM sie przydaje zamiast pisania ko.observable, w szzegolnosci iz latwo jest popelnic literowke.

    Do tego, dla mnie poleganie na bilbiotece ko.mapping nie nalezy do lepszego rozwiazania – nie mam na nia wplywu, a juz doswiadczenie pokazalo mi, ze nie mozna na niej polegac.

Comments are closed.