복잡한 클라이언트 측 JavaScript 개발과 관련된 다양한 접근 방식과 모범 사례를 이해하려고합니다.
이 클래스의 응용 프로그램에 무거운 AJAX 또는 RIA (Flash / Silverlight와 같은 플러그인은 아님) 레이블을 무엇으로 지정할지 잘 모르겠습니다 . 이러한 특성을 가진 웹 앱을 언급하고 있습니다.
- JavaScript에서 리치 / 네이티브 데스크톱 UX 에뮬레이션
- 서버를 데이터 API (JSON / Html-Templates)로 사용하여 클라이언트 쪽 JS에서 대부분 / 모든 동작을 포함합니다.
이는 UI 렌더링에 웹 서버를 사용하는 것과 대조적으로 모든 HTML을 페이지 새로 고침 모델로 생성합니다.
몇 가지 예는 다음과 같습니다.
- Google 문서 / Gmail
- 마인드 마이스터
- 피벗 추적기
HTML5로 넘어갈 때, 자바 스크립트를 많이 사용하여 이러한 스타일의 RIA 개발을 볼 수 있으며 점점 더 경쟁이 치열 해지고 필요합니다.
질문 : 이런 종류의 무거운 JS 개발을 관리하는 데있어 일반적인 접근 방식은 무엇입니까?
앱이 기능을 확장함에 따라 클라이언트 측 코드는 매우 복잡합니다. 원시 JS를 사용하는 여러 팀에서 개발 노력을 확장하는 데 문제가 있습니다.
Google은 상위 수준 언어 (Java)에서 JS로 컴파일하는 GWT를 구축하여 상위 수준 언어 (Eclipse, 강력한 타이핑, 리팩토링 도구) 및 브라우저 호환성 추상화 및 개발자로부터 떨어진 다른 문제.
C # 용 Script #와 유사한 다른 도구가 있습니다. 이 모든 것이 JS를 IL (중급 언어)의 역할에 더 집중시킵니다. 즉. "당신은 더 이상 그 저수준 언어로 글을 쓰지 않습니다."
그러나이 'JS로 컴파일'만이 유일한 접근법은 아닙니다. GWT가 지배적 인 접근 방법인지 또는 실제로 그것이 될 것인지는 분명하지 않습니다.
사람들이 리치 클라이언트 JavaScript로 무엇을하고 있습니까? 일부 오리엔테이션 질문 :
- 대부분의 상점에서 JS를 수동으로 제작하고 있습니까 (jQuery 등의 라이브러리 위에)?
- 아니면 명확한 모범 사례가없는 많은 다른 접근 방식이 있습니까?
- RIA 규모의 개발을 피하는 대부분의 상점은 더 단순한 개발자 용 서버 측 / 페이지 다시 그리기 모델을 선호합니까? 그렇다면 이것이 지속됩니까?
- JS로 컴파일하는 것이 미래의 트렌드일까요? 아니면 이것이 잘못 가고 있습니까?
- 클라이언트 JS의 복잡성과 리팩토링을 어떻게 관리합니까?
- 팀 간 작업의 모듈화 및 배포?
- MVC / MVP 등과 같은 클라이언트 측 패턴의 적용, 시행 및 테스트
그렇다면이 JavaScript와 HTML5의 미래에 어떤 트렌드가 생길까요?
감사!