Ostatnio się rozglądam, w szczególności niektóre z dostępnych narzędzi MS, i zauważam duży nacisk na narzędzia projektantów i kreatorów. Nie tylko do tworzenia interfejsu użytkownika, ale do wszystkiego.
- Entity Framework ma modelarza
- Usługi RIA mają kreatora DomainService
- Workflow ma cały projektant workflow ... (Nie wiem, tak naprawdę go nie użyłem)
Jest więcej, ale myślę, że masz pomysł. Istnieje wiele narzędzi projektantów. Korzystając z niektórych z nich, stwierdzam, że:
Komplikują sprawy wykraczające poza określone przypadki użycia
(tzn. wszystkie filmy z pokazami technologii)
Ostatnio oceniałem niektóre z tych technologii i próbując z nimi pracować, musiałem dokładnie przeanalizować, co robią dla mnie projektanci, modelerzy i czarodzieje ... w przeciwnym razie zgubię się, gdy będę musiał spróbować coś z tym, co zostało stworzone.
Ostatecznie jest to przypadek, w którym muszę walczyć z narzędziem lub walczyć z jego wydajnością na tyle, że mógłbym po prostu zrobić wszystko sam bez niego - i miałem znacznie lepsze zrozumienie tego, co się dzieje. Uważam to za szczególnie denerwujące w przypadku projektanta Silverlight i kreatora usług domenowych usług RIA.
Czuję, że pytam: „Po co to narzędzie, jeśli muszę odkryć jego wewnętrzne działanie lub ponownie napisać połowę jego wyników, aby go użyć?”
Nie są tak szybkie
Punktem sprzedaży tych narzędzi jest zwiększenie produktywności i ten punkt może z czasem ulec zmianie przy użyciu narzędzia i niekoniecznie dotyczy projektantów interfejsu użytkownika (choć w niektórych przypadkach nadal tak jest -> Patrzę na Ciebie projektantem Silverlight) . Uważam, że mogę włamać się do kodu znacznie szybciej niż przeciągam i upuszczam, zmieniam rozmiar, przenoszę, cokolwiek w projektancie.
Interfejs użytkownika przeszkadza w modelu
Może to tylko ja, ale kiedy używam czegokolwiek, co przypomina narzędzie do projektowania UML, spędzam więcej czasu na układaniu wszystkiego, aby moje linie się nie krzyżowały i aby widzieć to wszystko na ekranie niż modelowanie tego, co ja staram się osiągnąć.
Nie są fajne
Połowę powodu, dla którego koduję życie, to to, że mi się podoba. Klikanie pól wyboru i wybieranie pól kombinowanych, a następnie naprawianie wszystkiego, co się pojawi, nie jest zabawne.
Nie wyglądam na samotnego
Wydaje się, że społeczność też nie chce tych narzędzi. Najlepszy przykład, jaki mogę teraz wymyślić, to Entity Framework Code-First.
Więc pytam:
- Czy narzędzia projektantów faktycznie poprawiają wydajność?
- Czy są zabójcami zabawy?
- Czy „społeczność” faktycznie prosi o więcej narzędzi projektantów, czy też sprzedawcy myślą, że tak jest?