Próbuję zrozumieć krajobraz różnych metod oraz najlepszych praktyk, wokół rozwoju złożone po stronie klienta JavaScript.
Nie jestem pewien, co do oznaczania tej klasy aplikacji, a może ciężki AJAX lub RIA (ale nie wtyczek takich jak Flash / Silverlight). Mam na myśli aplikacji internetowych z tych cech:
- Emulate bogaty / rodzimy pulpit UX w JavaScript
- Zawierają większość / wszystkie zachowanie w JS po stronie klienta, korzystając z serwera jako data-API (JSON / HTML szablony).
Jest to w przeciwieństwie do korzystania z serwera WWW dla renderowania UI, produkujących wszystkie HTML w modelu strona odświeżania.
Oto niektóre przykłady:
- Dokumenty Google / Gmail
- Mindmeister
- Pivotal Tracker
Gdy przechodzimy do HTML5, widzę ten styl rozwoju RIA z silnym JavaScript, który staje się coraz bardziej powszechny i niezbędny do konkurowania.
PYTANIE: Jakie są więc wspólne podejście pojawiających się wokół zarządzania tego rodzaju ciężkich JS rozwoju?
kod po stronie klienta, jak aplikacja rośnie w funkcji, jest piekielnie skomplikowana. Są problemy skalowania wysiłków na rzecz rozwoju w wielu zespołach z surowego JS (lub tak słyszę, i może dobrze to uwierzyć).
Google podszedł do problemu, budując GWT, który kompiluje z języka wyższego poziomu (Java) do JS, bazując na istniejącej infrastrukturze programistycznej, którą posiada język wyższego poziomu (Eclipse, narzędzia do silnego pisania, refaktoryzacji), a także abstrakcyjnie kompatybilność przeglądarki i inne problemy z dala od programisty.
Są też inne narzędzia, takie jak Script # dla C #, które robią coś podobnego. Wszystkie te JS stawia bardziej w roli IL (Intermediate Language). to znaczy. „Nigdy naprawdę pisać w tym języku niskiego poziomu«»już.”
Ale ta „kompilacji do JS” nie jest jedynym rozwiązaniem. To nie jest oczywiste, że GWT jest dominującym podejściem ... czy rzeczywiście będzie go stać.
Co ludzie robią z bogatych klienta JavaScript? Niektóre pytania orientowania:
- Czy większość sklepów rzemiosła ręcznego JS (jQuery szczycie libs jak inni)?
- Czy są tam wiele wiele różnych podejść, bez wyraźnego najlepszych praktyk pojawiających?
- Czy większość sklepów unikanie rozwój skalę RIA na korzyść prostsze programista po stronie serwera / model widoku-przerysem? Jeśli tak, to potrwa?
- Kompiluje do JS może nowy trend przyszłość? Czy jest to po prostu źle na czele?
- Jak zarządzać ich złożoność i refactoring klienta JS?
- Modularyzacja i podział pracy między zespołami?
- Aplikacja, wykonanie i testowanie wzorów po stronie klienta, jak MVC / MVP itd.
Więc, jakie są pojawiające się trendy w tej przyszłości grubym JavaScript i HTML5 z naszych?
Dzięki!